ChangeLog-2010-12-06   [plain text]


2010-12-06  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Support focus ring outline color for links.
        https://bugs.webkit.org/show_bug.cgi?id=50428

        Take width and offset into account when drawing focus ring.

        Tests: fast/css/focus-ring-outline-color.html
               fast/css/focus-ring-outline-offset.html
               fast/css/focus-ring-outline-width.html

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

2010-12-06  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Fix focus ring outline color support
        https://bugs.webkit.org/show_bug.cgi?id=50325

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

        Take the outline width into account when drawing the focus ring of image map.
        Change the outline-style from dotted to solid. The default outline-width is 
        5 pixels, and dotted lines just don't make sense anymore.
        Give the focus ring alpha of 50%, following what other ports do.
        Save and restore the pen when drawing a focus ring.

2010-12-06  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][V8] Build fix after r73283.

        No new tests needed.

        * WebCore.pri: Add missing webaudio directory
        to IDL generator includes.

2010-12-06  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [soup] implement ResourceHandle::platformSetDefersLoading
        https://bugs.webkit.org/show_bug.cgi?id=44158

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
        using the soup_session_{,un}pause_message APIs.

2010-12-06  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Leak in webkit_soup_cache_load if file contents load fails
        https://bugs.webkit.org/show_bug.cgi?id=50558

        g_file_get_contents() could return an error after allocating a
        buffer for file contents. We must free that memory before
        returning.

        * platform/network/soup/cache/webkit/soup-cache.c:
        (webkit_soup_cache_load): Added a missing g_free().

2010-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73351.
        http://trac.webkit.org/changeset/73351
        https://bugs.webkit.org/show_bug.cgi?id=50560

        "The change broke plugin tests in Chromium" (Requested by
        yurys on #webkit).

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::toScriptCallFrame):
        (WebCore::toScriptCallFramesVector):
        (WebCore::createScriptCallStack):
        (WebCore::ScriptCallStack::stackTrace):
        * 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):

2010-12-06  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Report zero width for zero size fonts

        Report zero width when font size is zero.

        Fixes fast/text/font-size-zero.html

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

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::floatWidthForSimpleText):
        (WebCore::Font::floatWidthForComplexText):

2010-12-03  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):

2010-12-06  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] webkit_soup_cache_clear() does not delete all entries in the cache
        https://bugs.webkit.org/show_bug.cgi?id=50462

        Do not use g_hash_table_foreach to remove entries from the cache
        entries hashtable. Iterate over a list of entries to remove them
        from the hash table.

        * platform/network/soup/ResourceHandleSoup.cpp:
        * platform/network/soup/cache/webkit/soup-cache.c:
        (remove_cache_item):
        (webkit_soup_cache_finalize):
        (clear_cache_item):
        (webkit_soup_cache_clear):

2010-12-05  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2010-11-30  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Darin Adler.

        HTML5 <details> and <summary> initial implementation
        https://bugs.webkit.org/show_bug.cgi?id=50309

        HTML5 <details> and <summary> elements initial implementation. The main objective is
        to add the files for html element and renderers, and to get rid of build system issues
        in future patches.

        See: http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
             http://www.w3.org/TR/html5/interactive-elements.html#the-summary-element

        build systems

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:

        Some css properties to the new html elements.

        * css/html.css:
        (details):
        (summary):

        New html element associated with the corresponding tag.

        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:

        1 html element and 3 renderers were added.

        * html/HTMLDetailsElement.cpp: Added.
        * html/HTMLDetailsElement.h: Added.
        * html/HTMLDetailsElement.idl: Added.
        * html/HTMLElementsAllInOne.cpp:
        * rendering/RenderDetails.cpp: Added.
        * rendering/RenderDetails.h: Added.
        * rendering/RenderDetailsMarker.cpp: Added.
        * rendering/RenderDetailsMarker.h: Added.
        * rendering/RenderSummary.cpp: Added.
        * rendering/RenderSummary.h: Added.
        * rendering/RenderingAllInOne.cpp:

        New renderer type checkers.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isDetails):
        (WebCore::RenderObject::isDetailsMarker):
        (WebCore::RenderObject::isSummary):

2010-12-05  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Nikolas Zimmermann.

        createSVGTransformFromMatrix(undefined) => NULL ptr
        https://bugs.webkit.org/show_bug.cgi?id=49564

        Throw TYPE_MISMATCH_ERR when using undefined or null as value for matrix parameter.

        * svg/SVGTransformList.idl:
        * svg/properties/SVGTransformListPropertyTearOff.h:
        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):

2010-12-05  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix compilation warnings reported by clang
        https://bugs.webkit.org/show_bug.cgi?id=50252

        * platform/graphics/Path.h: CairoPath is now a class, not a
        struct.
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback): Cast the status_code to int.

2010-12-05  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Remove setColor functions it was replicated in
        CairoUtilities: setSourceRGBAFromColor.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::setPlatformFill):
        (WebCore::setPlatformStroke):
        (WebCore::fillRectSourceOver):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::fillRoundedRect):

2010-12-05  Adam Roben  <aroben@apple.com>

        Windows production build fix

        Put spaces after trailing backslashes when setting
        %WebKitVSPropsRedirectionDir%. According to MSDN
        <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:

           A backslash ( \ ) followed by a newline character is interpreted as
           a space in the command; use a backslash at the end of a line to
           continue a command onto the next line. NMAKE interprets the
           backslash literally if any other character, including a space or
           tab, follows the backslash.

        * WebCore.vcproj/WebCore.make:

2010-12-05  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Zero-sized font does not yet work

        Fix fast/text/font-size-zero.html

        Copy other ports by setting minimumFontSize to 0 for DRT runs,
        copy a fix to SimpleFontData from chromium/safari, and set font
        size in FontPlatformData to zero if size zero is requested
        and QFont::pixelSize otherwise. (Note that QFont doesn't accept
        a pixel size of zero).

        Also fix QFont::setPixelSize in FontPlatformData to use
        description.computedPixelSize rather than computedSize and
        pixelSize() rather than pointSizeF - since the latter gets
        set to -1 if pixelSize is set at all.

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

        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
        (WebCore::FontPlatformData::pixelSize):
        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformGlyphInit):
        (WebCore::SimpleFontData::platformCharWidthInit):

2010-12-04  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        Add support for lower-armenian and upper-armenian
        https://bugs.webkit.org/show_bug.cgi?id=49641

        Implement support for list-style-types lower-armenian and upper-armenian
        for lowercase Armenian and uppercase Armenian numerals, respectively.

        Tests: fast/lists/w3-css3-lower-armenian.html
               fast/lists/w3-css3-upper-armenian.html

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added enum values LowerArmenian
        and UpperArmenian.
        * css/CSSValueKeywords.in: Added "upper-armenian" and "lower-armenian".
        * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
        * rendering/RenderListMarker.cpp:
        (WebCore::effectiveListMarkerType): Added enum values LowerArmenian
        and UpperArmenian.
        (WebCore::listMarkerSuffix): Ditto.
        (WebCore::listMarkerText): Ditto.
        (WebCore::RenderListMarker::paint): Ditto.
        (WebCore::RenderListMarker::computePreferredLogicalWidths): Ditto.
        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
        * rendering/style/RenderStyleConstants.h: Ditto.

2010-12-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        WebCore part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
        https://bugs.webkit.org/show_bug.cgi?id=50530

        * WebCore.exp.in: Export Range version of countMatchesForText().
        * editing/Editor.cpp:
        (WebCore::isFrameInRange): Added this helper method.
        (WebCore::Editor::countMatchesForText): Added a Range parameter and restricted the result to
        matches that occur in the range.
        * editing/Editor.h:

2010-12-04  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        Implement onload events for <link rel=prefetch>
        https://bugs.webkit.org/show_bug.cgi?id=50187

        Tests: fast/dom/HTMLLinkElement/link-and-subresource-test.html
               fast/dom/HTMLLinkElement/prefetch-onload.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::~HTMLLinkElement):
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::onloadTimerFired):
        (WebCore::HTMLLinkElement::notifyFinished):
        * html/HTMLLinkElement.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::data):

2010-12-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
        https://bugs.webkit.org/show_bug.cgi?id=50451

        GdkDrawable has been removed in GTK+3.x. To cope with this we can
        actually stop using it altogether, since GdkWindow is just a
        typedef for it and that seems to be good enough for us.

        * platform/graphics/GraphicsContext.h: s/GdkDrawable/GdkWindow/.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::gdkWindow): ditto.
        * platform/gtk/GtkVersioning.h: declare GDK_WINDOW_XWINDOW for GTK 3.x builds.
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenAvailableRect): s/GdkDrawable/GdkWindow/.
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::gdkWindow): ditto.
        (WebCore::Widget::setCursor): ditto.
        * platform/gtk/WidgetRenderingContextGtk2.cpp: ditto.

2010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r71934): input event fires twice when editing text inside a text input.
        https://bugs.webkit.org/show_bug.cgi?id=50477

        Now that events escape the shadow DOM boundary, the input event is fired twice
        for each input, once triggered by editing, once triggered by value change.

        Test: fast/forms/text-input-event.html

        * dom/InputElement.cpp:
        (WebCore::InputElement::setValueFromRenderer): Added a check to ensure editable fields
            don't fire an extra input event.

2010-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73302.
        http://trac.webkit.org/changeset/73302
        https://bugs.webkit.org/show_bug.cgi?id=50499

        Causes crashes in debug LayoutTests (Requested by xan_ on
        #webkit).

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderParentObject):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):

2010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Inspector protocol cleanup task.

        The patch has just small renames and adjustments for the protocol things.
        'handler' keyword in idl file was replaced with 'domain'.
        'domain' property was assigned for the each backend to frontend messages.
        At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.

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

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/inspector.js:
        (WebInspector_syncDispatch):

2010-12-03  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Duplicate "!important" for !important properties displayed in the Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=50460

        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/inspector.css:

2010-12-03  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix.

        The JS code generator includes headers unconditionally, so we need
        to generate them unconditionally and disable the feature. The
        WebAudio files hadn't been added to our sources list.

        * GNUmakefile.am:

2010-12-03  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix.

        Try to fix EFL build after r73273.

        * CMakeLists.txt:

2010-12-03  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Include the FrameView widget of a RenderWidget in the accessibility tree.
        https://bugs.webkit.org/show_bug.cgi?id=49106

        Include render widget children in the accessibility tree for not mac webkit ports.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderParentObject):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):

2010-11-30  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Don't clone an anonymous block, instead create a new one in splitBlocks. Also,
        when beforeChild is not in one of our children, then do the processing first
        to get its anonymous container before calling splitBlocks.
        https://bugs.webkit.org/show_bug.cgi?id=49928

        Tests: fast/multicol/span/anonymous-before-child-parent-crash.html
               fast/multicol/span/anonymous-split-block-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitBlocks):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):

2010-12-03  Mark Rowe  <mrowe@apple.com>

        Reviewed by Eric Seidel.

        Animated GIF animates much more slowly in Safari than Firefox
        <rdar://problem/7689300> / <http://webkit.org/b/26455>

        Adopt Firefox's behavior for frame duration clamping. Images that specify a frame duration
        of <= 10ms are treated as having a frame duration of 100ms, while all other images use the
        frame duration that they specify.

        ImageIO currently implements its own clamping of frame durations (<rdar://problem/7689297>)
        which will result in this change having no observable effect on platforms where it is used
        until an updated version of ImageIO becomes available.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::frameDurationAtIndex): Update the formatting of the comment and style
        of the code to match that in ImageSourceCG.
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::frameDurationAtIndex):

2010-12-03  Chris Rogers  <crogers@google.com>

        Unreviewed build fix.

        Fix M_E compile error on Chromium Win
        https://bugs.webkit.org/show_bug.cgi?id=50479

        * platform/audio/AudioUtilities.cpp:
        (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):

2010-12-03  Chris Rogers  <crogers@google.com>

        Unreviewed build fix.

        Try to fix GTK build due to recent web audio makefile changes (disable ENABLE_WEB_AUDIO explicitly)
        https://bugs.webkit.org/show_bug.cgi?id=50478

        * GNUmakefile.am:

2010-12-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dirk Schulze.

        Clean up some text-related code on GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=50464

        Save 8 bytes in GraphicsContextState by rearranging the
        data members to reduce padding.

        * platform/graphics/GraphicsContextPrivate.h:
        (WebCore::GraphicsContextState::GraphicsContextState):

2010-12-03  Simon Fraser  <simon.fraser@apple.com>

        Another Chromium build fix.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):

2010-12-03  Simon Fraser  <simon.fraser@apple.com>

        Fix Chromium build.

        * platform/graphics/skia/PlatformContextSkia.h:

2010-12-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Remove WebCore_IDL_PURE_FILES
        https://bugs.webkit.org/show_bug.cgi?id=50445

        * CMakeLists.txt:

2010-12-03  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        Need to move all code that applies correction into correction panel callback.
        https://bugs.webkit.org/show_bug.cgi?id=50426
        <rdar://problem/8720832>

        No new test, since there's no behavioral change.

        This patch is to prepare WebKit to work with upcoming AppKit changes. The main changes are:
        1. Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
        2. Added more user dictionary learning code.
        3. Removed m_ prefix in all member variables of CorrectionPanelInfo.

        * editing/CorrectionPanelInfo.h: Remove m_ prefix on member variables. Added ReasonForDismissingCorrectionPanel enum type.

        * editing/Editor.cpp: Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
          Adopted new member variable naming in class CorrectionPanelInfo.
        (WebCore::Editor::respondToChangedSelection):
        (WebCore::Editor::~Editor):
        (WebCore::Editor::markMisspellingsAfterTypingToWord):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::correctionPanelTimerFired):
        (WebCore::Editor::handleCorrectionPanelResult):
        (WebCore::Editor::startCorrectionPanelTimer):
        (WebCore::Editor::stopCorrectionPanelTimer):
        (WebCore::Editor::handleCancelOperation):
        (WebCore::Editor::dismissCorrectionPanel):
        (WebCore::Editor::applyCorrectionPanelInfo):

        * editing/Editor.h: Changed signature of dismissCorrectionPanel to use ReasonForDismissingCorrectionPanel.

        * loader/EmptyClients.h: Ditto.
        (WebCore::EmptyEditorClient::dismissCorrectionPanel):

        * page/EditorClient.h: Ditto.

2010-12-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: reveal in elements panel does not switch the panel itself.
        https://bugs.webkit.org/show_bug.cgi?id=50408

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):

2010-12-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Nikolas Zimmermann.

        Clean up some text-related code on GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=50464

        Use defined types for textDrawingMode and it's associated flags.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::textDrawingMode):
        (WebCore::GraphicsContext::setTextDrawingMode):
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::drawGlyphsShadow):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::drawGlyphsShadow):
        (WebCore::Font::drawComplexText):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/openvg/PainterOpenVG.cpp:
        (WebCore::PlatformPainterState::PlatformPainterState):
        (WebCore::PainterOpenVG::textDrawingMode):
        (WebCore::PainterOpenVG::setTextDrawingMode):
        (WebCore::PainterOpenVG::drawText):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::getTextDrawingMode):
        (WebCore::PlatformContextSkia::setTextDrawingMode):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleTextDrawing):
        (WebCore::paintSkiaText):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::setTextDrawingMode):
        (WebCore::TextureMapper::textDrawingMode):
        (WebCore::TextureMapper::TextureMapper):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::drawText):
        * rendering/InlineTextBox.cpp:
        (WebCore::updateGraphicsContext):
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::applyResource):
        * svg/SVGFont.cpp:
        (WebCore::Font::drawTextUsingSVGFont):

2010-12-03  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        First steps to adding web audio files to build systems
        https://bugs.webkit.org/show_bug.cgi?id=49952

        No new tests since audio API is not yet implemented.

        * CMakeLists.txt:
        * DerivedSources.make:
        * ForwardingHeaders/wtf/Complex.h: Added.
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::audioContext):
        * features.pri:
        * page/DOMWindow.idl:
        * platform/audio/HRTFElevation.cpp:

2010-12-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Levin.

        Use String::adopt in TextCodecWinCE::decode
        https://bugs.webkit.org/show_bug.cgi?id=50319

        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::TextCodecWinCE::decode):

2010-12-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
        WebKit2 Authentication Support

        * WebCore.exp.in:

        Expose the AuthenticationClient for WK2 platforms (Windows already does this):
        * platform/network/mac/AuthenticationChallenge.h:
        * platform/network/mac/AuthenticationMac.mm:
        (-[WebCoreAuthenticationClientAsChallengeSender client]):
        (WebCore::AuthenticationChallenge::authenticationClient):

        * platform/network/qt/AuthenticationChallenge.h:
        (WebCore::AuthenticationChallenge::authenticationClient):

2010-12-03  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION: Crash when deleting text after textarea's value is modified on input event
        https://bugs.webkit.org/show_bug.cgi?id=49962

        The crash was caused by TypingCommand::deleteKeyPressed's reusing a typing command for
        textarea's shadow DOM after its input event handler rewrote the value set by the typing command.
        Because the reused typing command's ending selection was pointing at a shadow node
        that has been detached from the document when the event handler set the new value,
        rootEditableElement of the ending selection was null and caused the crash.

        Fixed the bug by updating the ending selection of the last typing command when it differsfrom
        that of the current selection held by the SelectionController in TypingCommand::deleteKeyPressed.
        Also fixed similar bugs in forwardDeleteKeyPressed and insertText, and insertTextRunWithoutNewlines.

        Tests: editing/input/set-value-on-input-and-delete.html
               editing/input/set-value-on-input-and-forward-delete.html
               editing/input/set-value-on-input-and-type-input.html
               editing/input/set-value-on-input-and-type-textarea.html

        * editing/InsertTextCommand.h: Added TypingCommand as a friend because it needs to update selection.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Updates the last typing command's selection as needed.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
        (WebCore::TypingCommand::insertText): Ditto.
        (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection): Added.
        (WebCore::TypingCommand::insertTextRunWithoutNewlines): Updates InsertTextCommand's selection as needed.
        * editing/TypingCommand.h:

2010-12-03  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        Dragging and dropping into an empty document crashes WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=48793

        Remove the assert and update callers to check for a null return value.

        Test: manual-tests/drop-in-empty-doc.html

        * manual-tests/drop-in-empty-doc.html: Added.
        * manual-tests/resources/drop-in-empty-doc.xhtml: Added.
        * page/DragController.cpp:
        (WebCore::elementUnderMouse):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::DragController::concludeEditDrag):

2010-12-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move Inspector generator logic into main CMakeLists.txt file
        https://bugs.webkit.org/show_bug.cgi?id=50445

        * CMakeLists.txt:

2010-12-03 Patrick Gansterer <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move StringWx.cpp into wtf directory
        https://bugs.webkit.org/show_bug.cgi?id=50060

        * WebCore.gypi:
        * platform/text/wx/StringWx.cpp: Removed.

2010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r72783): DOMActivate fires multiple times from input type=file
        https://bugs.webkit.org/show_bug.cgi?id=50396

        Test: fast/events/shadow-boundary-crossing-2.html

        * dom/EventContext.cpp: Reverted changes made in r72783.
        * dom/EventContext.h: Ditto.
        * dom/Node.cpp:
        (WebCore::Node::containsIncludingShadowDOM): Added.
        (WebCore::Node::dispatchGenericEvent): Reverted changes made in r72783.
        * dom/Node.h: Added decl.
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::defaultEventHandler): Reverted changes made in r72783.

2010-12-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move StringBrew.cpp into wtf directory
        https://bugs.webkit.org/show_bug.cgi?id=50058

        * platform/text/brew/StringBrew.cpp: Removed.

2010-12-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move StringHaiku.cpp into wtf directory
        https://bugs.webkit.org/show_bug.cgi?id=50057

        * platform/text/haiku/StringHaiku.cpp: Removed.

2010-12-03  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Sam Weinig.

        Need a WebKit2 Equivalent of WebSecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=50170

        * WebCore.exp.in:
        Export the symbol for SecurityOrigin::createFromDatabaseIdentifier.

2010-12-03  Andras Becsi  <abecsi@inf.u-szeged.hu>

        Unreviewed build fix after r73254.

        [Qt][V8] Add missing headers to $headerIncludes rather than $implIncludes
        because headers are needed by the generated .h files.

        No new tests needed.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        1336 files in WebCore rebuild when you touch SVGNames
        https://bugs.webkit.org/show_bug.cgi?id=42025

        Remove global SVGNames.h dependency, as SVGAnimatedPropertyMacros.h included it.
        This requires to add the SVGNames.h include to lots of cpp files.

        No functional changes, thus no new tests.

        * css/CSSCursorImageValue.cpp:
        * css/CSSFontFaceSource.cpp:
        * dom/Node.cpp:
        * loader/cache/CachedFont.cpp:
        * rendering/RenderSVGResourceClipper.cpp:
        * rendering/RenderSVGResourceFilter.cpp:
        * rendering/RenderSVGTransformableContainer.cpp:
        * rendering/RenderSVGViewportContainer.cpp:
        * rendering/SVGRenderTreeAsText.cpp:
        * rendering/SVGResources.cpp:
        * rendering/svg/RenderSVGTextPath.cpp:
        * rendering/svg/SVGRootInlineBox.cpp:
        * svg/SVGAnimateElement.cpp:
        * svg/SVGAnimateMotionElement.cpp:
        * svg/SVGAnimateTransformElement.cpp:
        * svg/SVGDefsElement.cpp:
        * svg/SVGFEBlendElement.cpp:
        * svg/SVGFEDisplacementMapElement.cpp:
        * svg/SVGFEMergeElement.cpp:
        * svg/SVGFEMergeNodeElement.cpp:
        * svg/SVGFEOffsetElement.cpp:
        * svg/SVGFETileElement.cpp:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFont.cpp:
        * svg/SVGGElement.cpp:
        * svg/SVGImageElement.cpp:
        * svg/SVGLength.cpp:
        * svg/SVGMPathElement.cpp:
        * svg/SVGPathElement.cpp:
        * svg/SVGPathSegList.cpp:
        * svg/SVGStyledTransformableElement.cpp:
        * svg/SVGSymbolElement.cpp:
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextElement.cpp:
        * svg/SVGTextPathElement.cpp:
        * svg/SVGUseElement.cpp:
        * svg/SVGViewSpec.cpp:
        * svg/animation/SMILTimeContainer.cpp:
        * svg/properties/SVGAnimatedPropertyMacros.h:
        * svg/properties/SVGPathSegListPropertyTearOff.cpp:

2010-12-02  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GStreamer] hasVideo/Audio return false until the pipeline reaches PAUSED
        https://bugs.webkit.org/show_bug.cgi?id=50382

        Go to PAUSED even if preload is deactivated. In that case don't
        process the GStreamer state changes until commitLoad() has been
        called. This patch also fixes hasVideo and hasAudio methods,
        making them reactive to the playbin2 audio/video tags-changed
        signals.

        Test: media/controls-without-preload.html

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateMessageCallback):
        (WebCore::mediaPlayerPrivateVideoTagsChangedCallback):
        (WebCore::mediaPlayerPrivateAudioTagsChangedCallback):
        (WebCore::mediaPlayerPrivateAudioTagsChangeTimeoutCallback):
        (WebCore::mediaPlayerPrivateVideoTagsChangeTimeoutCallback):
        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::load):
        (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
        (WebCore::MediaPlayerPrivateGStreamer::videoTagsChanged):
        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoTags):
        (WebCore::MediaPlayerPrivateGStreamer::audioTagsChanged):
        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudioTags):
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
        (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
        (WebCore::MediaPlayerPrivateGStreamer::loadDelayed):

2010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
        https://bugs.webkit.org/show_bug.cgi?id=50440

        Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.

        No functional changes, thus no new tests.

        * svg/SVGAElement.cpp:
        * svg/SVGAElement.h:
        * svg/SVGAnimatedAngle.h:
        * svg/SVGAnimatedBoolean.h:
        * svg/SVGAnimatedInteger.h:
        * svg/SVGAnimatedPreserveAspectRatio.h:
        * svg/SVGAnimatedRect.h:
        * svg/SVGAnimationElement.cpp:
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::calculateDistance):
        (WebCore::SVGAnimationElement::animationPath):
        * svg/SVGCircleElement.cpp:
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        * svg/SVGClipPathElement.h:
        * svg/SVGCursorElement.cpp:
        * svg/SVGCursorElement.h:
        * svg/SVGDefsElement.cpp:
        * svg/SVGDefsElement.h:
        * svg/SVGEllipseElement.cpp:
        * svg/SVGEllipseElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEImageElement.cpp:
        * svg/SVGFEImageElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::firstMissingGlyphElement):
        (WebCore::SVGFontElement::ensureGlyphCache):
        * svg/SVGFontElement.h:
        * svg/SVGForeignObjectElement.cpp:
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.cpp:
        * svg/SVGGElement.h:
        (WebCore::SVGGElement::isShadowTreeContainerElement):
        (WebCore::SVGGElement::isValid):
        * svg/SVGGradientElement.cpp:
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMPathElement.cpp:
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        * svg/SVGPathElement.cpp:
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        * svg/SVGPolyElement.cpp:
        * svg/SVGPolyElement.h:
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::contentScriptType):
        (WebCore::SVGSVGElement::contentStyleType):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        * svg/SVGScriptElement.h:
        * svg/SVGSwitchElement.cpp:
        * svg/SVGSwitchElement.h:
        (WebCore::SVGSwitchElement::isValid):
        * svg/SVGSymbolElement.cpp:
        * svg/SVGSymbolElement.h:
        (WebCore::SVGSymbolElement::rendererIsNeeded):
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextContentElement.h:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.cpp:
        * svg/SVGViewElement.h:
        (WebCore::SVGViewElement::viewTarget):
        (WebCore::SVGViewElement::rendererIsNeeded):
        * svg/SVGViewSpec.cpp:
        * svg/SVGViewSpec.h:
        (WebCore::SVGViewSpec::transform):
        (WebCore::SVGViewSpec::viewTargetString):
        (WebCore::SVGViewSpec::contextElement):
        * svg/properties/SVGAnimatedPropertyMacros.h:

2010-12-03  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Darin Fisher.

        [chromium] PNG encoder leaks memory on png_write_row errors.
        https://bugs.webkit.org/show_bug.cgi?id=50439

        Move the creation of needed C++ objects before the setjmp() point so
        those objects have their destructors called if libpng errors invoke
        the setjmp() return path.
   
        Other minor cleanup: use the skia bitmap locker class, and remove the
        PNGDestroyer class - instead directly call png_destroy_write_struct()
        at each of the encodeImpl() return points.

        No change in behaviour, so no new tests.

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::encodeImpl):
        (WebCore::PNGImageEncoder::encode):

2010-12-02  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        Theme not updated when MediaPlayer m_private engine changes
        https://bugs.webkit.org/show_bug.cgi?id=50228

        Trigger a new rendering of the media element when the private
        media-player backend is updated.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
        * html/HTMLMediaElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::MediaPlayer):
        (WebCore::MediaPlayer::load):
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):

2010-12-03  Yonathan Randolph  <yonathan@gmail.com>

        Reviewed by Alexey Proskuryakov.

        XPath lexer misinterprets expression starting with "div".
        https://bugs.webkit.org/show_bug.cgi?id=50366

        * xml/XPathParser.cpp:
        * xml/XPathParser.h:
        (WebCore::XPath::Parser::isOperatorContext): removed (renamed)
        (WebCore::XPath::Parser::isBinaryOperatorContext): added

2010-12-02  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Alexey Proskuryakov.

        CSS 2.1 failure: at-import-*
        https://bugs.webkit.org/show_bug.cgi?id=47153

        Fix at-import-010.htm by only setting m_allowImportRules
        to false when creating valid style or page rules.
 
         Test: css2.1/t040105-import-10-b.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createStyleRule):

2010-12-02  Aaron Boodman  <aa@chromium.org>

        Reviewed by David Hyatt.

        Reduce the number of cases where we end up with a stale value for
        minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
        large number of cases.

        RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
        https://bugs.webkit.org/show_bug.cgi?id=50119

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

2010-12-02  Gregg Tavares  <gman@google.com>

        Reviewed by David Levin.

        Need to initialize destination variables before calling GL
        https://bugs.webkit.org/show_bug.cgi?id=50048

        No new tests because no change in functionality.

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::cacheActiveAttribLocations):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getBooleanParameter):
        (WebCore::WebGLRenderingContext::getFloatParameter):
        (WebCore::WebGLRenderingContext::getLongParameter):
        (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::loadShader):
        (WebCore::LayerChromium::createShaderProgram):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/Shader.cpp:
        (WebCore::Shader::loadProgram):

2010-12-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Enable Web Timing for Qt
        https://bugs.webkit.org/show_bug.cgi?id=42433

        * features.pri: Enable Web Timing for trunk (but not yet for
          production)

2010-12-02  Andy Estes  <aestes@apple.com>

        Rubber-stamped by Mark Rowe.

        Update bindings test results with new GObject results.

        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (WebKit::kit):
        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (WebKit::kit):
        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        (WebKit::kit):
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (WebKit::kit):
        (webkit_dom_test_obj_obj_method):
        (webkit_dom_test_obj_obj_method_with_args):
        (webkit_dom_test_obj_method_that_requires_all_args):
        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_get_xml_obj_attr):
        * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:

2010-12-02  Simon Fraser  <simon.fraser@apple.com>

        Revert r73217 and r73227 because of continued bustage.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::nativeLayer):
        * platform/graphics/ca/PlatformCAAnimation.h: Removed.
        * platform/graphics/ca/PlatformCALayer.h: Removed.
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Removed.
        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Removed.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::nativeLayer):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/mac/GraphicsLayerMac.h: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
        (WebCore::GraphicsLayerMac::hasContentsLayer):
        (WebCore::GraphicsLayerMac::primaryLayer):
        (WebCore::GraphicsLayerMac::isReplicatedRootClone):
        (WebCore::GraphicsLayerMac::primaryLayerClones):
        (WebCore::GraphicsLayerMac::animationIsRunning):
        (WebCore::GraphicsLayerMac::contentsLayer):
        (WebCore::GraphicsLayerMac::ReplicaState::ReplicaState):
        (WebCore::GraphicsLayerMac::ReplicaState::push):
        (WebCore::GraphicsLayerMac::ReplicaState::setBranchType):
        (WebCore::GraphicsLayerMac::ReplicaState::pop):
        (WebCore::GraphicsLayerMac::ReplicaState::depth):
        (WebCore::GraphicsLayerMac::ReplicaState::replicaDepth):
        (WebCore::GraphicsLayerMac::hasCloneLayers):
        (WebCore::GraphicsLayerMac::LayerPropertyAnimation::LayerPropertyAnimation):
        (WebCore::GraphicsLayerMac::AnimationProcessingAction::AnimationProcessingAction):
        * platform/graphics/mac/GraphicsLayerMac.mm: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
        (WebCore::currentTimeToMediaTime):
        (WebCore::mediaTimeToCurrentTime):
        (-[WebAnimationDelegate animationDidStart:]):
        (-[WebAnimationDelegate WebCore::]):
        (-[WebAnimationDelegate setLayer:WebCore::]):
        (WebCore::copyTransform):
        (WebCore::getTransformFunctionValue):
        (WebCore::getValueFunctionNameForTransformOperation):
        (WebCore::propertyIdToString):
        (WebCore::animationIdentifier):
        (WebCore::getCAMediaTimingFunction):
        (WebCore::setLayerBorderColor):
        (WebCore::clearBorderColor):
        (WebCore::setLayerBackgroundColor):
        (WebCore::clearLayerBackgroundColor):
        (WebCore::safeSetSublayers):
        (WebCore::caValueFunctionSupported):
        (WebCore::forceSoftwareAnimation):
        (WebCore::nullActionsDictionary):
        (WebCore::animationHasStepsTimingFunction):
        (WebCore::GraphicsLayer::create):
        (WebCore::GraphicsLayerMac::GraphicsLayerMac):
        (WebCore::GraphicsLayerMac::~GraphicsLayerMac):
        (WebCore::GraphicsLayerMac::setName):
        (WebCore::GraphicsLayerMac::nativeLayer):
        (WebCore::GraphicsLayerMac::setChildren):
        (WebCore::GraphicsLayerMac::addChild):
        (WebCore::GraphicsLayerMac::addChildAtIndex):
        (WebCore::GraphicsLayerMac::addChildBelow):
        (WebCore::GraphicsLayerMac::addChildAbove):
        (WebCore::GraphicsLayerMac::replaceChild):
        (WebCore::GraphicsLayerMac::removeFromParent):
        (WebCore::GraphicsLayerMac::setMaskLayer):
        (WebCore::GraphicsLayerMac::setReplicatedLayer):
        (WebCore::GraphicsLayerMac::setReplicatedByLayer):
        (WebCore::GraphicsLayerMac::setPosition):
        (WebCore::GraphicsLayerMac::setAnchorPoint):
        (WebCore::GraphicsLayerMac::setSize):
        (WebCore::GraphicsLayerMac::setTransform):
        (WebCore::GraphicsLayerMac::setChildrenTransform):
        (WebCore::GraphicsLayerMac::moveOrCopyLayerAnimation):
        (WebCore::GraphicsLayerMac::moveOrCopyAnimationsForProperty):
        (WebCore::GraphicsLayerMac::setPreserves3D):
        (WebCore::GraphicsLayerMac::setMasksToBounds):
        (WebCore::GraphicsLayerMac::setDrawsContent):
        (WebCore::GraphicsLayerMac::setBackgroundColor):
        (WebCore::GraphicsLayerMac::clearBackgroundColor):
        (WebCore::GraphicsLayerMac::setContentsOpaque):
        (WebCore::GraphicsLayerMac::setBackfaceVisibility):
        (WebCore::GraphicsLayerMac::setOpacity):
        (WebCore::GraphicsLayerMac::setNeedsDisplay):
        (WebCore::GraphicsLayerMac::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerMac::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerMac::setContentsRect):
        (WebCore::GraphicsLayerMac::addAnimation):
        (WebCore::GraphicsLayerMac::pauseAnimation):
        (WebCore::GraphicsLayerMac::removeAnimation):
        (WebCore::GraphicsLayerMac::animationDidStart):
        (WebCore::GraphicsLayerMac::setContentsToImage):
        (WebCore::GraphicsLayerMac::setContentsToMedia):
        (WebCore::GraphicsLayerMac::didDisplay):
        (WebCore::GraphicsLayerMac::syncCompositingState):
        (WebCore::GraphicsLayerMac::syncCompositingStateForThisLayerOnly):
        (WebCore::GraphicsLayerMac::recursiveCommitChanges):
        (WebCore::GraphicsLayerMac::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerMac::commitLayerChangesAfterSublayers):
        (WebCore::GraphicsLayerMac::updateLayerNames):
        (WebCore::GraphicsLayerMac::updateSublayerList):
        (WebCore::GraphicsLayerMac::updateLayerPosition):
        (WebCore::GraphicsLayerMac::updateLayerSize):
        (WebCore::GraphicsLayerMac::updateAnchorPoint):
        (WebCore::GraphicsLayerMac::updateTransform):
        (WebCore::GraphicsLayerMac::updateChildrenTransform):
        (WebCore::GraphicsLayerMac::updateMasksToBounds):
        (WebCore::GraphicsLayerMac::updateContentsOpaque):
        (WebCore::GraphicsLayerMac::updateBackfaceVisibility):
        (WebCore::GraphicsLayerMac::updateStructuralLayer):
        (WebCore::GraphicsLayerMac::ensureStructuralLayer):
        (WebCore::GraphicsLayerMac::structuralLayerPurpose):
        (WebCore::GraphicsLayerMac::updateLayerDrawsContent):
        (WebCore::GraphicsLayerMac::updateLayerBackgroundColor):
        (WebCore::GraphicsLayerMac::updateContentsImage):
        (WebCore::GraphicsLayerMac::updateContentsMediaLayer):
        (WebCore::GraphicsLayerMac::updateContentsCanvasLayer):
        (WebCore::GraphicsLayerMac::updateContentsRect):
        (WebCore::GraphicsLayerMac::updateMaskLayer):
        (WebCore::GraphicsLayerMac::updateReplicatedLayers):
        (WebCore::GraphicsLayerMac::ReplicaState::cloneID):
        (WebCore::GraphicsLayerMac::replicatedLayerRoot):
        (WebCore::GraphicsLayerMac::updateLayerAnimations):
        (WebCore::GraphicsLayerMac::setCAAnimationOnLayer):
        (WebCore::bug7311367Workaround):
        (WebCore::GraphicsLayerMac::removeCAAnimationFromLayer):
        (WebCore::copyAnimationProperties):
        (WebCore::GraphicsLayerMac::pauseCAAnimationOnLayer):
        (WebCore::GraphicsLayerMac::setContentsToCanvas):
        (WebCore::GraphicsLayerMac::repaintLayerDirtyRects):
        (WebCore::GraphicsLayerMac::updateContentsNeedsDisplay):
        (WebCore::GraphicsLayerMac::createAnimationFromKeyframes):
        (WebCore::GraphicsLayerMac::createTransformAnimationsFromKeyframes):
        (WebCore::GraphicsLayerMac::createBasicAnimation):
        (WebCore::GraphicsLayerMac::createKeyframeAnimation):
        (WebCore::GraphicsLayerMac::setupAnimation):
        (WebCore::GraphicsLayerMac::timingFunctionForAnimationValue):
        (WebCore::GraphicsLayerMac::setAnimationEndpoints):
        (WebCore::GraphicsLayerMac::setAnimationKeyframes):
        (WebCore::GraphicsLayerMac::setTransformAnimationEndpoints):
        (WebCore::GraphicsLayerMac::setTransformAnimationKeyframes):
        (WebCore::GraphicsLayerMac::suspendAnimations):
        (WebCore::GraphicsLayerMac::resumeAnimations):
        (WebCore::GraphicsLayerMac::hostLayerForSublayers):
        (WebCore::GraphicsLayerMac::layerForSuperlayer):
        (WebCore::GraphicsLayerMac::animatedLayer):
        (WebCore::GraphicsLayerMac::animatedLayerClones):
        (WebCore::GraphicsLayerMac::platformLayer):
        (WebCore::GraphicsLayerMac::setDebugBackgroundColor):
        (WebCore::GraphicsLayerMac::setDebugBorder):
        (WebCore::GraphicsLayerMac::constrainedSize):
        (WebCore::GraphicsLayerMac::requiresTiledLayer):
        (WebCore::GraphicsLayerMac::swapFromOrToTiledLayer):
        (WebCore::GraphicsLayerMac::defaultContentsOrientation):
        (WebCore::GraphicsLayerMac::updateContentsTransform):
        (WebCore::GraphicsLayerMac::setupContentsLayer):
        (WebCore::GraphicsLayerMac::findOrMakeClone):
        (WebCore::GraphicsLayerMac::ensureCloneLayers):
        (WebCore::GraphicsLayerMac::removeCloneLayers):
        (WebCore::GraphicsLayerMac::positionForCloneRootLayer):
        (WebCore::GraphicsLayerMac::propagateLayerChangeToReplicas):
        (WebCore::GraphicsLayerMac::fetchCloneLayers):
        (WebCore::GraphicsLayerMac::cloneLayer):
        (WebCore::GraphicsLayerMac::setOpacityInternal):
        (WebCore::GraphicsLayerMac::updateOpacityOnLayer):
        (WebCore::GraphicsLayerMac::noteSublayersChanged):
        (WebCore::GraphicsLayerMac::noteLayerPropertyChanged):
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (-[WebLayer initWithLayer:]):
        (-[WebLayer setNeedsDisplay]):
        (-[WebLayer setNeedsDisplayInRect:]):
        (-[WebLayer display]):
        (-[WebLayer drawInContext:]):
        (-[WebLayer setLayerOwner:]):
        (-[WebLayer layerOwner]):
        * platform/graphics/mac/WebTiledLayer.h:
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer initWithLayer:]):
        (-[WebTiledLayer setNeedsDisplay]):
        (-[WebTiledLayer setNeedsDisplayInRect:]):
        (-[WebTiledLayer display]):
        (-[WebTiledLayer drawInContext:]):
        (-[WebTiledLayer setLayerOwner:]):
        (-[WebTiledLayer layerOwner]):
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        (WebCore::GraphicsLayerQt::nativeLayer):
        * platform/graphics/qt/GraphicsLayerQt.h:
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        (WebCore::GraphicsLayerCACF::nativeLayer):
        * platform/graphics/win/GraphicsLayerCACF.h:

2010-12-02  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by David Levin.
        [chromium] Remove dead code from PNG encoder
        https://bugs.webkit.org/show_bug.cgi?id=50377

        Also webkit style the PNG encoder files.

        No change in behaviour, so no new tests.

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::encodeImpl):
        (WebCore::PNGImageEncoder::encode):
        * platform/image-encoders/skia/PNGImageEncoder.h:

2010-12-02  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        An attempt to fix Chromium's clang build.

        Implement (non-EventListener) marquee IDL attributes from HTML5.
        https://bugs.webkit.org/show_bug.cgi?id=49786

        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialMarqueeSpeed):

2010-12-02  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Fix heap snapshots loading. Loading is now
        conducted by the Profiles panel which prevents accidental
        simultaneous attempts to load the same profile several times in
        parallel.

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

        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._loadProfile):
        (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
        (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):

2010-12-02  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Fix Leopard build broken by http://trac.webkit.org/changeset/73217

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::getTransformFunctionValue):
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::valueFunction):
        (PlatformCAAnimation::setValueFunction):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::PlatformCALayer):
        (PlatformCALayer::anchorPoint):
        (PlatformCALayer::setAnchorPoint):
        (PlatformCALayer::contentsTransform):
        (PlatformCALayer::setContentsTransform):
        (PlatformCALayer::isGeometryFlipped):
        (PlatformCALayer::setGeometryFlipped):
        (PlatformCALayer::setMinificationFilter):
        (PlatformCALayer::setMagnificationFilter):

2010-12-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        CSS support for the text-emphasis properties
        Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
        https://bugs.webkit.org/show_bug.cgi?id=48539

        Test: fast/css/parsing-text-emphasis.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added text-emphasis-color,
        text-emphasis-position and text-emphasis-style. Left the text-emphasis shorthand unsupported.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Parse the properties.
        (WebCore::CSSParser::parseTextEmphasisStyle): Added.
        * css/CSSParser.h:
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added TextEmphasisPosition, TextEmphasisFill
        and TextEmphasisMark mappings.
        (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition): Added.
        (WebCore::CSSPrimitiveValue::operator TextEmphasisFill): Added.
        (WebCore::CSSPrimitiveValue::operator TextEmphasisMark): Added.
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap): Added the text-emphasis shorthand.
        * css/CSSPropertyNames.in: Added -webkit-text-emphasis, -webkit-text-emphasis-color,
        -webkit-text-emphasis-position, and -webkit-text-emphasis-style.
        * css/CSSStyleSelector.cpp:
        (WebCore::isValidVisitedLinkProperty): Added text-emphasis-color.
        (WebCore::CSSStyleSelector::applyProperty): Handle the properties.
        * css/CSSValueKeywords.in: Added 'over' and 'under' for text-emphasis-position. Added 'dot',
        'double-circle', 'triangle', 'sesame', 'filled' and 'open' for text-emphasis-style.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::colorIncludingFallback): Handle text-emphasis-color.
        (WebCore::RenderStyle::textEmphasisMark): Added. Maps the fake 'auto' value to 'dot' or
        'sesame' based on writing direction.
        * rendering/style/RenderStyle.h: Added accessors.
        (WebCore::InheritedFlags::textEmphasisFill):
        (WebCore::InheritedFlags::textEmphasisCustomMark):
        (WebCore::InheritedFlags::textEmphasisPosition):
        (WebCore::InheritedFlags::setTextEmphasisColor):
        (WebCore::InheritedFlags::setTextEmphasisFill):
        (WebCore::InheritedFlags::setTextEmphasisMark):
        (WebCore::InheritedFlags::setTextEmphasisCustomMark):
        (WebCore::InheritedFlags::setTextEmphasisPosition):
        (WebCore::InheritedFlags::initialTextEmphasisColor):
        (WebCore::InheritedFlags::initialTextEmphasisFill):
        (WebCore::InheritedFlags::initialTextEmphasisMark):
        (WebCore::InheritedFlags::initialTextEmphasisCustomMark):
        (WebCore::InheritedFlags::initialTextEmphasisPosition):
        (WebCore::InheritedFlags::textEmphasisColor):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:

2010-12-02  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: Added.
        * platform/graphics/ca/GraphicsLayerCA.cpp: Added.
        * platform/graphics/ca/GraphicsLayerCA.h: Added.
        * platform/graphics/ca/PlatformCAAnimation.h: Added.
        * platform/graphics/ca/PlatformCALayer.h: Added.
        * platform/graphics/ca/mac: Added.
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Added.
        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Added.
        * 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:
        * platform/graphics/mac/WebTiledLayer.h:
        * platform/graphics/mac/WebTiledLayer.mm:
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        * platform/graphics/qt/GraphicsLayerQt.h:
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        * platform/graphics/win/GraphicsLayerCACF.h:

2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Update ResourceLoaderSet Enumeration
        https://bugs.webkit.org/show_bug.cgi?id=50405

        Use size_t when working with Vectors and when comparing between size_t types.

        * loader/DocumentLoader.cpp:
        (WebCore::cancelAll):
        (WebCore::setAllDefersLoading):

2010-12-02  Jian Li  <jianli@chromium.org>

        Reviewed by Kenneth Russell.

        Integer calculation issues in DataView constructor
        https://bugs.webkit.org/show_bug.cgi?id=50354

        Test: fast/canvas/webgl/data-view-crash.html

        * html/canvas/DataView.cpp:
        (WebCore::DataView::create):

2010-12-02  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        Add AtomicString::fromUTF8
        https://bugs.webkit.org/show_bug.cgi?id=45594

        Use AtomicString::fromUTF8 directly in the libxml2 parser.

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::toAtomicString):

2010-12-02  Andy Estes  <aestes@apple.com>

        Fix the Qt Linux Release minimal build.

        * html/HTMLMarqueeElement.cpp: Include ExceptionCode.h

2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Update ResourceLoaderSet Enumeration
        https://bugs.webkit.org/show_bug.cgi?id=50405

        * loader/DocumentLoader.cpp:
        (WebCore::cancelAll): instead of copying the HashSet, use copyToVector.
        (WebCore::setAllDefersLoading): instead of copying the HashSet, use copyToVector.

2010-12-02  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        Implement (non-EventListener) marquee IDL attributes from HTML5.
        https://bugs.webkit.org/show_bug.cgi?id=49786

        Test: fast/html/marquee-element.html

        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::scrollAmount): If the content attribute
        can be converted to a signed integer and is >= 0, return it.
        Otherwise, return the default scrollAmount value.
        (WebCore::HTMLMarqueeElement::setScrollAmount): Update the content
        attribute if it is >= 0. Otherwise, raise INDEX_SIZE_ERR.
        (WebCore::HTMLMarqueeElement::scrollDelay): Same as scrollAmount.
        (WebCore::HTMLMarqueeElement::setScrollDelay): Same as setScrollAmount.
        (WebCore::HTMLMarqueeElement::loop): If the content attribute can be
        converted to a signed integer and is greater than 0 or equal to -1,
        return it. Otherwise, return the default loop value.
        (WebCore::HTMLMarqueeElement::setLoop): Update the content attribute if
        it is greater than 0 or equal to -1. Otherwise, raise INDEX_SIZE_ERR.
        * html/HTMLMarqueeElement.h:
        * html/HTMLMarqueeElement.idl: Update the IDL to match what is in HTML5.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialMarqueeSpeed):

2010-12-02  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [OpenVG] Remove "current path" of GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=50294

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/openvg/PainterOpenVG.cpp:
        (WebCore::PainterOpenVG::PainterOpenVG):
        (WebCore::PainterOpenVG::~PainterOpenVG):
        (WebCore::PainterOpenVG::drawPath):
        * platform/graphics/openvg/PainterOpenVG.h:

2010-12-02  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [WINCE] Remove "current path" of GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=50284

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):

2010-12-02  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Set the right gesture status for URL redirections.
        https://bugs.webkit.org/show_bug.cgi?id=47817

        Tests: fast/frames/location-redirect-user-gesture.html
               fast/frames/meta-refresh-user-gesture.html

        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledNavigation::clearUserGesture):
        (WebCore::ScheduledRedirect::ScheduledRedirect):

2010-12-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        AudioContext needs createBuffer() method from ArrayBuffer
        https://bugs.webkit.org/show_bug.cgi?id=50343

        No new tests since audio API is not yet implemented.

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createBuffer):
        * webaudio/AudioContext.h:
        * webaudio/AudioContext.idl:

2010-12-02  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by David Levin.

        [chromium] Add canvas.toDataURL("image/jpeg", quality) support
        https://bugs.webkit.org/show_bug.cgi?id=49365

        Adds a libjpeg-based image encoder for Skia bitmaps.  Default encoding quality
        is 92 to match Mozilla, also Safari, though the actual value used by Safari is
        undocumented, and it appears to pre-blur images prior to compression.

        The preMultipliedBGRAtoRGB() routine restores the un-premultiplied RGB colors
        where there is non-zero alpha.  Again, this matches Firefox and Safari, but no
        browser conforms to the HTML5 canvas standard here, I believe, considering the
        result of canvas/philip/tests/toDataURL.jpeg.alpha.html; that test ignores the
        alpha channel when extracting an "image/jpeg".toDataURL().  The correct answer
        needs more investigation, bug http://webkit.org/b/40147.

        Canvas toDataURL is covered by existing tests canvas/philip/tests/toDataURL.*,
        and fast/canvas/*toDataURL* tests.

        * WebCore.gypi:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::toDataURLCallback): don't set encoding quality
        here, just pass the toDataURL parameters through to the canvas layer.
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): implement
        the supported mimeTypes for encoding in-place.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL): add jpeg encoding and quality support.
        * platform/image-encoders/skia/JPEGImageEncoder.cpp: Added.
        (WebCore::prepareOutput):
        (WebCore::writeOutput):
        (WebCore::finishOutput):
        (WebCore::handleError):
        (WebCore::preMultipliedBGRAtoRGB): FIXME: bug 40147.
        (WebCore::JPEGImageEncoder::encode):
        * platform/image-encoders/skia/JPEGImageEncoder.h: Added.

2010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73152.
        http://trac.webkit.org/changeset/73152
        https://bugs.webkit.org/show_bug.cgi?id=50401

        the patch has broken chromium win layout tests (Requested by
        loislo on #webkit).

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/Callback.js:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded.WebInspector.socket.onmessage):
        (WebInspector.dispatch):
        (WebInspector_syncDispatch):
        (WebInspector.reportProtocolError):

2010-12-02  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by James Robinson.

        Scaled Resized images are blurred when sent to Skia
        https://bugs.webkit.org/show_bug.cgi?id=42370

        This patch modifies ImageSkia.cpp to fix the calculation of resampled
        bitmap sizes so as to include the transform matrix of the canvas.
        Includes new tests to catch a scrolling regression and a clipping regression.

        Tests: svg/custom/image-rescale-clip.html
               svg/custom/image-rescale-scroll.html
               svg/custom/image-rescale.svg

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        (WebCore::drawResampledBitmap):

2010-12-02  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Missing DOM property for incremental input attribute
        https://bugs.webkit.org/show_bug.cgi?id=50335

        Test: fast/forms/incremental-dom-property.html

        * html/HTMLInputElement.idl: Added attribute

2010-12-02  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Steve Block.

        Move requestGeolocationPermissionForFrame to GeolocationClient
        https://bugs.webkit.org/show_bug.cgi?id=50061

        This change facilitates client-based geolocation implementation by
        bringing together permission control into the geolocation client
        interface.

        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        (WebCore::Geolocation::requestPermission):
        * page/GeolocationClient.h:
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::requestPermission):
        (WebCore::GeolocationController::cancelPermissionRequest):
        * page/GeolocationController.h:
        * platform/mock/GeolocationClientMock.cpp:
        (WebCore::GeolocationClientMock::GeolocationClientMock):
        (WebCore::GeolocationClientMock::setPermission):
        (WebCore::GeolocationClientMock::requestPermission):
        (WebCore::GeolocationClientMock::cancelPermissionRequest):
        (WebCore::GeolocationClientMock::asyncUpdatePermission):
        (WebCore::GeolocationClientMock::permissionTimerFired):
        (WebCore::GeolocationClientMock::reset):
        (WebCore::GeolocationClientMock::stopUpdating):
        (WebCore::GeolocationClientMock::asyncUpdateController):
        (WebCore::GeolocationClientMock::controllerTimerFired):
        * platform/mock/GeolocationClientMock.h:

2010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Inspector protocol cleanup task.

        The patch has just small renames and adjustments for the protocol things.
        'handler' keyword in idl file was replaced with 'domain'.
        'domain' property was assigned for the each backend to frontend messages.
        At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.

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

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/inspector.js:
        (WebInspector_syncDispatch):

2010-12-01  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
        Re-implementing HAR export functionality that used to be in Resources
        tab in Network tab.
        https://bugs.webkit.org/show_bug.cgi?id=45663

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._createTable):
        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
        (WebInspector.NetworkPanel.prototype._contextMenu):
        (WebInspector.NetworkPanel.prototype._exportAll):
        (WebInspector.NetworkPanel.prototype._exportResource):
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        * inspector/front-end/networkPanel.css:
        (.data-grid table.data tr.revealed.network-item):
        (.data-grid.filter-other table.data tr.revealed.network-category-other):

2010-12-02  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Reject named colors, accept only #rrggbb in <input type=color />
        https://bugs.webkit.org/show_bug.cgi?id=50308

        * html/ColorInputType.cpp: Modified to accept only simple colors like #xxxxxx.
        (WebCore::isValidColorString):

2010-12-02  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] histograms api updated in WebKitClient and added to ChromiumBridge
        https://bugs.webkit.org/show_bug.cgi?id=50285

        Test by loading "about:histograms" after navigating to accelerated pages.

        * platform/chromium/ChromiumBridge.h: api update.

2010-12-02  Andras Becsi  <abecsi@webkit.org>

        Unreviewed build fix.

        [Qt][V8] Fix linking of generated sources.

        No new tests needed.

        * WebCore.pro: add missing V8ImageDataCustom.cpp.

2010-12-02  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Adam Roben.

        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedString/SVGAnimatedEnumeration
        https://bugs.webkit.org/show_bug.cgi?id=50383

        Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(STRING|ENUMERATION) / DEFINE_ANIMATED_(STRING|ENUMERATION).
        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.

        No functional changes, thus no new tests.

        * svg/SVGAElement.cpp:
        * svg/SVGAElement.h:
        (WebCore::SVGAElement::isValid):
        (WebCore::SVGAElement::target):
        * svg/SVGAltGlyphElement.cpp:
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAnimatedEnumeration.h:
        * svg/SVGAnimatedString.h:
        * svg/SVGClipPathElement.cpp:
        * svg/SVGClipPathElement.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        * svg/SVGCursorElement.h:
        * svg/SVGFEBlendElement.cpp:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        * svg/SVGFEMergeNodeElement.cpp:
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGForeignObjectElement.cpp:
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGradientElement.cpp:
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        * svg/SVGImageElement.h:
        * svg/SVGMPathElement.cpp:
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        * svg/SVGScriptElement.cpp:
        * svg/SVGScriptElement.h:
        * svg/SVGStyledElement.cpp:
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::hasRelativeLengths):
        (WebCore::SVGStyledElement::supportsMarkers):
        (WebCore::SVGStyledElement::style):
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
        (WebCore::SVGStyledElement::selfHasRelativeLengths):
        (WebCore::SVGStyledElement::isStyled):
        * svg/SVGTRefElement.cpp:
        * svg/SVGTRefElement.h:
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPathElement.cpp:
        * svg/SVGTextPathElement.h:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:

2010-12-02  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [WX] Remove "current path" of GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=50286

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):

2010-10-26  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Text input controls do not react properly to CSS styling
        https://bugs.webkit.org/show_bug.cgi?id=40855

        Improve text input control rendering. Instead of using the GTK+ border
        attributes of the control modify the padding, they modify the border.
        Make this same choice for search inputs and text area inputs.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::setTextInputBorders): Added this helper which sets text input control
        borders based on GTK+ theme settings.
        (WebCore::RenderThemeGtk::adjustTextFieldStyle): Use the setTextInputBorders helper.
        (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
        (WebCore::RenderThemeGtk::adjustSearchFieldStyle): Ditto.
        * platform/gtk/RenderThemeGtk.h:

2010-12-02  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsContext::strokeRect() taints the context's lineWidth
        https://bugs.webkit.org/show_bug.cgi?id=50269

        Test: fast/canvas/canvas-lineWidth-intact-after-strokeRect.html

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::strokeRect): Restore the context's
        original stroke thickness after painting.

2010-12-02  Renata Hodovan  <reni@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] GraphicsContext::clip(path) should clip using winding fill 
        https://bugs.webkit.org/show_bug.cgi?id=49912

        GraphicsContext::clip(path) now uses winding fill and this function is called by
        GraphicsContext::canvasClip(path).

        No new test is needed.

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

2010-12-01  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
        https://bugs.webkit.org/show_bug.cgi?id=50318

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.idl:
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorCSSStore.cpp: Removed.
        * inspector/InspectorCSSStore.h: Removed.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::unbind):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):

2010-12-02  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed trivial buildfix after r73117.

        * page/FrameView.cpp:
        (WebCore::FrameView::calculateScrollbarModesForLayout):

2010-12-02  Yuqiang Xian  <yuqiang.xian@intel.com>

        Reviewed by Pavel Feldman.

        [V8] Speed up data property access for ImageData.
        https://bugs.webkit.org/show_bug.cgi?id=49999

        We create a normal V8 object which has a PixelArray as the backing storage,
        and set the "data" property of the ImageData object to it. 
        This way "data" becomes a pure JS property and we don't need to call through
        the C++ bindings for ImageData "data" access. 
        This eliminates big overhead in switching between JavaScript and native
        contexts and performing object bindings.

        No new tests. Relying on existing Canvas tests.

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8ImageDataCustom.cpp: Added.
        (WebCore::toV8):
        * html/ImageData.idl:
        * html/canvas/CanvasPixelArray.idl:

2010-12-02  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2010-12-02  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by David Hyatt.

        Clean up of iframe scrollbar mode code
        https://bugs.webkit.org/show_bug.cgi?id=47797

        Pull setChildNeedsLayout/setNeedsLayout calls out of scrollbar mode
        calculation method and put back into main layout function. 
        Early exit from the scrollbar calc when scrollbars are turned off. 

        * page/FrameView.cpp:
        (WebCore::FrameView::calculateScrollbarModesForLayout):
        (WebCore::FrameView::layout):

2010-12-02  Hironori Bono  <hbono@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Fix possible crashes in FontFallbackFont::determinePitch().
        https://bugs.webkit.org/show_bug.cgi?id=25770

        When all of "Arial", "Courier New", and "Times New Roman" fonts are corrupted,
        FontCache::getLastResortFallbackFont() returns 0 and it causes this crash. To
        avoid this crash, this change falls back to system fonts (Windows ensures they
        are sane) as Win Safari does. Unfortunately, I don't have any ideas how I can
        write a layout test for this issue because this crash happens on a PC some of
        its system fonts are corrupted.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontDataFromDescriptionAndLogFont):
        (WebCore::FontCache::getLastResortFallbackFont):

2010-12-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Provide means to store shadow DOM nodes on Element
        https://bugs.webkit.org/show_bug.cgi?id=48697

        Adds shadow DOM awareness to the standard Node attach/detach,
        document and tree insertion and removal cycle.

        No new tests, because the code is not yet used.

        * dom/Element.cpp:
        (WebCore::Element::insertedIntoDocument): Added logic to cascade down to shadow DOM, if present.
        (WebCore::Element::removedFromDocument): Ditto.
        (WebCore::Element::insertedIntoTree): Ditto.
        (WebCore::Element::removedFromTree): Ditto.
        (WebCore::Element::attach): Ditto.
        (WebCore::Element::detach): Ditto.
        (WebCore::Element::recalcStyle):
        (WebCore::Element::shadowRoot): Added.
        (WebCore::Element::setShadowRoot): Added.
        (WebCore::Element::clearShadowRoot): Added.
        * dom/Element.h: Added decls.
        * dom/ElementRareData.h: Added a member to hold a RefPtr to the shadow DOM root for the element.

2010-12-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Gray-scale JPEG images with a color profile are stretched horizonally
        https://bugs.webkit.org/show_bug.cgi?id=49950

        Turns out gray-scale JPEGs with color profiles have the same issue as
        PNGs.  As with PNGs, we suppress now suppress the color profile for
        gray-scale JPEGs.  Most importantly, this patch adds a test.

        Test: fast/images/gray-scale-jpeg-with-color-profile.html

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):

2010-12-01  Geoffrey Garen  <ggaren@apple.com>

        Build fix: Added a forwarding header.

        * ForwardingHeaders/wtf/OSAllocator.h: Added.

2010-12-01  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        Support multiple correction candidates panel for misspelled word on Mac OS X.
        https://bugs.webkit.org/show_bug.cgi?id=50137
        <rdar://problem/8568059>

        Test: platform/mac/editing/spelling/delete-autocorrected-word-1.html
        Manual test: WebCore/manual-tests/autocorrection/dismiss-multiple-guesses.html
                     WebCore/manual-tests/autocorrection/select-from-multiple-guesses.html

        This patch is for supporting multiple correction suggestion panel on Mac OS X.
        The behavior and implementation is similar to that of reversion candiate panel.

        * WebCore.exp.in: Added and removed symbols.

        * editing/CorrectionPanelInfo.h: Added new correction panel type, PanelTypeSpellingSuggestions.

        * editing/Editor.cpp:
        (WebCore::markerTypesForAutocorrection): Convenient function for getting marker types to
          be added to autocorrected word.
        (WebCore::boundingBoxForRange): Convenient function for calculating the bounding box of a range.
        (WebCore::markerTypesForReplacement): Convenient function for getting marker types to
          be added to word that has been replaced by various correction panel.
        (WebCore::Editor::respondToChangedSelection): Added code to trigger timer for multiple
          suggestion panel.
        (WebCore::Editor::guessesForMisspelledSelection): Adopted new signature of EditorClient::getGuessesForWord().
        (WebCore::Editor::markMisspellingsAfterTypingToWord): Adopted new signature of applyCorrectionPanelInfo().
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
        (WebCore::Editor::correctionPanelTimerFired): Added code to handle new multiple suggestion panel.
        (WebCore::Editor::handleCorrectionPanelResult): Replaced handleRejectedCorrection(), since
          with new AppKit correction panel API, not only rejection, but also confirmation can be
          handled in callback.
        (WebCore::Editor::stopCorrectionPanelTimer): Moved the code that clears correction panel info
          from dismissCorrectionPanel() to this function to fix a bug that would occur when deleting
          autocorrected word.
        (WebCore::Editor::dismissCorrectionPanel): Ditto.
        (WebCore::Editor::applyCorrectionPanelInfo): Added code to handle new multiple suggestion panel.

        * editing/Editor.h: Replaced handleRejectedCorrection() with handleCorrectionPanelResult().
          Changed the signature of applyCorrectionPanelInfo() to hanlde new correction panel type.

        * editing/TextCheckingHelper.cpp:
        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Adopted new EditorClient::getGuessesForWord().

        * editing/TextCheckingHelper.h: Made paragraphRange() public.

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature defined in base class.
        (WebCore::EmptyEditorClient::getGuessesForWord): Ditto.

        * manual-tests/autocorrection/dismiss-multiple-guesses.html: Added.

        * manual-tests/autocorrection/select-from-multiple-guesses.html: Added.

        * page/EditorClient.h:  Changed showCorrectionPanel() to allow passing multiple correction
          candidates. Changed getGuessesForWord() to allow passing in contextual text for better
          correction suggestions (for those spellcheckers that utilizes such contextual information).

2010-12-01  David Hyatt  <hyatt@apple.com>

        Reviewed by James Robinson.

        https://bugs.webkit.org/show_bug.cgi?id=50360
        
        Make sure to include the origin adjustment code that I added on Mac to keep truncation-rtl.html passing.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):

2010-12-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Generalize overflow section scrollOriginX code to be a point and to work in both horizontal
        and vertical modes.

        Not testable yet, since the rightmost/leftmost/topmost/lowestPosition functions are returning
        horrendously wrong values in the vertical text case for overflow:auto objects.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::computeScrollDimensions):
        (WebCore::RenderLayer::updateOverflowStatus):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::scrolledContentOffset):
        (WebCore::RenderLayer::scrollXOffset):
        (WebCore::RenderLayer::scrollYOffset):
        (WebCore::RenderLayer::scrollToXOffset):
        (WebCore::RenderLayer::scrollToYOffset):

2010-12-01  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        WinCairo build should not use link-time code generation (LTCG)
        https://bugs.webkit.org/show_bug.cgi?id=50353

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCore.vcproj:

2010-12-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46645
        
        Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
        recently added for horizontal RTL documents and applies it to writing modes as well.  Now the
        scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
        
        This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
        makes them behave the same as the cross-platform code (allowing for cross-platform results to be
        landed).

        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):
        * page/mac/WebCoreFrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::maximumScrollPosition):
        (WebCore::ScrollView::minimumScrollPosition):
        (WebCore::ScrollView::valueChanged):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (WebCore::ScrollView::scrollOrigin):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformSetScrollPosition):
        (WebCore::ScrollView::platformSetScrollOrigin):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxDecorations):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        (WebCore::RenderView::docTop):
        (WebCore::RenderView::docHeight):
        (WebCore::RenderView::docLeft):
        (WebCore::RenderView::docWidth):
        * rendering/RenderView.h:

2010-11-30  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Upstream recent changes to WebCore/platform/network/android
        https://bugs.webkit.org/show_bug.cgi?id=50224

        Android implementation changes only, no new tests.

        * platform/network/NetworkingContext.h:
        * platform/network/android/CookieJarAndroid.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):
        * platform/network/android/ProxyServerAndroid.cpp: Added.
        (WebCore::proxyServersForURL):
        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/android/ResourceRequestAndroid.cpp:
        (WebCore::initializeMaximumHTTPConnectionCountPerHost):

2010-12-01  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        vcproj changes can't be applied cleanly by the Windows EWS bot
        https://bugs.webkit.org/show_bug.cgi?id=50328

        * WebCore.vcproj/QTMovieWin.vcproj: Modified property svn:eol-style.
        * WebCore.vcproj/QTMovieWinCommon.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
        * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
        * WebCore.vcproj/WebCore.vcproj: Modified property svn:eol-style.
        * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreCG.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreCURL.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreCairo.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreCommon.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreGenerated.vcproj: Modified property svn:eol-style.
        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreMediaQT.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCorePthreads.vsprops: Added property svn:eol-style.
        * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added property svn:eol-style.

2010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Adds accelerated compositing trigger flags to Settings to allow
        ports to set them via command line flags, etc.
        https://bugs.webkit.org/show_bug.cgi?id=50301

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setAcceleratedCompositingFor3DTransformsEnabled):
        (WebCore::Settings::setAcceleratedCompositingForVideoEnabled):
        (WebCore::Settings::setAcceleratedCompositingForPluginsEnabled):
        (WebCore::Settings::setAcceleratedCompositingForCanvasEnabled):
        (WebCore::Settings::setAcceleratedCompositingForAnimationEnabled):
        * page/Settings.h:
        (WebCore::Settings::acceleratedCompositingFor3DTransformsEnabled):
        (WebCore::Settings::acceleratedCompositingForVideoEnabled):
        (WebCore::Settings::acceleratedCompositingForPluginsEnabled):
        (WebCore::Settings::acceleratedCompositingForCanvasEnabled):
        (WebCore::Settings::acceleratedCompositingForAnimationEnabled):

2010-12-01  Darin Adler  <darin@apple.com>

        Fixed warning seen on buildbot.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues): Added #if.

2010-12-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.

        chrome.dll!WebCore::RangeBoundaryPoint::toPosition ReadAV@NULL (cf0d0f28bc56f2591cc74f71b46036ea)
        https://bugs.webkit.org/show_bug.cgi?id=47808

        The crash was caused by moveParagraphWithClones' not copying the entire paragraph
        when called by doApplyForSingleParagraph, which was induced by a bug in
        cloneParagraphUnderNewElement which ended the cloning process early when the start node
        and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
        by calling traverseNextSibling(outerNode) instead of nextSibling().

        Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.

        Tests: editing/execCommand/switch-multiple-list-items-crash.html
               editing/execCommand/switch-multiple-list-items.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):

2010-12-01  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes after recent trunk changes.

        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::platformDefaultLanguage):

2010-12-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73047.
        http://trac.webkit.org/changeset/73047
        https://bugs.webkit.org/show_bug.cgi?id=50339

        missing bug number (Requested by rniwa on #webkit).

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):

2010-12-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.

        The crash was caused by moveParagraphWithClones' not copying the entire paragraph
        when called by doApplyForSingleParagraph, which was induced by a bug in
        cloneParagraphUnderNewElement which ended the cloning process early when the start node
        and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
        by calling traverseNextSibling(outerNode) instead of nextSibling().

        Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.

        Tests: editing/execCommand/switch-multiple-list-items-crash.html
               editing/execCommand/switch-multiple-list-items.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):

2010-12-01  Grace Kloba  <klobag@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] ContentLayerChromium shader should honor the platform Sk_x_SHIFT value instead of assuming BGRA color
        https://bugs.webkit.org/show_bug.cgi?id=50189

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):Use SK_B32_SHIFT to decide whether to use RGBA or BGRA shader for Skia port.

2010-12-01  Nico Weber  <thakis@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix clang warnings caused by -Wlogical-op-parentheses
        https://bugs.webkit.org/show_bug.cgi?id=50324

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

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

        Build fix for GTK+.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::typeAheadFind): Uncomment mistakenly commented line.

2010-12-01  Apelete Seketeli  <apelete@seketeli.org> and Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Open menulists should support typeahead find
        https://bugs.webkit.org/show_bug.cgi?id=27443

        Added typeahead find support for open GTK+ menulists.

        Test: platform/gtk/fast/forms/menulist-typeahead-find.html

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::PopupMenuGtk): Initialize new members.
        (WebCore::PopupMenuGtk::show): Track currently selected menu item
        via a signal handler.
        (WebCore::PopupMenuGtk::typeAheadFind): Added.
        (WebCore::PopupMenuGtk::menuUnmapped): Reset typeahead find state
        when menu is unmapped.
        (WebCore::PopupMenuGtk::resetTypeAheadFindState): Added.
        (WebCore::PopupMenuGtk::selectItemCallback): Added.
        (WebCore::PopupMenuGtk::keyPressEventCallback): Added.
        * platform/gtk/PopupMenuGtk.h: Added new members to track typeahead
        find state.

2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Xan Lopez.

        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedNumber
        https://bugs.webkit.org/show_bug.cgi?id=50323

        Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_NUMBER / DEFINE_ANIMATED_NUMBER.
        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.

        No functional changes, thus no new tests.

        * svg/SVGAnimatedNumber.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFECompositeElement.cpp:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFELightElement.cpp:
        * svg/SVGFELightElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGPathElement.cpp:
        * svg/SVGPathElement.h:
        * svg/SVGStopElement.cpp:
        * svg/SVGStopElement.h:
        (WebCore::SVGStopElement::isGradientStop):

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

        Reviewed by Xan Lopez.

        Sliders are not transformed after r50188
        https://bugs.webkit.org/show_bug.cgi?id=50317

        Need to call updateLayerTransform during slider layout, as sliders
        may be transformed.

        No new tests. This patch should make fast/forms/slider-transformed.html
        pass on the GTK+ bots.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout): Call updateLayerTransform here.

2010-11-30  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not make helpScreen.css lazily loaded.
        https://bugs.webkit.org/show_bug.cgi?id=50304

        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen):
        (WebInspector.HelpScreen.prototype._onBlur):
        * inspector/front-end/inspector.html:

2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Xan Lopez.

        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLengthList/SVGNumberList/SVGTransformList
        https://bugs.webkit.org/show_bug.cgi?id=50322

        Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(LENGTH|NUMBER|TRANSFORM)_LIST / DEFINE_ANIMATED_(LENGTH|NUMBER|TRANSFORM).
        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.

        No functional changes, thus no new tests.

        * svg/SVGAnimatedLengthList.h:
        * svg/SVGAnimatedNumberList.h:
        * svg/SVGAnimatedTransformList.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGGradientElement.cpp:
        * svg/SVGGradientElement.h:
        (WebCore::SVGGradientElement::needsPendingResourceHandling):
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        * svg/SVGPolygonElement.cpp:
        * svg/SVGPolylineElement.cpp:
        * svg/SVGStyledTransformableElement.cpp:
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        * svg/SVGTextElement.h:
        (WebCore::SVGTextElement::localCoordinateSpaceTransform):
        * svg/SVGTextPositioningElement.cpp:
        * svg/SVGTextPositioningElement.h:
        * svg/properties/SVGAnimatedPropertyMacros.h:

2010-12-01  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: name-only property appears in style declaration but not in the Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=49663

        Check that at least one property has been parsed from the user input.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):

2010-12-01  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: disable cookies tab in network resource view by default, enable for chromium
        https://bugs.webkit.org/show_bug.cgi?id=50249

        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        (WebInspector.NetworkItemView.prototype.resize):
        * inspector/front-end/Settings.js:

2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Xan Lopez.

        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLength
        https://bugs.webkit.org/show_bug.cgi?id=50316

        Introduce DECLARE_ANIMATED_LENGTH / DEFINE_ANIMATED_LENGTH, splitting up the original DECLARE_ANIMATED_PROPERTY_NEW macro
        in a part that goes in the .cpp file and another that remains in the header. This avoids having to include SVGNames.h
        in all SVG*Element files.

        No functional changes, thus no new tests.

        * svg/SVGAnimatedLength.h:
        * svg/SVGCircleElement.cpp:
        * svg/SVGCircleElement.h:
        (WebCore::SVGCircleElement::isValid):
        * svg/SVGCursorElement.cpp:
        * svg/SVGCursorElement.h:
        (WebCore::SVGCursorElement::isValid):
        * svg/SVGEllipseElement.cpp:
        * svg/SVGEllipseElement.h:
        (WebCore::SVGEllipseElement::isValid):
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        * svg/SVGForeignObjectElement.h:
        (WebCore::SVGForeignObjectElement::isValid):
        * svg/SVGImageElement.cpp:
        * svg/SVGImageElement.h:
        (WebCore::SVGImageElement::isValid):
        * svg/SVGLineElement.cpp:
        * svg/SVGLineElement.h:
        (WebCore::SVGLineElement::isValid):
        (WebCore::SVGLineElement::supportsMarkers):
        * svg/SVGLinearGradientElement.cpp:
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        (WebCore::SVGMaskElement::isValid):
        (WebCore::SVGMaskElement::needsPendingResourceHandling):
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        (WebCore::SVGPatternElement::isValid):
        (WebCore::SVGPatternElement::needsPendingResourceHandling):
        * svg/SVGRadialGradientElement.cpp:
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        * svg/SVGRectElement.h:
        (WebCore::SVGRectElement::isValid):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::isValid):
        (WebCore::SVGSVGElement::setContainerSize):
        (WebCore::SVGSVGElement::containerSize):
        (WebCore::SVGSVGElement::hasSetContainerSize):
        (WebCore::SVGSVGElement::currentTranslate):
        (WebCore::SVGSVGElement::timeContainer):
        (WebCore::SVGSVGElement::isSVG):
        (WebCore::SVGSVGElement::rendererIsNeeded):
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextContentElement.h:
        (WebCore::SVGTextContentElement::isValid):
        (WebCore::SVGTextContentElement::isTextContent):
        * svg/SVGTextPathElement.cpp:
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.h:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:
        (WebCore::SVGUseElement::isValid):
        (WebCore::SVGUseElement::setUpdatesBlocked):
        (WebCore::SVGUseElement::isPendingResource):
        * svg/properties/SVGAnimatedPropertyMacros.h:

2010-12-01  Anton D'Auria  <adauria@apple.com>

        Reviewed by Kevin Decker.

        Deny access to local and session storage in private browsing mode.
        https://bugs.webkit.org/show_bug.cgi?id=49329

        * storage/Storage.cpp:
        (WebCore::Storage::length):
        (WebCore::Storage::key):
        (WebCore::Storage::getItem):
        (WebCore::Storage::contains):

2010-12-01  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        Volume control not correctly initialized
        https://bugs.webkit.org/show_bug.cgi?id=36299

        Replaced the mute/volume Timers with g_timeouts which are (for
        now, at least) more reliable than Timers for one-shot-fire-now
        actions.

        Test: media/video-volume.html

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::~MediaPlayer): Reset the raw pointers to 0
        when destructing the player.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
        (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
        (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfMute):
        (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Set
        playbin2 volume/mute base on MediaPlayer related values.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

2010-12-01  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Cleanup main CMakeLists.txt after r72664, r72672 and r72667
        https://bugs.webkit.org/show_bug.cgi?id=50232

        * CMakeLists.txt: Removed obsolete dependencies.

2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Cleanup SVGPropertyTraits
        https://bugs.webkit.org/show_bug.cgi?id=50229

        Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
        into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
        included by all DOM/JS/V8 binding files and SVGElement.h.

        No new functionality, thus no new tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * svg/SVGAngle.h:
        * svg/SVGLength.h:
        * svg/SVGLengthList.h:
        * svg/SVGMarkerElement.h:
        * svg/SVGNumberList.h:
        * svg/SVGPatternElement.h:
        * svg/SVGPointList.h:
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGRect.h: Added.
        * svg/SVGSVGElement.h:
        * svg/SVGStringList.h:
        * svg/SVGSymbolElement.h:
        * svg/SVGTransformList.h:
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.h:
        * svg/properties/SVGListProperty.h:
        * svg/properties/SVGPropertyTraits.h:
        * svg/properties/SVGTransformListPropertyTearOff.h:

2010-11-30  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Refactor HTMLInputElement: Move a part of HTMLInputElement::
        defaultEventHandler() to InputTypes
        https://bugs.webkit.org/show_bug.cgi?id=50097

        Move all of keyboard-related event handling to InputType.

        No new tests because this should not change any behavior.

        * html/BaseButtonInputType.cpp:
        (WebCore::BaseButtonInputType::handleKeydownEvent):
        (WebCore::BaseButtonInputType::handleKeypressEvent):
        (WebCore::BaseButtonInputType::handleKeyupEvent):
        * html/BaseButtonInputType.h:
        * html/BaseCheckableInputType.cpp:
        (WebCore::BaseCheckableInputType::handleKeydownEvent):
        (WebCore::BaseCheckableInputType::handleKeypressEvent):
        * html/BaseCheckableInputType.h:
        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::handleKeyupEvent):
        * html/CheckboxInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
         We remove !implicitSubmission check for callBaseClassEarly because
         implicitSubmission can not be true for keydown event and keypress
         event at this point.
        * html/InputType.cpp:
        (WebCore::InputType::shouldSubmitImplicitly):
         Returns true for a keypress event with "\r". Note that we don't overload
         this function for BUTTON, FILE, IMAGE, RESET, and SUBMIT because a
         keypress event with "\r" for these types returns from HTMLInputElement::defaultEventHandler()
         before implicit submission checking.
        (WebCore::InputType::handleKeypressEvent):
        (WebCore::InputType::handleKeyupEvent):
        * html/InputType.h:
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::handleKeydownEvent):
        (WebCore::RadioInputType::handleKeyupEvent):
        * html/RadioInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::shouldSubmitImplicitly):
        * html/TextFieldInputType.h:

2010-11-30  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move CSS generator logic into main CMakeLists.txt file
        https://bugs.webkit.org/show_bug.cgi?id=50230

        * CMakeLists.txt:

2010-11-30  Ojan Vafai  <ojan@chromium.org>

        Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
        https://bugs.webkit.org/show_bug.cgi?id=50288

        2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
        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
        A display-isolated URL can only be displayed (e.g., put in an iframe,
        hyperlinked to) by documents from that scheme. In a sense, this is a
        generalization of some of the protections we give file URLs, but
        instead of lumping them all together into one "local" bucket, this
        patch creates a separate bucket for each scheme.
        For a while, I tried using a separate bucket for each origin. That
        would have played nicely with what Blob URLs are trying to do, but some
        "chrome" URL pages rely on being able to display other chrome URL
        pages, even in different origins. For example, the New Tab Page shows
        thumbnails from the "thumbnail" host.
        This patch also removes a bunch of unused code. I've also propagated
        the "deprecated" status of deprecatedCanDisplay to
        deprecatedShouldTreatURLAsLocal because that method has no other
        callers and is really asking for uppercase/lowercase bugs. I dream of
        someday removing these functions.
        page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        (WebCore::SecurityOrigin::deprecatedCanDisplay):
        platform/SchemeRegistry.cpp:
        (WebCore::displayIsolatedURLSchemes):
        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
        (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
        (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
        platform/SchemeRegistry.h:
        2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
        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 a Chromium API for registering schemes as
        display-isolated. In a subsequent patch, I'll change the "chrome"
        scheme in Chrome to be display isolated instead of local. That will
        prevent file URLs from linking to chrome URLs.
        public/WebSecurityPolicy.h:
        src/WebSecurityPolicy.cpp:
        (WebKit::WebSecurityPolicy::registerURLSchemeAsDisplayIsolated):

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        (WebCore::SecurityOrigin::deprecatedCanDisplay):
        * platform/SchemeRegistry.cpp:
        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
        (WebCore::SchemeRegistry::localURLSchemes):
        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
        * platform/SchemeRegistry.h:

2010-11-30  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        WebKit duplicates AXValue and AXDescription on abbr
        https://bugs.webkit.org/show_bug.cgi?id=50260

        stringValue() and accessibilityDescription() were returning the same value for static text with
        an aria-label. Static text elements should not have an accessibility description, they
        should only have a stringValue.

        Test: platform/mac/accessibility/static-text-with-aria-label.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::text):
        * accessibility/AccessibilityRenderObject.h:

2010-11-30  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        [HTML5] Rename member variables of HTMLScriptElement
        https://bugs.webkit.org/show_bug.cgi?id=49705

        Renamed m_wasCreatedByParser to m_wasInsertedByParser, m_requested to m_isExternalScript,
        m_isEvaluated to m_wasAlreadyStarted, and m_firedLoad to m_haveFiredLoad.

        Also made ScriptElement's haveFiredLoadEvent and removed HTMLScriptElement's haveFiredLoadEvent.
        This effectively adds the same function to SVGScriptElement, which isn't currently used anywhere.

        No new tests are added since this is a refactoring.

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::ScriptElement):
        (WebCore::ScriptElement::insertedIntoDocument):
        (WebCore::ScriptElement::childrenChanged):
        (WebCore::ScriptElement::finishParsingChildren):
        (WebCore::ScriptElement::requestScript):
        (WebCore::ScriptElement::evaluateScript):
        (WebCore::ScriptElement::executeScript):
        (WebCore::ScriptElement::ignoresLoadRequest):
        * dom/ScriptElement.h:
        (WebCore::ScriptElement::haveFiredLoadEvent):
        (WebCore::ScriptElement::setHaveFiredLoadEvent):
        (WebCore::ScriptElement::wasInsertedByParser):
        (WebCore::ScriptElement::wasAlreadyStarted):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::HTMLScriptElement):
        (WebCore::HTMLScriptElement::create):
        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
        * html/HTMLScriptElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        (WebCore::SVGScriptElement::create):
        (WebCore::SVGScriptElement::svgAttributeChanged):
        (WebCore::SVGScriptElement::insertedIntoDocument):
        (WebCore::SVGScriptElement::dispatchLoadEvent):
        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
        * svg/SVGScriptElement.h:

2010-11-30  Darin Adler  <darin@apple.com>

        Rolled back most of the FileReaderLoader changes to fix 32-bit builds.

        * fileapi/FileReaderLoader.cpp: Changed types back to unsigned from unsigned long long
        * fileapi/FileReaderLoader.h: Ditto.

2010-11-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Text search should treat all matches as word-start matches when the target begins with a separator character
        https://bugs.webkit.org/show_bug.cgi?id=50302

        * editing/TextIterator.cpp:
        (WebCore::SearchBuffer::SearchBuffer): Disable the AtWordStarts option if it was specified and
        the target string begins with one of the "separator" characters.

2010-11-30  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Dave Hyatt.

        Web Inspector: [CRASH] on "Revert to this revision" of style with import.
        https://bugs.webkit.org/show_bug.cgi?id=50256

        Rolled back one line from http://trac.webkit.org/changeset/36904 as agreed with
        David.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):

2010-11-30  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
        https://bugs.webkit.org/show_bug.cgi?id=50283

        Adjust the mask rectangle for Cairo shadows, so that the origin
        is not affected by the scale of the transformation matrix.

        * platform/graphics/ContextShadow.h: Make this Qt-only member global.
        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::beginShadowLayer): Save the original layer area.
        (WebCore::ContextShadow::endShadowLayer): If the target context has a scale
        transform, make sure not to scale the blur distance when blitting the shadow.

2010-11-30  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Make ProgressEvent 64-bit instead of 32-bit
        https://bugs.webkit.org/show_bug.cgi?id=50289

        * dom/ProgressEvent.cpp:
        (WebCore::ProgressEvent::ProgressEvent): Changed arguments to unsigned long long.
        (WebCore::ProgressEvent::initProgressEvent): Ditto.

        * dom/ProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
        Made isProgressEvent override private.

        * dom/ProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.

        * fileapi/FileReader.cpp: Removed unneeded includes.
        Used static on const so we'd get an error if the same constant was in a header.
        (WebCore::FileReader::didReceiveData): Removed unneeded WTF prefix.
        (WebCore::FileReader::fireEvent): Got rid of local variables that would narrow
        bytes loaded and total bytes to 32-bit.

        * fileapi/FileReaderLoader.cpp:
        (WebCore::FileReaderLoader::didReceiveResponse): Restructured code a bit and
        added comments. Also added handling for when ArrayBuffer::create returns 0.
        (WebCore::FileReaderLoader::didReceiveData): Fixed handling of case where more
        data arrives than is expected so it won't overrun the buffer. Also broke an
        assertion into two and improved a comment.

        * fileapi/FileReaderLoader.h: Changed bytesLoaded and totalBytes to unsigned long long.

        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::fireEvent): Removed narrowing casts in call to
        ProgressEvent::create.

        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::tryAllocate): Added a comment because the code here seems wrong.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didSendData): Removed narrowing casts in call to
        XMLHttpRequestProgressEvent::create.
        (WebCore::XMLHttpRequest::didReceiveData): Removed narrowing casts in call to
        dispatchProgressEvent.

        * xml/XMLHttpRequestProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
        Made isXMLHttpRequestProgressEvent override private.

        * xml/XMLHttpRequestProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.

        * xml/XMLHttpRequestProgressEventThrottle.cpp:
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Changed types to
        unsigned long long.

        * xml/XMLHttpRequestProgressEventThrottle.h: Changed types to unsigned long long.

2010-11-30  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Progress and meter elements should take a form in their constructor like any other form control.
        https://bugs.webkit.org/show_bug.cgi?id=50195

        Tests: fast/dom/HTMLMeterElement/meter-element-form.html
               fast/dom/HTMLProgressElement/progress-element-form.html

        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::HTMLMeterElement):
        (WebCore::HTMLMeterElement::create):
        * html/HTMLMeterElement.h:
        * html/HTMLProgressElement.h:
        * html/HTMLTagNames.in:

2010-11-30  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
        https://bugs.webkit.org/show_bug.cgi?id=49036

        No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html

        In http://codereview.chromium.org/11574, the forked chromium test
        plugin changed how it testGetIntIdentifier to work around a change
        caused by a silverlight specific plugin fix:
        http://codereview.chromium.org/11569/diff/1/2

        It's not clear to me that this change is needed anymore since
        silverlight has had multiple releases, testing without this patch
        works on a test windows build, and safari win seems to run silverlight
        without this either.  Since there's no test for this behavior, I'm
        rolling it out so we can match the upstream test.

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

2010-11-30  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Computing style on a stale node while sending pending accessibility notification.
        https://bugs.webkit.org/show_bug.cgi?id=50162

        Retain node pointer members of AccessibilityImageMapLink.

        Test: accessibility/image-map-title-causes-crash.html

        * accessibility/AccessibilityImageMapLink.cpp:
        (WebCore::AccessibilityImageMapLink::parentObject):
        (WebCore::AccessibilityImageMapLink::anchorElement):
        (WebCore::AccessibilityImageMapLink::url):
        (WebCore::AccessibilityImageMapLink::elementRect):
        * accessibility/AccessibilityImageMapLink.h:
        (WebCore::AccessibilityImageMapLink::areaElement):
        (WebCore::AccessibilityImageMapLink::mapElement):
        (WebCore::AccessibilityImageMapLink::node):
        * dom/Document.cpp:
        (WebCore::Document::clearAXObjectCache):

2010-11-30  James Robinson  <jamesr@chromium.org>

        Reviewed by Tony Chang.

        Build fix - add parens in foo || bar && baz to make gcc happy
        https://bugs.webkit.org/show_bug.cgi?id=50276

        gcc 4.4 warns that statements of the form "foo || bar && baz".  It wants
        parens around the "bar && baz" part to make it clear which way the logical
        operators bind.

        * editing/TextIterator.cpp:
        (WebCore::SearchBuffer::search):

2010-11-30  Daniel Bates  <dbates@rim.com>

        Reviewed by David Hyatt.

        Focused <area> should use CSS properties of <area> instead of associated <img>
        https://bugs.webkit.org/show_bug.cgi?id=49888

        Fixes an issue where the CSS properties of an <area> were not used when
        the <area> was focused.

        Currently, when focusing an <area> (say by pressing option + tab in Mac
        Safari) we use the CSS style information for the <img> associated with
        the <area>. Instead, we should use the CSS style information for the
        focused <area>. In particular, this will make the us honor the outline-
        color property of a focused <area> when drawing its focus ring.

        Tests: fast/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map.html
               fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map.html
               fast/images/imagemap-focus-ring-outline-color.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintFocusRing): Use the style information of
        the focused <area> when drawing the focus ring for it.

2010-11-30  Tony Chang  <tony@chromium.org>

        Reviewed by James Robinson.

        [chromium] enable WebCore compiler warnings on Linux take 3
        https://bugs.webkit.org/show_bug.cgi?id=50258

        * WebCore.gyp/WebCore.gyp:

2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] Implement ROLE_COMBO_BOX
        https://bugs.webkit.org/show_bug.cgi?id=25678

        Implement the remaining bits for combo boxes.

        This patch finishes the implementation, from the point of view of
        the Atk library, of those objects exposed to ATK as combo boxes,
        and their related elements (menus and menu items). It therefore
        implements the proper interfaces for each type of object related
        to combo boxes (AtkSelection for the combo box, AtkText for every
        menu item and AtkAction for the combo box, the menu and the menu
        items), takes care of emitting the proper signals when focus or a
        given a selection changes and adds a new unit test to check all
        this new stuff.

        Make possible to ask an AccessibleMenuListOption for a sensible
        string representation, so far only available through the private
        and MSAA related method nameForMSAA. Just moved the implementation
        of that method to an overriden version of stringValue(), which is
        platform independent, and called that from nameForMSAA().

        * accessibility/AccessibilityMenuListOption.h:
        * accessibility/AccessibilityMenuListOption.cpp:
        (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
        stringValue(), which holds from now on that used to be here.
        (WebCore::AccessibilityMenuListOption::stringValue): New, override
        of AccessibilityObject::stringValue() to return a proper string.

        Emit the missing signals when a selection is made.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
        'focus' signals when a selection is made over the combo box.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
        Atk states are added to the state set when needed.
        (listObjectForSelection): New, returns the proper list object (the
        one holding the list of available options as its children) for an
        specific AtkObject implementing AtkSelection. This is needed
        because sometimes the selectable options are not directly children
        of the AtkSelection object (i.e. a combo box has a 'menu' object
        as its only child of it, holding the list of options as children).
        (optionFromList): Use listObjectForSelection() to get the actual
        object holding the list of children as the available options.
        (optionFromSelection): Add support for combo boxes.
        (webkit_accessible_selection_add_selection): Ditto.
        (webkit_accessible_selection_clear_selection): Ditto.
        (webkit_accessible_selection_get_selection_count): Ditto.
        (webkit_accessible_selection_is_child_selected): Ditto.
        (webkit_accessible_selection_remove_selection): Ditto.
        (webkit_accessible_text_get_text): Makes sure stringValue() is
        considered to get the result substring when it was already
        considered when checking the maximum text length for the object.
        (getInterfaceMaskFromObject): Make sure the AtkSelection interface
        is implemented for the combo boxes, that the AtkText is
        implemented for the menu items and that the AtkAction interface is
        now implemented for every object (WebCore will decide what to do).

        Avoid a segfault crash when using this from unit tests.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
        before calling gdk_window_get_origin() over it.

2010-11-30  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] GraphicsContext: Avoid unnecessarily copying the painter's QTransform

        Stash the transform in a const reference (QPainter::transform() returns one)
        instead of making a copy in the shadow drawing parts of fillPath, strokePath and fillRect.

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

2010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Simon Fraser.

        Provide more fine grained control to ports over when to turn on 
        accelerated compositing.
        https://bugs.webkit.org/show_bug.cgi?id=49998

        The RenderLayerCompositor now checks with the chrome client whether
        3d transforms, video, plugins, canvas and animation require
        switching over to the composited path. Layers that overlap composited
        content will still turn into composited layers regardless of the
        setting.

        * css/MediaQueryEvaluator.cpp:
        (WebCore::transform_3dMediaFeatureEval):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::allowedCompositingTriggers):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::canRender3DTransforms):
        (WebCore::RenderLayer::updateTransform):
        (WebCore::RenderLayer::currentTransform):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateLayerTransform):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
        (WebCore::RenderLayerCompositor::canRender3DTransforms):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
        * rendering/RenderLayerCompositor.h:

2010-11-30  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Plug leak in SoupCache
        https://bugs.webkit.org/show_bug.cgi?id=50142

        Free the cache file contents when we don't need them anymore.

        * platform/network/soup/cache/webkit/soup-cache.c:
        (webkit_soup_cache_load):

2010-11-30  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][V8] Make QtWebKit with V8 build on Linux.
        https://bugs.webkit.org/show_bug.cgi?id=50244

        No new tests needed.

        * WebCore.pri: add missing idl file
        * WebCore.pro: enable Linux build
        * bindings/scripts/CodeGeneratorV8.pm: add missing headers
        * bindings/v8/ScriptControllerQt.cpp: fix instantiation
        (WebCore::ScriptController::qtScriptEngine):
        * bindings/v8/V8GCController.cpp: fix guard
        (WebCore::V8GCController::checkMemoryUsage):
        * inspector/CodeGeneratorInspector.pm: add missing header
        * loader/ResourceLoadScheduler.cpp: ditto
        * loader/cache/MemoryCache.cpp: ditto
        * loader/loader.cpp: ditto

2010-11-30  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.
        
        https://bugs.webkit.org/show_bug.cgi?id=50183
        
        Code got commented out by accident during render tree refactoring last year.  Put the code back in, since
        it hurts performance to have that line commented out.

        In order to put this code back in, I had to fix some bugs with preferred width computations and
        overflow: scroll.  Make the pref widths computation create the scrollbar if it doesn't exist yet.

        Make sure the scrollbar size is included prior to checking for defined width/min-width/max-width values.  Otherwise
        the scrollbar inflates the width beyond the fixed size that was specified.
        
        For table cells, there is an additional wrinkle.  Make sure not to include the scrollbar size as part of the minimum
        intrinsic width so that we don't incorrectly grow.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):

2010-11-30  Vitaly Repeshko  <vitalyr@chromium.org>

        Unreviewed.

        Attempt to fix windows debug chromium build.

        * html/TimeInputType.cpp: Added include providing isfinite.

2010-11-30  Darin Adler  <darin@apple.com>

        Reviewed by Jon Honeycutt.

        DOM binding code generator scripts import unused File::stat Perl module
        https://bugs.webkit.org/show_bug.cgi?id=50250

        * bindings/scripts/CodeGeneratorCPP.pm: Removed "using File::stat".
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.

2010-11-30  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: implement "Revert to this revision" in resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=50107

        * inspector/Inspector.idl:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::setStyleSheetText2):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleModel.prototype._onRevert):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get contentTimestamp):
        (WebInspector.Resource.prototype.setInitialContent):
        (WebInspector.Resource.prototype.isLocallyModified):
        (WebInspector.Resource.prototype.setContent.else.finished):
        (WebInspector.Resource.prototype.setContent):
        (WebInspector.Resource.prototype.revertToThis.callback):
        (WebInspector.Resource.prototype.revertToThis):
        (WebInspector.Resource.prototype.get baseRevision):
        (WebInspector.Resource.prototype._innerRequestContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showResourceView):
        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
        (WebInspector.ResourceRevisionTreeElement):
        (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._editLine):
        (WebInspector.SourceView.prototype._editLineComplete):
        (WebInspector.SourceView.prototype._revertEditLine):

2010-11-30  Adam Roben  <aroben@apple.com>

        Clean up WebCore.vcproj's bindings filter

        I added files that we compile (via an all-in-one file) but weren't in
        the .vcproj, removed files that no longer exist, and added the scripts
        we use.

        Fixes <http://webkit.org/b/50248> WebCore.vcproj's bindings filter is
        out-of-date

        Reviewed by Darin Adler.

        * WebCore.vcproj/WebCore.vcproj:

2010-11-30  Adam Roben  <aroben@apple.com>

        Move JSIDB* files to the DerivedSources filter

        This correctly reflects their location on disk. (They were formerly
        listed under bindings/js.)

        * WebCore.vcproj/WebCore.vcproj:

2010-11-30  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Hyatt.

        Remove clampNegativeToZero in adjustScrollPositionWithinRange.
        https://bugs.webkit.org/show_bug.cgi?id=50203

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::adjustScrollPositionWithinRange):

2010-11-30  Adam Roben  <aroben@apple.com>

        Remove duplicate files from WebCore.vcproj

        Rubber-stamped by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj:

2010-11-30  Adam Roben  <aroben@apple.com>

        Let VS do its thang with WebCore.vcproj

        I just removed and readded AnimationBase.cpp.

        Rubber-stamped by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj:

2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        ASSERT failing for combo boxes when selection changes
        https://bugs.webkit.org/show_bug.cgi?id=50062

        Don't call listBoxOnChange for elements using menu lists.

        Test: fast/forms/select-option-accesskey-crash.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
        to decide whether to call menuListOnChange() or listBoxOnChange()
        instead of always calling listBoxOnChange().

2010-11-30  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument.
        https://bugs.webkit.org/show_bug.cgi?id=48516

        No new tests, this is refactoring only.

        fillPath() -> fillPath(const Path&)
        strokePath() -> strokePath(const Path&)
        clipPath(WindRule) -> clipPath(const Path&, WindRule)

        drawPath() was only used by CG, so made it PLATFORM(CG) specific.

        The Qt, CG and Cairo implementations are best-effort.
        For the rest, I've put beginPath/addPath and FIXMEs in the three affected methods.

        * WebCore.exp.in:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::stroke):
        * inspector/InspectorController.cpp:
        (WebCore::drawOutlinedQuad):
        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::addConvexPolygonToPath):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):
        (WebCore::GraphicsContext::drawPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillPath):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::concatCTM):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintReplaced):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath):
        * rendering/RenderSVGResource.h:
        (WebCore::RenderSVGResource::postApplyResource):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourceGradient.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::postApplyResource):
        * rendering/RenderSVGResourcePattern.h:
        * rendering/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
        * rendering/RenderSVGResourceSolidColor.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::finishRenderSVGContent):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::fillAndStrokePath):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::releasePaintingResource):
        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
        * rendering/svg/SVGInlineTextBox.h:
        * svg/SVGFont.cpp:
        (WebCore::Font::drawTextUsingSVGFont):

2010-11-30  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler and Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=44152
        <rdar://problem/8324423> CSSOM should match DOM in discarding wrapper-less parents.

        We have existing behaviors where parent objects in detached subtrees are not preserved:
        - if a root of a node tree doesn't have a wrapper, it's immediately destroyed, making
        its children parentNode attribute null;
        - relationship between a <style> or <link> node and its stylesheet is immediately broken
        when the node is removed from document (in this case, regardless of wrapper existence).

        Both match Firefox. For consistency, CSSOM should do the same. In fact, it already partially
        does - CSSRule.parentRule gets zeroed out when the parent rule is destroyed.

        Tests: fast/dom/StyleSheet/detached-parent-rule-without-wrapper.html
               fast/dom/StyleSheet/detached-stylesheet-without-wrapper.html

        * css/StyleSheet.cpp: (WebCore::StyleSheet::~StyleSheet): Clear out child rule parent.

        * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument): Keep
        the new assertion from firing. This function was adding a rule to style sheet, without
        telling the rule about it.

2010-11-30  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        All projects on Windows should use cmd files for build events
        https://bugs.webkit.org/show_bug.cgi?id=50213

        * WebCore.vcproj/QTMovieWinCommon.vsprops:
        * WebCore.vcproj/QTMovieWinPostBuild.cmd: Added.
        * WebCore.vcproj/QTMovieWinPreBuild.cmd: Added.
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/WebCorePostBuild.cmd: Added.
        * WebCore.vcproj/WebCorePreBuild.cmd: Added.

2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72914.
        http://trac.webkit.org/changeset/72914
        https://bugs.webkit.org/show_bug.cgi?id=50241

        "pfeldman has a revision management patch both for CSS and JS"
        (Requested by apavlov on #webkit).

        * English.lproj/localizedStrings.js:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleSheet.prototype.getText):
        (WebInspector.CSSStyleSheet.prototype.setText):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):

2010-11-25  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Fix rendering of speech button when setting the attribute dynamically.
        https://bugs.webkit.org/show_bug.cgi?id=50077

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::speechAttributeChanged):
        * rendering/RenderTextControlSingleLine.h:

2010-11-30  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Enable switching between revisions of stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=50227

        Drive-by fix: styleSheetChanged() call needed after a stylesheet reparsing on setStyleSheetText2().

        * English.lproj/localizedStrings.js:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleSheet.prototype.getText):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):

2010-11-30  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by David Levin.

        V8 binding for DOMTimeStamp should be Number, not Date
        https://bugs.webkit.org/show_bug.cgi?id=49963

        Test: fast/dom/domtimestamp-is-number.html

        * bindings/scripts/CodeGeneratorV8.pm:

2010-11-30  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Andreas Kling.

        [Qt] Leak with GraphicsContext::takeOwnershipOfPlatformContext()
        https://bugs.webkit.org/show_bug.cgi?id=49916

        Change the order of calling QPainter::device() and QPainter::end(), so device() will return with a valid device.
        No new test is needed.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):

2010-11-30  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move generator logic into main CMakeLists.txt file
        https://bugs.webkit.org/show_bug.cgi?id=49885

        Also make the generator calls more portable.

        * CMakeLists.txt:

2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>

        Unreviewed, rolling out r72902.
        http://trac.webkit.org/changeset/72902
        https://bugs.webkit.org/show_bug.cgi?id=50062

        This change is causing layout test failures on the Tests bots
        for the mac platform.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::accessKeySetSelectedIndex):

2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72764.
        http://trac.webkit.org/changeset/72764
        https://bugs.webkit.org/show_bug.cgi?id=50215

        This change is causing assertion failures on the debug bots.
        (Requested by mrobinson on #webkit).

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name):
        (webkit_accessible_detach):

2010-11-30  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make copy(node) work in console.
        https://bugs.webkit.org/show_bug.cgi?id=50180

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):

2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Darin Adler.

        ASSERT failing for combo boxes when selection changes
        https://bugs.webkit.org/show_bug.cgi?id=50062

        Don't call listBoxOnChange for elements using menu lists.

        Test: accessibility/select-menulist-crash.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
        to decide whether to call menuListOnChange() or listBoxOnChange()
        instead of always calling listBoxOnChange().

2010-11-30  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Path stroke shadow has incorrect behavior when using ctx.scale(x,y)
        https://bugs.webkit.org/show_bug.cgi?id=50198

        Handle the special case when scaling is used and translate the shadow
        offset accordingly. The correct behavior is ensured in ContextShadow
        already, the issue only happens when using a non-blur shadow.

        Test: fast/canvas/canvas-scale-strokePath-shadow.html

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

2010-11-30  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Path filling should keep shadow offset after context scaling
        https://bugs.webkit.org/show_bug.cgi?id=50194

        Handle the special case when scaling is used and translate the shadow
        offset accordingly. The correct behavior is ensured in ContextShadow
        already, the issue only happens when using a non-blur shadow.

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

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

2010-11-30  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: make ScriptCallStack and ScriptArguments reference counted
        https://bugs.webkit.org/show_bug.cgi?id=50156

        No new tests. This refactoring is covered with existing inspector tests.

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::profile):
        (WebCore::JSConsole::profileEnd):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        * bindings/v8/ScriptCallStackFactory.h:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::handler):
        (WebCore::V8ConsoleMessage::dispatchNow):
        * bindings/v8/V8ConsoleMessage.h:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        (WebCore::V8Console::assertCallback):
        (WebCore::V8Console::profileCallback):
        (WebCore::V8Console::profileEndCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::startGroup):
        * inspector/InspectorController.h:
        * inspector/ScriptArguments.cpp:
        (WebCore::ScriptArguments::create):
        * inspector/ScriptArguments.h:
        * inspector/ScriptCallFrame.h:
        * inspector/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::create):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        * inspector/ScriptCallStack.h:
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::debug):
        (WebCore::Console::error):
        (WebCore::Console::info):
        (WebCore::Console::log):
        (WebCore::Console::dir):
        (WebCore::Console::dirxml):
        (WebCore::Console::trace):
        (WebCore::Console::assertCondition):
        (WebCore::Console::count):
        (WebCore::Console::markTimeline):
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):
        (WebCore::Console::timeEnd):
        (WebCore::Console::group):
        (WebCore::Console::groupCollapsed):
        (WebCore::Console::warn):
        * page/Console.h:

2010-11-29  Dan Bernstein  <mitz@apple.com>

        Build fix for non-ICU platforms after r72887.

        * editing/TextIterator.cpp:
        (WebCore::SearchBuffer::prependContext):

2010-11-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
        https://bugs.webkit.org/show_bug.cgi?id=50038

        Test: editing/text-iterator/findString.html

        * GNUmakefile.am: Added FindOptions.h.
        * WebCore.exp.in: Export the new methods that take FindOptions.
        * WebCore.gypi: Added FindOptions.h.
        * WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
        * WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
        * WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
        * editing/Editor.cpp:
        (WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
        (WebCore::Editor::lastVisibleRange): Ditto.
        (WebCore::Editor::nextVisibleRange): Ditto.
        (WebCore::Editor::findString): Ditto.
        (WebCore::Editor::countMatchesForText): Ditto.
        * editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
        countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
        and firstVisibleRange() and lastVisibleRange() to take FindOptions.
        * editing/FindOptions.h: Added.
        * editing/TextIterator.cpp:
        Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
        for determining word boundaries.
        (WebCore::isSeparator): Added. Identifies a class of characters used to determine where
        “words” are embedded in a word.
        (WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
        m_options, m_prefixLength and m_needsMoreContext.
        (WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
        of the buffer.
        (WebCore::SearchBuffer::needsMoreContext): Added.
        (WebCore::SearchBuffer::prependContext): Added.
        (WebCore::SearchBuffer::isWordStartMatch): Added.
        (WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
        only for word prefix matches, maintains enough context before a tentative match when moving
        it to the beginning of the buffer. Reject matches that are not at word starts if requested.
        Adjust m_prefixLength when pushing characters out of the buffer.
        (WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
        if and as long as it requires more of it.
        * editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
        * editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
        * page/Page.cpp:
        (WebCore::Page::findString): Changed to work with FindOptions.
        (WebCore::Page::markAllMatchesForText): Ditto.
        * page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
        * platform/text/TextBoundaries.cpp:
        (WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
        (WebCore::startOfLastWordBoundaryContext): Ditto.
        * platform/text/TextBoundaries.h:

2010-11-29  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        when empty, clicking "down" on outer-spin-button returns "max value"
        https://bugs.webkit.org/show_bug.cgi?id=45491

        Modified stepping-up/down from renderer
        - to clamp steps,
        - to handle empty values (described below), and
        - to apply them for range type inputs.

        Stepping-up/down for empty values are handled "the empty as 0."
        For example :
        * If 0 is in-range, and matches to step value
          "down" -> -step
          "up" -> +step
          If -step or +step is out of range, new value should be 0.

        * If 0 is smaller than the minimum value
          "down" -> the minimum value
          "up" -> the minimum value

        * If 0 is larger than the maximum value
          "down" -> the maximum value
          "up" -> the maximum value

        * If 0 is in-range, but not matched to step value
          "down" -> smaler matched value nearest to 0.
            e.g. <input type=number min=-100 step=3> -> -1
          "up" -> larger matched value nearest to 0.
            e.g. <input type=number min=-100 step=3> -> 2

        As for date/datetime-local/month/time/week types, the empty is assumed as "current local date/time".
        As for datetime type, the empty is assumed as "current date/time in UTC".

        As for range input types, changed stepping from renderer to use stepUpFromRenderer().
        It was calculated with stepUp() from RangeInputType::handleKeydownEvent().

        Test: fast/forms/input-stepup-stepdown-from-renderer.html

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
        * html/BaseDateAndTimeInputType.h:
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current UTC time
        * html/DateTimeInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer): Modified it to clamp steps, support empty values and support range type inputs
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isRangeControl):
        * html/InputType.cpp:
        (WebCore::InputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns 0
        * html/InputType.h:
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local month
        * html/MonthInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent): Added comments and modified it to use stepUpFromRenderer()
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
        * html/TimeInputType.h:
        * manual-tests/input-type-datetime-default-value.html: Added manual tests for default values of date/time inputs since they are "the current local/UTC time", which cannot be tested automatically.

2010-11-29  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

        A display-isolated URL can only be displayed (e.g., put in an iframe,
        hyperlinked to) by documents from that scheme.  In a sense, this is a
        generalization of some of the protections we give file URLs, but
        instead of lumping them all together into one "local" bucket, this
        patch creates a separate bucket for each scheme.

        For a while, I tried using a separate bucket for each origin.  That
        would have played nicely with what Blob URLs are trying to do, but some
        "chrome" URL pages rely on being able to display other chrome URL
        pages, even in different origins.  For example, the New Tab Page shows
        thumbnails from the "thumbnail" host.

        This patch also removes a bunch of unused code.  I've also propagated
        the "deprecated" status of deprecatedCanDisplay to
        deprecatedShouldTreatURLAsLocal because that method has no other
        callers and is really asking for uppercase/lowercase bugs.  I dream of
        someday removing these functions.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        (WebCore::SecurityOrigin::deprecatedCanDisplay):
        * platform/SchemeRegistry.cpp:
        (WebCore::displayIsolatedURLSchemes):
        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
        (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
        (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
        * platform/SchemeRegistry.h:

2010-11-29  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Leaks in SoupCache code
        https://bugs.webkit.org/show_bug.cgi?id=50161

        Fixes some memory leaks in SoupCache code.

        * platform/network/soup/cache/soup-http-input-stream.c:
        (send_async_finished): Added a missing g_object_unref.
        * platform/network/soup/cache/webkit/soup-cache.c:
        (get_cacheability): Added soup_header_free_param_list.
        (webkit_soup_cache_entry_set_freshness): Ditto.
        (webkit_soup_cache_send_response): Ditto.
        (webkit_soup_cache_has_response): Ditto.

2010-11-29  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add send(ArrayBuffer) to XMLHttpRequest per XMLHttpRequest Level 2 spec
        https://bugs.webkit.org/show_bug.cgi?id=50199

        Test: http/tests/xmlhttprequest/send-array-buffer.html

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):
        * xml/XMLHttpRequest.h:

2010-11-29  James Robinson  <jamesr@chromium.org>

        [chromium] REGRESSION(72470): Crash in skia on some images
        https://bugs.webkit.org/show_bug.cgi?id=50201

        Reverts r72470

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        (WebCore::drawResampledBitmap):

2010-11-29  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        Crash when iframe transfers from one page to another and has child frames.
        https://bugs.webkit.org/show_bug.cgi?id=50200

        * page/Frame.cpp:
        (WebCore::Frame::transferChildFrameToNewDocument):
        avoid overriding 'didTransfer' which has the result of previous check.

2010-11-19  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by David Hyatt.

        up arrow doesn't work with RTL text with word wrapping
        https://bugs.webkit.org/show_bug.cgi?id=41987

        The bug was caused by positionForPoint's not returning the correct affinity when the x coordiate
        is to the left of the first line, and startOfLine's incorrectly moving position to the previous candidate.

        Fixed the bug by returning upstream VisiblePosition in positionForPoint if the first inline text box's offset
        is greater than 0.  Also removed the code added by http://trac.webkit.org/changeset/23608 since this changeset
        does not add any test, and the problem described in the changelog reproduces regardless of the code's presence.

        Tests: editing/selection/click-left-of-rtl-wrapping-text.html
               editing/selection/modify-up-on-rtl-wrapping-text.html

        * editing/visible_units.cpp:
        (WebCore::startOfLine):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):

2010-11-29  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Kent Tamura.

        Ensure that option elements are rendered with normal font weight on Windows/Linux
        https://bugs.webkit.org/show_bug.cgi?id=50055

        * WebCore.gyp/WebCore.gyp: include themeChromiumSkia.css
        * css/themeChromiumSkia.css: Added.
        (option): font-weight: normal !important;
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): include themeChromiumSkia.css

2010-11-29  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fix.

        * WebCore.vcproj/WebCoreCairo.vsprops: Provide missing WIN_CAIRO
          definition so that proper targets are build.
        * platform/graphics/win/cairo/FontPlatformData.h:
        (WebCore::FontPlatformData::orientation): Add missing implementation.

2010-11-29  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Switch web audio code to use FloatPoint3D instead of Vector3
        https://bugs.webkit.org/show_bug.cgi?id=50186

        No new tests since audio API is not yet implemented.

        * platform/audio/Cone.cpp:
        (WebCore::ConeEffect::gain):
        * platform/audio/Cone.h:
        * platform/graphics/FloatPoint3D.h:
        (WebCore::FloatPoint3D::isZero):
        (WebCore::operator*):
        (WebCore::FloatPoint3D::distanceTo):
        * webaudio/AudioListener.h:
        (WebCore::AudioListener::setPosition):
        (WebCore::AudioListener::position):
        (WebCore::AudioListener::setOrientation):
        (WebCore::AudioListener::orientation):
        (WebCore::AudioListener::setUpVector):
        (WebCore::AudioListener::upVector):
        (WebCore::AudioListener::setVelocity):
        (WebCore::AudioListener::velocity):
        * webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::AudioPannerNode):
        (WebCore::AudioPannerNode::getAzimuthElevation):
        (WebCore::AudioPannerNode::dopplerRate):
        (WebCore::AudioPannerNode::distanceConeGain):
        * webaudio/AudioPannerNode.h:
        (WebCore::AudioPannerNode::position):
        (WebCore::AudioPannerNode::setPosition):
        (WebCore::AudioPannerNode::orientation):
        (WebCore::AudioPannerNode::setOrientation):
        (WebCore::AudioPannerNode::velocity):
        (WebCore::AudioPannerNode::setVelocity):

2010-11-29  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Hyatt.

        Right-to-left pages should be scrollable to reveal left overflow.
        https://bugs.webkit.org/show_bug.cgi?id=23556

        For RTL page, save left layout overflow and include it into the document
        size during layout. Use the left layout overflow when scroll and paint
        the page. Behavior on LTR page should be untouched since left layout 
        overflow is set as 0 for LTR page.

        Tests: fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html
               fast/dom/horizontal-scrollbar-in-rtl.html
               fast/dom/horizontal-scrollbar-when-dir-change.html
               fast/dom/left-overflow-in-ltr.html
               fast/dom/right-overflow-in-rtl.html

        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize): Save negative of left layout overflow as scroll X origin. And includes left layout overflow into document size.
        * page/mac/WebCoreFrameView.h: Add methods for setting and getting scroll X origin.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::maximumScrollPosition): Minus scroll X origin from maximum horizontal scroll position.
        (WebCore::ScrollView::minimumScrollPosition):
        (WebCore::ScrollView::adjustScrollPositionWithinRange):
        (WebCore::ScrollView::valueChanged):
        (WebCore::ScrollView::setScrollPosition):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformSetContentsSize):
        (WebCore::ScrollView::platformSetScrollPosition):
        (WebCore::ScrollView::platformSetScrollOriginX):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::paintRootBoxDecorations): Include left layout overflow into canvas size.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout): Save left layout overflow.
        (WebCore::RenderView::docLeft):
        (WebCore::RenderView::docWidth): Include left layout overflow into doc width for RTL page.
        * rendering/RenderView.h:

2010-11-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Ojan Vafai.

        bunch of pixel failures after http://trac.webkit.org/changeset/72839/
        https://bugs.webkit.org/show_bug.cgi?id=50188
        
        We need to call updateLayerTransform() for reflections, and
        table rows as well.

        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2010-11-29  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Hyatt.

        Fix tab overflow problem when alignment is not left.
        https://bugs.webkit.org/show_bug.cgi?id=25459

        I checked WordPad in Windows, TextEdit in Mac, OpenOffice, and Google doc. 
        In all of them, (when the writing mode is horizontal) when the alignment is not
        left alignment, the length of tab is computed based on the tab's position
        relative to the left start of line, not based on the tab's position relative 
        to the left edge of the document.

        WebKit should follow the same.

        The m_xPos in each TextRun should be relative to the left start of the line, 
        not left start of its containing block (in right alignment and center alignment,
        left start of the line is not the same as left start of the containing block).
        So, when the text is drawn, the width of tab is consistent with the width 
        computed in RenderBlock::computeInlineDirectionPositionsForLine().

        I did not test vertical writing mode, but I think the same rule should apply.

        Test: fast/dom/tab-in-right-alignment.html

        * platform/graphics/TextRun.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::textPos):
        * rendering/InlineTextBox.h:

2010-11-29  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Request JSON-serialized heap snapshot from JS engine.
        This simplifies heap snapshots interaction and API. Instead of
        having objects representing snapshot entities, the whole snapshot
        is transferred to WebInspector and parsed there.

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

        * bindings/js/ScriptHeapSnapshot.h:
        (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
        (WebCore::ScriptHeapSnapshot::writeJSON):
        (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
        * bindings/v8/ScriptHeapSnapshot.cpp:
        (WebCore::ScriptHeapSnapshot::writeJSON):
        * bindings/v8/ScriptHeapSnapshot.h:
        (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
        * inspector/Inspector.idl:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfile):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotEdgesIterator):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
        (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
        (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
        (WebInspector.HeapSnapshotNodeWrapper):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
        (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
        (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
        (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype.get rootEdges):
        (WebInspector.HeapSnapshotView.prototype.snapshotLoaded):
        (WebInspector.HeapSnapshotView.prototype._loadProfile.processLoadedSnapshot):
        (WebInspector.HeapSnapshotView.prototype._loadProfile):
        (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
        (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
        (WebInspector.HeapSnapshotView.prototype._prepareProfile):
        (WebInspector.HeapSnapshotView.prototype._sortData):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
        (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
        * inspector/front-end/inspector.js:
        (WebInspector.addHeapSnapshotChunk):
        (WebInspector.finishHeapSnapshot):

2010-11-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        layer()->currentTransform() is stale when layout changes the box size
        https://bugs.webkit.org/show_bug.cgi?id=50175
        
        RenderLayer::updateTransform() is fairly expensive, so we
        have to avoid calling it from RenderBox::applyLayerTransformToRect()
        every time. This requires that we update the layer's transform
        during layout, instead of from updateLayerPositions() which is too late.
        
        So call updateLayerTransform() from the various layout methods
        on renderers that can be transformed, and remove it from 
        updateLayerPositions().

        Test: fast/overflow/overflow-update-transform.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::applyLayerTransformToRect):
        (WebCore::RenderBox::updateLayerTransform):
        * rendering/RenderBox.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::layout):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::layout):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

2010-11-29  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add remaining custom JSC web audio bindings
        https://bugs.webkit.org/show_bug.cgi?id=50172

        No new tests since audio API is not yet implemented.

        * bindings/js/JSAudioBufferSourceNodeCustom.cpp: Added.
        (WebCore::JSAudioBufferSourceNode::setBuffer):
        * bindings/js/JSConvolverNodeCustom.cpp: Added.
        (WebCore::JSConvolverNode::setBuffer):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp: Added.
        (WebCore::JSJavaScriptAudioNode::markChildren):
        * webaudio/AudioBufferSourceNode.idl:
        * webaudio/ConvolverNode.idl:

2010-11-29  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        HTMLFormElement.elements doesn't include fieldsets
        https://bugs.webkit.org/show_bug.cgi?id=48193

        Add fieldset and keygen to the list of form collection elements, by making them enumeratable.
        This patch does not add object element to the list. A separate bug will do that.

        Test: fast/forms/form-collection-elements.html

        * html/HTMLFieldSetElement.h:
        (WebCore::HTMLFieldSetElement::isEnumeratable):
        * html/HTMLKeygenElement.h:
        (WebCore::HTMLKeygenElement::isEnumeratable):

2010-11-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Get distcheck going.

        * GNUmakefile.am:

2010-11-29  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=50181
        CSS style declarations don't GC protect parents

        Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html

        * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren):
        Protect the parent rule.

2010-11-29  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed
        in a confusing manner. The format string should be changed from %d x %d
        pattern to (%d, %d).

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):

2010-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Andreas Kling.

        Remove a couple unneeded overflow checks
        https://bugs.webkit.org/show_bug.cgi?id=49816

        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::encode): Use an ASSERT instead of
        an overflow check with CRASH.

2010-11-29  Tony Chang  <tony@chromium.org>

        Unreviewed, disable warnings again on chromium linux

        * WebCore.gyp/WebCore.gyp:

2010-11-29  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Nikolas Zimmermann.

        getBoundingClientRect: Do not truncate the coordinates to integers
        https://bugs.webkit.org/show_bug.cgi?id=48110

        Remove the float-to-int coordinate conversions inside getBoundingClientRect,
        to comply with the CSSOM View Module API.

        Tests: fast/dom/Element/getBoundingClientRect.html
               fast/dom/Range/getBoundingClientRect.html
               svg/zoom/page/zoom-getBoundingClientRect.xhtml
               svg/zoom/page/zoom-zoom-coords.xhtml

        * dom/ClientRect.cpp:
        (WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument.
        * dom/ClientRect.h:
        (WebCore::ClientRect::create): Ditto.
        * dom/Element.cpp:
        (Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect.
        * dom/Range.cpp:
        (WebCore::Range::getBoundingClientRect): Ditto.
        * rendering/RenderObject.h:
        (adjustIntRectForAbsoluteZoom): Removed.
        (adjustFloatRectForAbsoluteZoom): Added.
        * rendering/style/RenderStyle.h:
        (adjustFloatForAbsoluteZoom): Added.

2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Converge means of querying a parent node into one way, which is Node::parentNode.
        https://bugs.webkit.org/show_bug.cgi?id=49686

        A follow-up to r72259, which explicitly forbids further use of Node::parent by
        making it private.

        No change in behavior, so no new tests.

        * dom/Document.cpp:
        (WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode.
        (WebCore::Document::hoveredNodeDetached): Ditto.
        (WebCore::Document::activeChainNodeDetached): Ditto.
        * dom/Node.h: Made Node::parent private.
        * page/SpatialNavigation.cpp:
        (WebCore::canBeScrolledIntoView): Changed to use parentNode.
        * xml/XSLTProcessorQt.cpp:
        (WebCore::XSLTProcessor::transformToString): Ditto.

2010-11-29  Tony Chang  <tony@chromium.org>

        Reviewed by James Robinson.

        [chromium] try to enable WebCore compiler warnings on linux
        https://bugs.webkit.org/show_bug.cgi?id=50168

        * WebCore.gyp/WebCore.gyp:
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::setPadding):
        (WebCore::TextRunWalker::setGlyphXPositions):
        (WebCore::glyphIndexForXPositionInScriptRun):

2010-11-29  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=50165
        CSS style rules don't GC protect parents

        Tests: fast/dom/StyleSheet/gc-parent-rule.html
               fast/dom/StyleSheet/gc-parent-stylesheet.html

        * bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code
        is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so
        it should be OK.

        * css/CSSRule.idl: Added CustomMarkFunction.

2010-11-29  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        Web page can prevent WebKit from loading subresources on other
        pages (cache poisoning)
        https://bugs.webkit.org/show_bug.cgi?id=35404

        Tests: http/tests/misc/unloadable-script.html
               loader/reload-subresource-when-type-changes.html

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::requestResource):

2010-11-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Crash in WebCore::CSSStyleSelector::loadPendingImages
        https://bugs.webkit.org/show_bug.cgi?id=50149
        
        Null-check style->boxReflect() when loading pending style images.

        Test: fast/reflections/pending-reflection-mask-crash.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::loadPendingImages):

2010-11-29  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: crash upon inspecting user style sheet.
        https://bugs.webkit.org/show_bug.cgi?id=50109

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):

2010-11-29  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Implement WebCore::directoryName
        https://bugs.webkit.org/show_bug.cgi?id=50031

        Also fix handling of paths without path separator.

        * platform/wince/FileSystemWinCE.cpp:
        (WebCore::reverseFindPathSeparator):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):

2010-11-29  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Simplify directoryName in FileSystemWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50028

        * platform/win/FileSystemWin.cpp:
        (WebCore::directoryName):

2010-11-24  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
        https://bugs.webkit.org/show_bug.cgi?id=49868

        The problem here was that the inner text element of search input was first laid out as
        disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
        if it's enabled.

        Test: fast/forms/disabled-search-input.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
            an empty inner text element is always one-line high.

2010-11-29  W. James MacLean  <wjmaclean@chromium.org>

       Reviewed by Dirk Schulze.

       Large input numbers cause overflow during SVG parsing, leading to crash
       https://bugs.webkit.org/show_bug.cgi?id=49546

       Values outside the range supported by float lead to Infinity() or NaN()
       during parsing, leading to subsequent crashes. Modified
       parser to verify number is in the supported range, and return false if not.

       Tests: svg/custom/svg-parse-overflow-1.html
              svg/custom/svg-parse-overflow-2.html
              svg/custom/svg-parse-overflow-3.html
              svg/custom/svg-parse-overflow-4.html
              svg/custom/svg-parse-overflow-5.html

       * svg/SVGParserUtilities.cpp:
       (WebCore::isValidRange):
       (WebCore::genericParseNumber):

2010-11-29  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: display name of an object constructor as the object's type
        https://bugs.webkit.org/show_bug.cgi?id=50063

        Name of the function that has created given object is used as the object's
        type when it's displayed in the inspector front-end(in case of V8). Before
        this change, it was always a value of the object's constructor.name property
        which is confusing in some cases(see the test).

        Removed check for jsEngine from the InjectedScript.js, all VM-specific code
        is now encapsulated on the bindings layer.

        Test: inspector/console-object-constructor-name.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::createInjectedScript):
        (WebCore::JSInjectedScriptHost::constructorName):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::createInjectedScript):
        (WebCore::V8InjectedScriptHost::constructorNameCallback):
        * inspector/InjectedScriptHost.idl:
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):

2010-11-29  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Eric Seidel.

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

        Remove temporary workaround to load Gears plugin.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::rendererIsNeeded):

2010-11-29  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial Navigation: Store more information in FocusCandidate
        https://bugs.webkit.org/show_bug.cgi?id=50153

        More information should be stored in FocusCandidate, to avoid
        recalculating it when running the spatial navigation algorithm.

        No new tests, since this is code refactoring only.

        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateIfNeeded):
        (WebCore::FocusController::findFocusCandidateInContainer):
        (WebCore::FocusController::advanceFocusDirectionallyInContainer):
        * page/SpatialNavigation.cpp:
        (WebCore::FocusCandidate::FocusCandidate):
        (WebCore::canBeScrolledIntoView):
        * page/SpatialNavigation.h:
        (WebCore::FocusCandidate::FocusCandidate):

2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM.
        https://bugs.webkit.org/show_bug.cgi?id=49977

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent): Changed to use isMouseFocusable, which is what shadow DOM elements
            override, and added a FIXME to convert to use shadow DOM-aware traversal instead of render tree traversal.

        Test: fast/events/shadow-boundary-crossing-2.html

2010-11-29  Adam Roben  <aroben@apple.com>

        Windows build fix after r72715

        * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag to fix an
        XML syntax error.

2010-11-29  Bernhard Bauer  <bauerb@chromium.org>

        Reviewed by Jeremy Orlow.

        Remove databaseFileName from IDBFactoryBackendImpl
        https://bugs.webkit.org/show_bug.cgi?id=50150

        No new tests, since functionality is unchanged.

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::openSQLiteDatabase):
        * storage/IDBFactoryBackendImpl.h:

2010-11-29  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] take video sink ownership with gst_object API
        https://bugs.webkit.org/show_bug.cgi?id=49011

        Use gst_object_ref_sink instead of g_object_ref_sink to avoid
        possible leaks.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

2010-11-29  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        QtWebKit asserts when selecting elided text.
        https://bugs.webkit.org/show_bug.cgi?id=45391

        Ensure that the length passed to fromRawDataWithoutRef() does
        not exceed the length of the string.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::selectionRectForSimpleText):

2010-11-26  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored"
        https://bugs.webkit.org/show_bug.cgi?id=31614

        * English.lproj/localizedStrings.js:
        * inspector/front-end/Color.js:
        (WebInspector.Color.prototype.toString):
        (WebInspector.Color.prototype._parse.this.rgba.set 0):
        (WebInspector.Color.prototype._parse.set WebInspector):
        (WebInspector.Color.prototype._parse):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):

2010-11-29  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
        https://bugs.webkit.org/show_bug.cgi?id=50141

        Don't apply scaling transformation to shadow offsets.

        Test: fast/canvas/canvas-scale-fillRect-shadow.html

        * platform/graphics/ContextShadow.h:
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillRect):

2010-11-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Default event handlers should also be using event retargeting.
        https://bugs.webkit.org/show_bug.cgi?id=49986

        Test: fast/events/shadow-boundary-crossing-2.html

        * dom/EventContext.cpp:
        (WebCore::EventContext::defaultEventHandler): Added.
        * dom/EventContext.h: Added decl.
        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for
            default event handlers.

2010-11-23  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        REGRESSION: Text on <input type="search"> is not spellchecked.
        https://bugs.webkit.org/show_bug.cgi?id=49651

        TextControlInnerElement::isSpellCheckingEnabled() didn't consider 
        non-root shadow elelements and always went false for <input type="search>.
        This change unifies shadow and host handling into Element::isSpellCheckingEnabled().
        
        Test: editing/spelling/spellcheck-attribute.html
        
        * dom/Element.cpp:
        (WebCore::Element::isSpellCheckingEnabled):
        * rendering/TextControlInnerElements.cpp:
        * rendering/TextControlInnerElements.h:

2010-11-28  Antonio Gomes  <agomes@rim.com>

        Reviewed by Kenneth Rohde Christiansen.

        Spatial Navigation: use isSpatialNaviagtionEnabled from SpatialNavigation.h in HTMLInputElement::defaultEventHandler
        https://bugs.webkit.org/show_bug.cgi?id=50131

        For all isSpatialNavigationEnabled calls throughout WebCore, we decided to use the static method in
        SpatialNavigation.h instead of directly checking from the one in Settings.h. Reason: in a soon future,
        there  will be a isCaretBrowsing check incorporated into this method (and probably renaming it accordingly)
        to avoid feature conflicts (spatial navigation x caret browsing).

        No new tests needed.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):

2010-11-27  Benjamin Kalman  <kalman@chromium.org>

        Reviewed by Darin Adler.

        Move Position::EditingBoundaryCrossingRule to a new header file
        https://bugs.webkit.org/show_bug.cgi?id=49630

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Position.cpp:
        (WebCore::downstreamIgnoringEditingBoundaries):
        (WebCore::upstreamIgnoringEditingBoundaries):
        * dom/Position.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/EditingBoundary.h: Added.
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        (WebCore::isStartOfParagraph):
        (WebCore::isEndOfParagraph):
        * editing/visible_units.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createVisiblePosition):

2010-11-26  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Simon Fraser.

        Percentage z offset in transform-origin should make the property invalid
        https://bugs.webkit.org/show_bug.cgi?id=48704

        Discard transform-origin property when parsing invalid Z value.

        Test: fast/css/transform-origin-parsing.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransformOriginShorthand):
        (WebCore::CSSParser::parseTransformOrigin):
        * css/CSSParser.h:

2010-11-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Antti Koivisto.

        <rdar://problem/8681368> Avoid unnecessary calls to CTFontGetPlatformFont()
        https://bugs.webkit.org/show_bug.cgi?id=50096

        No new test, since functionality is unchanged.

        * platform/graphics/chromium/CrossProcessFontLoading.mm:
        (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
        * platform/graphics/cocoa/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData): Ditto.
        (WebCore::FontPlatformData::operator==): Removed comparison of font IDs.
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
        (WebCore::FontPlatformData::FontPlatformData): Updated.
        (WebCore::FontPlatformData::operator=): Removed copying of font ID.
        (WebCore::FontPlatformData::setFont): Removed setting of font ID.
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::initializeATSUStyle): Call CTFontGetPlatformFont() here if necessary.
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData): Updated for FontPlatformData change.
        (WebCore::createFontCustomPlatformData): Updated for FontCustomPlatformData change.
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed ATSUFontID argument and
        data member.
        * platform/graphics/mac/SimpleFontDataATSUI.mm:
        (WebCore::SimpleFontData::checkShapesArabic): Call CTFontGetPlatformFont() here if necessary.

2010-11-26  François Sausset  <sausset@gmail.com>

        Reviewed by Daniel Bates.

        MathML: code cleaning needed in MathMLInlineContainerElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50069

        Unnecessary namespace was removed and style was adjusted.

        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::createRenderer):

2010-11-26  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*
        https://bugs.webkit.org/show_bug.cgi?id=50113

        Modified exisiting layout tests to cover this change.

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::deleteObjectStore):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore::IDBObjectStore::deleteIndex):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:

2010-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72701.
        http://trac.webkit.org/changeset/72701
        https://bugs.webkit.org/show_bug.cgi?id=50114

        REGRESSION: bad transform matrix on content layer (Requested
        by backer on #webkit).

        * WebCore.gypi:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateContents):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::cleanupResources):
        (WebCore::ContentLayerChromium::updateContents):
        (WebCore::ContentLayerChromium::updateTextureRect):
        (WebCore::ContentLayerChromium::draw):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContents):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::contentsDirty):
        (WebCore::LayerChromium::updateContents):
        (WebCore::LayerChromium::draw):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTexture.cpp: Removed.
        * platform/graphics/chromium/LayerTexture.h: Removed.
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::updateContents):
        * platform/graphics/chromium/PluginLayerChromium.h:
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        (WebCore::RenderSurfaceChromium::cleanupResources):
        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/TextureManager.cpp: Removed.
        * platform/graphics/chromium/TextureManager.h: Removed.
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateContents):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::updateContents):
        * platform/graphics/chromium/WebGLLayerChromium.h:

2010-11-26  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed build fix.

        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):

2010-11-26  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] SoupCache should not ignore loader's conditional requests
        https://bugs.webkit.org/show_bug.cgi?id=50101

        SoupCache must not handle WebKit loader conditional requests and
        thus should never return its own cached response if any. This was
        causing frequent resource load failures as WebCore was trying to
        revalidate its own resources and was not getting any expected
        result.

        * platform/network/soup/cache/webkit/soup-cache.c:
        (webkit_soup_cache_has_response): check the presence of
        conditional request headers when deciding whether the cache has a
        valid response for a given request.

2010-11-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Make IDBKeyRange match the spec
        https://bugs.webkit.org/show_bug.cgi?id=50105

        Remove flags and instead add two booleans for being open.
        Change left to lower and right to upper everywhere.

        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::lowerCursorWhereFragment):
        (WebCore::IDBKey::upperCursorWhereFragment):
        * storage/IDBKey.h:
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::IDBKeyRange):
        (WebCore::IDBKeyRange::only):
        (WebCore::IDBKeyRange::lowerBound):
        (WebCore::IDBKeyRange::upperBound):
        (WebCore::IDBKeyRange::bound):
        (WebCore::IDBKeyRange::lowerWhereClauseComparisonOperator):
        (WebCore::IDBKeyRange::upperWhereClauseComparisonOperator):
        * storage/IDBKeyRange.h:
        (WebCore::IDBKeyRange::create):
        (WebCore::IDBKeyRange::lower):
        (WebCore::IDBKeyRange::upper):
        (WebCore::IDBKeyRange::lowerOpen):
        (WebCore::IDBKeyRange::upperOpen):
        * storage/IDBKeyRange.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):

2010-11-25  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Convert open*Cursor and createIndex over to using OptionsObject
        https://bugs.webkit.org/show_bug.cgi?id=50093

        Add IDBKeyRange to OptionsObject's parsing abilities. Switch
        more APIs over to using it.

        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::getKeyDOMStringList):
        (WebCore::OptionsObject::getKeyKeyRange):
        * bindings/v8/OptionsObject.h:
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * storage/IDBIndex.idl:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.idl:

2010-11-25  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Clean up IDBDatabase.transaction and add checks to IDBTransaction.objectStore
        https://bugs.webkit.org/show_bug.cgi?id=50081

        IDBDatabase.transaction should use the new optional OptionsObject way
        of taking optional paramters. Modify that object to get numbers and
        domStringLists from it. Verify that any requested resources exist and
        return an exception if not.

        When IDBTransaction.objectStore is called, verify that it's one of the
        requested resources. Also verify that it still exists. Plumb the
        exception code to make this work.

        Tests: storage/indexeddb/create-and-remove-object-store.html
               storage/indexeddb/transaction-and-objectstore-calls.html

        * bindings/v8/OptionsObject.cpp:
        (WebCore::OptionsObject::getKeyInteger):
        (WebCore::OptionsObject::getKeyString):
        (WebCore::OptionsObject::getKeyDOMStringList):
        * bindings/v8/OptionsObject.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::objectStore):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::objectStore):
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionBackendInterface.h:

2010-11-26  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] events missing when a document is (re)loaded
        https://bugs.webkit.org/show_bug.cgi?id=25831

        Make sure webArea returns a proper name and that a signal
        'state-change::defunct' is emitted when detaching the wrapper.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name): Returns the current document's title
        as fallback mechanism for webArea objects.
        (webkit_accessible_detach): Emit 'state-change::defunct' function
        as soon as the wrapper is detached from the related core object.

2010-11-26  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] ASSERT(d->m_response.isNull()) in contentSniffedCallback
        https://bugs.webkit.org/show_bug.cgi?id=50083

        ResourceHandleSoup should not listen to content-sniffed signal
        when content sniffing is not enabled. This will prevent us
        reaching an assertion on content-sniffed callback

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        * platform/network/soup/cache/soup-request-http.c:
        (conditional_get_ready_cb): added a comment with the
        possible fix for a pure libsoup HTTP cache.
        (send_async_cb): prevent an early object finalization adding a
        reference.
        (webkit_soup_request_http_send_async): Ditto.

2010-11-26  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Antonio Gomes.

        [Qt] Remove empty ScrollView::platformInit/platformDestroy
        https://bugs.webkit.org/show_bug.cgi?id=50079

        No new test is needed.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/qt/ScrollViewQt.cpp:

2010-11-26  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Fixing inspector tests.

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set timing):

2010-11-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: UI polish for Network and Resources panels.
        https://bugs.webkit.org/show_bug.cgi?id=50100

        - Fixed timing inconsistencies
        - Made grid user-selectable
        - Selection in network panel is made on name column only

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        (WebInspector.NetworkDataGridNode.prototype.createCells):
        (WebInspector.NetworkDataGridNode.prototype.select):
        (WebInspector.NetworkDataGridNode.prototype.get selectable):
        (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
        (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
        * inspector/front-end/Popover.js:
        (WebInspector.PopoverHelper):
        (WebInspector.PopoverHelper.prototype.setTimeout):
        (WebInspector.PopoverHelper.prototype._mouseMove):
        (WebInspector.PopoverHelper.prototype._handleMouseAction):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get responseReceivedTime):
        (WebInspector.Resource.prototype.set endTime):
        (WebInspector.Resource.prototype.set timing):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.didReceiveResponse):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
        * inspector/front-end/networkPanel.css:
        (.network-sidebar .data-grid td:not(.network-summary)):
        (.network-sidebar .data-grid td.name-column):
        (.network.panel:not(.viewing-resource) .network-sidebar td.name-column:hover):
        (.network-timing-row):
        (.network-timing-bar):
        (.network-timing-bar-title):
        (.resource-timing-view):

2010-11-26  Helder Correia  <helder@sencha.com>

        Reviewed by Ariya Hidayat.

        [Qt] Blur shadow for rectangle fill
        https://bugs.webkit.org/show_bug.cgi?id=44488

        Shadow color opacity needs to be set when blurring shadow with
        ContextShadow.

        Test: fast/canvas/canvas-fillRect-shadow.html

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

2010-11-26  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Rename IDBDatabase.objectStores to objectStoreNames
        https://bugs.webkit.org/show_bug.cgi?id=50102

        Rename as per the spec: http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface

        * manual-tests/indexeddb-persists.html:
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::objectStoreNames):
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:

2010-11-26  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBFactory::open should not have a description argument.
        https://bugs.webkit.org/show_bug.cgi?id=50087

        Modified exisiting tests to cover this change.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::setMetaData):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::create):
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBFactory.h:
        * storage/IDBFactory.idl:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:

2010-11-25  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        Assertion failure by resetting <output> twice
        https://bugs.webkit.org/show_bug.cgi?id=50095

        Don't call setTextContentInternal() when the value wouldn't
        be changed.

        Test: fast/forms/output-reset-assertion-failed.html

        * html/HTMLOutputElement.cpp:
        (WebCore::HTMLOutputElement::HTMLOutputElement): Calls
        setTextContentInternal() if and only if needed.
        (WebCore::HTMLOutputElement::reset): Ditto.
        (WebCore::HTMLOutputElement::setValue): Ditto.
        (WebCore::HTMLOutputElement::setDefaultValue): Ditto.

2010-11-24  Ryosuke Niwa  <rniwa@webkit.org>

        Crash when moving caret around a word with a first-letter rule and whitespace is not collapsible.
        https://bugs.webkit.org/show_bug.cgi?id=49652

        Fixed the crash by giving the correct end offset to emitText in handleTextNode.

        This patch does not fix a bug in TextIterator that incorrectly calculates
        the end offset of a word with a first-letter rule as demonstrated in the layout test
        because fixing the bug requires an overhaul of TextIterator and new behavior is consistent
        with the case when whitespace is collapsible.

        Test: editing/text-iterator/first-letter-word-boundary.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode):

2010-11-25  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by Kent Tamura.

        Fix typos in CSS grammar (HERZ -> HERTZ)
        https://bugs.webkit.org/show_bug.cgi?id=50094

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::lex):
        * css/tokenizer.flex:

2010-11-25  Antti Koivisto  <antti@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=50078
        Simplify CachedResource error handling code by getting rid of the m_httpStatusCodeErrorOccurred boolean.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::CachedImage):
        * loader/cache/CachedImage.h:
        (WebCore::CachedImage::shouldIgnoreHTTPStatusCodeErrors):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::shouldIgnoreHTTPStatusCodeErrors):
        (WebCore::CachedResource::httpStatusCodeErrorOccurred):
        * loader/loader.cpp:
        (WebCore::Loader::didReceiveData):

2010-11-25  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] Remove unnecessary save/restore in GraphicsContext::drawConvexPolygon()
        https://bugs.webkit.org/show_bug.cgi?id=50085

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        Remember the previous antialiasing mode and reset it after we're done.

2010-11-25  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Potential crash in JavaClassV8.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50016

        It is possible that we attempt to free uninitialised
        memory in the JavaClass destrctor when using V8 in the
        case that the JVM could not find the class in the constructor.

        It turns out that the troublesome m_name is not acutally
        used anywhere, so we remove it in this patch.

        No new tests, just removing dead code.

        * bridge/jni/v8/JavaClassV8.cpp: Remove unused m_name.
        * bridge/jni/v8/JavaClassV8.h: Ditto.

2010-11-25  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Better errors for not yet implemented features
        https://bugs.webkit.org/show_bug.cgi?id=50075

        Raise an exception if createObjectStore is called with autoIncrement
        set to true.

        Be a little bit more explicit in IDBBindingUtilities that we don't
        allow using Date objects as keys yet.

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):

2010-11-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: highlight diffs of revisions against base version.
        https://bugs.webkit.org/show_bug.cgi?id=50088

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype._showResourceView.callback):
        (WebInspector.ResourcesPanel.prototype._showResourceView):
        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.markDiff):
        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
        (WebInspector.SourceFrame.prototype._updateDiffDecorations.addDecorations):
        (WebInspector.SourceFrame.prototype._updateDiffDecorations):
        (WebInspector.SourceFrame.prototype._removeDiffDecorations):
        * inspector/front-end/SourceView.js:
        * inspector/front-end/textViewer.css:
        (.webkit-line-number):
        (.diff-container .webkit-added-line .webkit-line-content):
        (.diff-container .webkit-removed-line .webkit-line-content):
        (.diff-container .webkit-changed-line .webkit-line-content):
        * inspector/front-end/utilities.js:

2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72732.
        http://trac.webkit.org/changeset/72732
        https://bugs.webkit.org/show_bug.cgi?id=50089

        Made Qt bot sad and crashy (Requested by Ossy on #webkit).

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        * platform/network/qt/QNetworkReplyHandler.h:
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72734.
        http://trac.webkit.org/changeset/72734
        https://bugs.webkit.org/show_bug.cgi?id=50086

        Backing out 72732 which made Qt sad and crashy (Requested by
        kling on #webkit).

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously):

2010-11-25  Andreas Kling  <kling@webkit.org>

        Unreviewed crash fix for Qt 4.6.x.

        Check that QNetworkReplyHandler::reply() doesn't return null before
        using it (this code needs to work for Qt 4.6 as well.)

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously):

2010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72727.
        http://trac.webkit.org/changeset/72727
        https://bugs.webkit.org/show_bug.cgi?id=50084

        Broke dom-breakpoints test on chromium win (Requested by
        podivilov on #webkit).

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setNativeBreakpoint):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
        (WebCore::InspectorDOMAgent::createBreakpointId):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
        (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
        (WebInspector.DOMBreakpoint):
        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
        (WebInspector.EventListenerBreakpoint):
        (WebInspector.XHRBreakpoint):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.reset):
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._setDocument):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/inspector.js:
        (WebInspector.reset):
        (WebInspector.didCommitLoad):

2010-11-25  Peter Hartmann  <peter.hartmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] enable usage of synchronous HTTP feature in Qt
        https://bugs.webkit.org/show_bug.cgi?id=37191

        Currently, we spin an event loop when doing synchronous calls to
        wait for completion. This patch uses synchronous requests in Qt,
        if available, and spins the event loop as a fallback solution.
        Patch by Simon Hausmann and Peter Hartmann.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        * platform/network/qt/QNetworkReplyHandler.h:
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2010-11-25  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        V8 Bindings: remove faulty include in OptionsObject.h
        https://bugs.webkit.org/show_bug.cgi?id=50073

        There is no <wtf/NonCopyable.h>, and the code doesn't try to use it
        either.

        No new functionality, no new tests.

        * bindings/v8/OptionsObject.h:

2010-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Actually handle targetDensityDpi in computeViewportAttributes
        https://bugs.webkit.org/show_bug.cgi?id=50068

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):

2010-11-25  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add an OptionsObject class for IndexedDB (and later Geolocation)
        https://bugs.webkit.org/show_bug.cgi?id=50030

        Geolocation and IndexedDB both have the concept of an optional
        parameter that has various options supplied with it.  In
        Geolocation this was done with custom bindings, but I'm trying to
        avoid that for IndexedDB.  

        This first patch implements it in V8 and makes createObjectStore use it.
        The next patch will cover Geolocation and JSC.

        Test: storage/indexeddb/create-object-store-options.html

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::optionsObject):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_options_object):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj optionsObject:ooo:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::optionsObjectCallback):
        * bindings/v8/OptionsObject.cpp: Added.
        (WebCore::OptionsObject::OptionsObject):
        (WebCore::OptionsObject::~OptionsObject):
        (WebCore::OptionsObject::operator=):
        (WebCore::OptionsObject::undefinedOrNull):
        (WebCore::OptionsObject::getKeyBool):
        (WebCore::OptionsObject::getKeyString):
        (WebCore::OptionsObject::getKey):
        * bindings/v8/OptionsObject.h:
        * bindings/js/OptionsObject.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBDatabase.idl:

2010-11-24  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: set DOM breakpoints by path.
        https://bugs.webkit.org/show_bug.cgi?id=50017

        This change is needed to be able to push DOM breakpoints for all URL's to backend
        at frontend load.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setNativeBreakpoint):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
        (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
        (WebInspector.DOMBreakpoint):
        (WebInspector.DOMBreakpoint.prototype._setNodeId):
        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
        (WebInspector.EventListenerBreakpoint):
        (WebInspector.XHRBreakpoint):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype._reset):
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._reset):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._setDocument):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/inspector.js:
        (WebInspector.reset):
        (WebInspector.didCommitLoad):

2010-11-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: reuse code for recreating resource views.
        https://bugs.webkit.org/show_bug.cgi?id=50066

        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.refreshResource):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
        (WebInspector.ResourceManager.resourceViewForResource):
        (WebInspector.ResourceManager.recreateResourceView):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):

2010-11-25  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Disallow inserting records with NULL keys
        https://bugs.webkit.org/show_bug.cgi?id=50033

        Disallow inserting records with null keys into the object store.

        * storage/IDBKey.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::putInternal):

2010-11-25  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        g_signal_accumulator_first_wins was introduced in glib 2.27.1 so
        no need to use our version if that version of glib is used during
        the build.

        * platform/gtk/GtkVersioning.c:
        * platform/gtk/GtkVersioning.h:

2010-11-24  Jian Li  <jianli@chromium.org>

        Reviewed by Kenneth Russell.

        Implement DataView interface from Typed Array specification
        https://bugs.webkit.org/show_bug.cgi?id=46541

        Test: fast/canvas/webgl/data-view-test.html

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferViewWithArrayBufferArgument):
        (WebCore::constructArrayBufferView):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::dataView):
        * bindings/js/JSDataViewCustom.cpp: Added.
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):
        * bindings/v8/custom/V8DataViewCustom.cpp: Added.
        * html/canvas/ArrayBufferView.h:
        (WebCore::ArrayBufferView::isDataView):
        * html/canvas/DataView.cpp: Added.
        * html/canvas/DataView.h: Added.
        * html/canvas/DataView.idl: Added.
        * page/DOMWindow.idl:

2010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Windowless plugins gets broken key input
        https://bugs.webkit.org/show_bug.cgi?id=49927

        When converting the GdkEvent to XEvent we need to send the
        hardware_keycode as XEvent::keycode. Instead we where sending
        the GdkEvent::keyval. This is already tested by
        plugins/keyboard-events.html, but a bug in the test plugin was
        resulting in false positive.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::handleKeyboardEvent):

2010-11-24  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Implement FileWriterSync
        https://bugs.webkit.org/show_bug.cgi?id=49939

        Tests to follow in a separate CL, once the test framework in 47680 goes in.

        Build file changes to add FileWriterBase and FileWriterBaseCallback.
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
        * bindings/scripts/CodeGeneratorV8.pm:

        Added new AsyncFileWriter::waitForOperationToComplete to enable
        synchronous calls.
        * fileapi/AsyncFileWriter.h:

        Added a way to get a FileSystemSync.
        * fileapi/DOMFileSystemSync.cpp:
        * fileapi/FileEntrySync.cpp:
        * fileapi/FileEntrySync.h:
        * fileapi/FileEntrySync.idl:

        Added an error code for OK, rather than just having 0 everywhere.
        * fileapi/FileError.h:

        Turned FileWriterCallback into FileWriterBaseCallback.
        * fileapi/FileSystemCallbacks.cpp:
        * fileapi/FileSystemCallbacks.h:

        Refactored out a common base class, FileWriterBase, for FileWriter and
        FileWriterSync.
        * fileapi/FileWriter.cpp:
        * fileapi/FileWriter.h:
        * fileapi/FileWriterBase.cpp: Added.
        * fileapi/FileWriterBase.h: Added.
        * fileapi/FileWriterBaseCallback.h: Added.
        * fileapi/FileWriterSync.cpp:
        * fileapi/FileWriterSync.h:

        Small tweaks to deal with the base class refactoring.
        * fileapi/DOMFileSystem.cpp:
        * fileapi/DOMFileSystemSync.h:

        Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
        * fileapi/FileWriterSync.idl:

2010-11-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        Build fix for GTK+. There were some typos in my last build fix
        and the empty command (semicolon) seems to be necessary for wildcard
        rule chains.

        * GNUmakefile.am: Small build fixes.

2010-11-24  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: compositing/lots-of-img-layers-with-opacity.html
               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::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::drawLayer):
        (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-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] response.isNull() assert when using directory file URI
        https://bugs.webkit.org/show_bug.cgi?id=49018

        Do ensure that didReceiveResponse happens before any call to
        didReceiveData. That was not true for file:// URIs pointing to
        directories and thus was triggering an assertion.

        Test: platform/gtk/fast/loader/crash-display-local-directory.html

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::gotHeadersCallback):
        (WebCore::contentSniffedCallback):
        (WebCore::parseDataUrl):
        (WebCore::sendRequestCallback):
        (WebCore::readCallback):

2010-11-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * bindings/gobject/WebKitDOMBinding.h: fix stlye nit.

2010-11-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Make kit() methods return the proper type instead of gpointer
        https://bugs.webkit.org/show_bug.cgi?id=50034

        Change kit() methods to return proper type pointer.

        * bindings/gobject/WebKitDOMBinding.cpp: change implementions of
        kit methods.
        * bindings/gobject/WebKitDOMBinding.h: change their declarations.
        * bindings/scripts/CodeGeneratorGObject.pm: change the generated
        kit() methods.

2010-11-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build
        https://bugs.webkit.org/show_bug.cgi?id=50032

        Instead of listing two targets for rules that have two outputs, make
        a dependency chain. This fixes the issue where some files are generated
        unconditionally. Also remove all unnecessary semicolons from the file.

        No new tests as this is just a build fix.

        * GNUmakefile.am: Fix GNUmake dependency issue.

2010-11-24  Nico Weber  <nicolasweber@gmx.de>

        Reviewed by Adam Barth.

        Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders
        https://bugs.webkit.org/show_bug.cgi?id=49965

        Probably covered by existing tests whose expectations were overwritten
        in http://trac.webkit.org/changeset/70858

        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):

2010-11-24  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
        https://bugs.webkit.org/show_bug.cgi?id=50025

        @font-face rules were improperly handled by source data extractor.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markPropertyStart):
        (WebCore::CSSParser::markPropertyEnd):
        * css/CSSParser.h:

2010-11-24  Cris Neckar  <cdn@chromium.org>

        Reviewed by Adam Barth.

        Added check when parsing local fonts to ensure that a value's unit type is either string or ident.
        https://bugs.webkit.org/show_bug.cgi?id=49883

        Test: fast/css/local_font_invalid.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceSrc):

2010-11-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: place local modifications to under original
        resource nodes in the resource panel.
        https://bugs.webkit.org/show_bug.cgi?id=50029

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setInitialContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled.callback):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.prototype.setText):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.refreshResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set content):
        (WebInspector.Resource.prototype.get contentTimestamp):
        (WebInspector.Resource.prototype.setInitialContent):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype.setInitialContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype._innerShowView):
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
        (WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished):
        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
        (WebInspector.ResourceRevisionTreeElement):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.get scrollTop):
        (WebInspector.SourceFrame.prototype.set scrollTop):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.get scrollTop):
        (WebInspector.SourceView.prototype.set scrollTop):
        (WebInspector.SourceView.prototype._editLine):
        (WebInspector.SourceView.prototype._editLineComplete):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):

2010-11-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extension API cleanup
        https://bugs.webkit.org/show_bug.cgi?id=50019

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel):
        * inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes.
        (WebInspector.injectedExtensionAPI.Resources.resourceDispatch):
        (WebInspector.injectedExtensionAPI):
        (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
        (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.PanelImpl):
        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl):
        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane):
        (WebInspector.injectedExtensionAPI.ElementsPanel):
        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
        (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
        (WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch):
        (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
        (WebInspector.injectedExtensionAPI.InspectedWindow):
        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
        * inspector/front-end/ExtensionCommon.js:
        (WebInspector.commonExtensionSymbols):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
        (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
        (WebInspector.ExtensionServer.prototype.notifyPageLoaded):
        (WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onReload):
        (WebInspector.ExtensionServer.prototype._onGetHAR):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog):
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/inspector.js:
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.didCommitLoad):

2010-11-23  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Fix minor errors in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=49970

        * Remove SNAPSHOT_READ per spec.
        * Assert that the transaction that changes the db is a setVersion
          transaction.
        * When an objectStore already exists, throw a CONSTRAINT_ERR.
        * When not in a setVersion transaction, throw a NOT_ALLOWED_ERR.

        Test: storage/indexeddb/createAndRemoveObjectStore.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        * storage/IDBTransaction.h:
        * storage/IDBTransaction.idl:

2010-11-24  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] pause webkitvideosink during fullscreen video playback
        https://bugs.webkit.org/show_bug.cgi?id=48824

        Added an identity element before the webkitvideosink so that when
        fullscreen video is active the element can drop the incoming
        buffers so that webkitvideosink appears paused.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

2010-11-24  Avi Drissman  <avi@google.com>

        Reviewed by Antonio Gomes.

        Add preference to not select when right-clicked
        https://bugs.webkit.org/show_bug.cgi?id=23351

        Test: editing/selection/context-menu-text-selection.html

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):

2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>

        Reviewed by Csaba Osztrogonác.

        Make build-webkit --minimal build with ENABLE_INSPECTOR=0.
        https://bugs.webkit.org/show_bug.cgi?id=49975

        No new tests needed.

        * features.pri: Make the Qt buildsystem aware
        that the inspector is enabled by default.

2010-11-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
        https://bugs.webkit.org/show_bug.cgi?id=49143

        * platform/gtk/GtkVersioning.c:
        (g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of
        GLib before 2.28.
        * platform/gtk/GtkVersioning.h:

2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72499.
        http://trac.webkit.org/changeset/72499
        https://bugs.webkit.org/show_bug.cgi?id=50022

        This change is causing crashes on the bots. (Requested by
        mrobinson on #webkit).

        * accessibility/AccessibilityMenuListOption.cpp:
        (WebCore::AccessibilityMenuListOption::nameForMSAA):
        * accessibility/AccessibilityMenuListOption.h:
        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (setAtkStateSetFromCoreObject):
        (optionFromList):
        (optionFromSelection):
        (webkit_accessible_selection_add_selection):
        (webkit_accessible_selection_clear_selection):
        (webkit_accessible_selection_get_selection_count):
        (webkit_accessible_selection_is_child_selected):
        (webkit_accessible_selection_remove_selection):
        (webkit_accessible_text_get_text):
        (getInterfaceMaskFromObject):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show):

2010-11-24  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Simplify makeprop.pl
        https://bugs.webkit.org/show_bug.cgi?id=49925

        Don't generate CSSPropertyNamesHash.h.
        Instead generate CSSPropertyNames directly.

        * GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h.
        * css/makeprop.pl:

2010-11-24  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Remove Bakefile build system files
        https://bugs.webkit.org/show_bug.cgi?id=49983

        r53757 only removed the content, but not the files.
        This patch removes that empty files.

        * WebCoreSources.bkl: Removed.
        * webcore-base.bkl: Removed.
        * webcore-wx.bkl: Removed.

2010-11-24  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Andreas Kling.

        [Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions
        https://bugs.webkit.org/show_bug.cgi?id=49919

        Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt.
        Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin,
        because the previous one doesn't work currently.

        No new test is needed.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::toQtCompositionMode):
        (WebCore::toQtLineCap):
        (WebCore::toQtLineJoin):
        (WebCore::toQPenStyle):
        (WebCore::toQtFillRule):

2010-11-24  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Simplify makevalues.pl
        https://bugs.webkit.org/show_bug.cgi?id=49926

        Don't generate CSSValueKeywordsHash.h.
        Instead generate CSSValueKeywords.cpp directly. 

        * GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h.
        * css/makevalues.pl:

2010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>

        Reviewed by Kenneth Rohde Christiansen.

        Make WebKit2 compile with !ENABLE(INSPECTOR).
        https://bugs.webkit.org/show_bug.cgi?id=49973

        No new tests needed.

        * bindings/js/ScriptHeapSnapshot.h:
        * bindings/js/ScriptProfile.cpp:
        * bindings/js/ScriptProfile.h:
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        * inspector/InspectorProfilerAgent.h:
        * inspector/ScriptBreakpoint.h:

2010-11-24  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Simplify make-hash-tools.pl
        https://bugs.webkit.org/show_bug.cgi?id=49922

        HashTools.h does not need to be generated, because it only contains static code.

        * html/DocTypeStrings.gperf: Include findDoctypeEntry function.
        * make-hash-tools.pl: Do not generate HashTools.h.
        * platform/ColorData.gperf: Include findColor function.
        * platform/HashTools.h: Added.

2010-11-24  Andreas Kling  <kling@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects

        Without this, we could end up with a slightly too small shadow layer
        for some string/font combinations.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):

2010-11-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add timing tab to the network item view.
        https://bugs.webkit.org/show_bug.cgi?id=49920

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._showPopover):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set timing):
        * inspector/front-end/ResourceTimingView.js: Added.
        (WebInspector.ResourceTimingView):
        (WebInspector.ResourceTimingView.prototype.show):
        (WebInspector.ResourceTimingView.prototype._refresh):
        (WebInspector.ResourceTimingView.createTimingTable):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/networkPanel.css:
        (#network-views .network-item-view .tabbed-pane-header):
        (.resource-timing-view):
        (.resource-timing-view table):
        (.resource-timing-view .network-timing-bar):
        (.resource-timing-view .network-timing-bar.proxy):
        (.resource-timing-view .network-timing-bar.dns):
        (.resource-timing-view .network-timing-bar.connecting):
        (.resource-timing-view .network-timing-bar.ssl):
        (.resource-timing-view .network-timing-bar.sending):
        (.resource-timing-view .network-timing-bar.waiting):
        (.resource-timing-view .network-timing-bar.receiving):
        (.resource-timing-view.visible):

2010-11-24  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Follow up to r72652 (style id change in inspector).

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):

2010-11-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: refactor ResourceView hierarchy.
        https://bugs.webkit.org/show_bug.cgi?id=49864

        This refactoring splits ResourceView.js into:
            NetworkItemView.js (tabbed pane)
            ResourceHeadersView.js (header tab)
            ResourceCookiesView.js (cookies tab)
            ResourceView.js (base class for content tab).
        CookiesTable was extracted from CookieItemsView and
        brushed up. headersVisible flag has been removed.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype.get statusBarItems):
        (WebInspector.CookieItemsView.prototype.hide):
        (WebInspector.CookieItemsView.prototype.resize):
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
        (WebInspector.CookieItemsView.prototype._deleteCookie):
        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
        (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
        (WebInspector.SimpleCookiesTable):
        (WebInspector.SimpleCookiesTable.prototype.setCookies):
        (WebInspector.SimpleCookiesTable.prototype.resize):
        * inspector/front-end/CookiesTable.js: Added.
        (WebInspector.CookiesTable):
        (WebInspector.CookiesTable.prototype.updateWidths):
        (WebInspector.CookiesTable.prototype.setCookies):
        (WebInspector.CookiesTable.prototype.addCookiesFolder):
        (WebInspector.CookiesTable.prototype.get selectedCookie):
        (WebInspector.CookiesTable.prototype._rebuildTable):
        (WebInspector.CookiesTable.prototype.reset):
        (WebInspector.CookiesTable.prototype._populateNode):
        (WebInspector.CookiesTable.prototype._totalSize):
        (WebInspector.CookiesTable.prototype._sortCookies.localeCompare):
        (WebInspector.CookiesTable.prototype._sortCookies.numberCompare):
        (WebInspector.CookiesTable.prototype._sortCookies.expiresCompare):
        (WebInspector.CookiesTable.prototype._sortCookies):
        (WebInspector.CookiesTable.prototype._createGridNode):
        (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
        * inspector/front-end/FileSystemView.js:
        (WebInspector.FileSystemView.prototype._selectFileSystemTab):
        (WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab):
        * inspector/front-end/FontView.js:
        (WebInspector.FontView.prototype.hasContent):
        (WebInspector.FontView.prototype._createContentIfNeeded):
        (WebInspector.FontView.prototype.show):
        (WebInspector.FontView.prototype.updateFontPreviewSize):
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype.hasContent):
        (WebInspector.ImageView.prototype.show):
        * inspector/front-end/NetworkItemView.js: Added.
        (WebInspector.NetworkItemView):
        (WebInspector.NetworkItemView.prototype.show):
        (WebInspector.NetworkItemView.prototype._selectTab):
        (WebInspector.NetworkItemView.prototype._tabSelected):
        (WebInspector.NetworkItemView.prototype.resize):
        (WebInspector.NetworkItemView.prototype.selectContentTab):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.show):
        (WebInspector.NetworkPanel.prototype.refreshResource):
        (WebInspector.NetworkPanel.prototype._showResource):
        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
        * inspector/front-end/ResourceCookiesView.js: Added.
        (WebInspector.ResourceCookiesView):
        (WebInspector.ResourceCookiesView.prototype.show):
        * inspector/front-end/ResourceHeadersView.js: Added.
        (WebInspector.ResourceHeadersView):
        (WebInspector.ResourceHeadersView.prototype._refreshURL):
        (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
        (WebInspector.ResourceHeadersView.prototype._refreshFormData):
        (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
        (WebInspector.ResourceHeadersView.prototype._refreshParms):
        (WebInspector.ResourceHeadersView.prototype._toggleURLdecoding):
        (WebInspector.ResourceHeadersView.prototype._getHeaderValue):
        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype.hasContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype.showResource):
        (WebInspector.ResourcesPanel.prototype._showResourceView):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.resize):
        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
        (WebInspector.SourceView.prototype.hasContent):
        (WebInspector.SourceView.prototype.updateLocalContent):
        (WebInspector.SourceView.prototype.selectLocalContentTab):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.selectTab):
        (WebInspector.TabbedPane.prototype._showTab):
        (WebInspector.TabbedPane.prototype._hideTab):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.webkit-line-gutter-backdrop):
        (.resource-view):
        (.resource-view.visible):
        (.resource-view.font):
        (.resource-view.image > .image):
        (.resource-view.image > .info):
        (.storage-view):
        (.storage-view .data-grid):
        (.storage-empty-view, .storage-view .storage-table-error):
        (.storage-view .storage-table-error):
        * inspector/front-end/inspector.html:
        * inspector/front-end/networkPanel.css:
        (.network-cell-subtitle):
        (.network-header-subtitle):
        (#network-views .network-item-view .tabbed-pane-header):
        (#network-views.small .network-item-view .tabbed-pane-header):
        (.network-item-view):
        (.network-item-view.visible):
        (.network-item-view .tabbed-pane-header):
        (.network-item-view .scope-bar li):
        (.resource-headers-view):
        (.resource-headers-view.visible):
        (.resource-headers-view .outline-disclosure .parent):
        (.resource-headers-view .outline-disclosure .children li):
        (.resource-headers-view .outline-disclosure li.expanded .header-count):
        (.resource-headers-view .outline-disclosure .header-name):
        (.resource-headers-view .outline-disclosure .header-value):
        (.resource-headers-view .outline-disclosure .raw-form-data):
        (.resource-cookies-view):
        (.resource-cookies-view.visible):
        (.resource-cookies-view .data-grid):
        (.resource-cookies-view .data-grid .row-group):

2010-11-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add "Locally modified" group into the resource panel.
        https://bugs.webkit.org/show_bug.cgi?id=50005

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision):
        (WebInspector.ResourcesPanel.prototype._innerShowView):
        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
        (WebInspector.LocallyModifiedResourceTreeElement):
        (WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect):
        (WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions):
        (WebInspector.LocallyModifiedRevisionTreeElement):
        (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach):
        (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect):
        (WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart):

2010-11-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: pass style id to front-end as Object, not string.
        https://bugs.webkit.org/show_bug.cgi?id=49971

        * inspector/Inspector.idl:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStylesForNode2):
        (WebCore::InspectorCSSAgent::getStyleSheetText2):
        (WebCore::InspectorCSSAgent::setPropertyText2):
        (WebCore::InspectorCSSAgent::toggleProperty2):
        (WebCore::InspectorCSSAgent::setRuleSelector2):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::finalURL):
        (WebCore::InspectorStyleSheet::ruleForId):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::text):
        (WebCore::InspectorStyleSheet::ruleOrStyleId):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::text):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorCSSId::InspectorCSSId):
        (WebCore::InspectorCSSId::isEmpty):
        (WebCore::InspectorCSSId::styleSheetId):
        (WebCore::InspectorCSSId::ordinal):
        (WebCore::InspectorCSSId::asInspectorValue):
        (WebCore::InspectorStyleSheet::id):
        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled.callback):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.createForId):
        (WebInspector.CSSStyleSheet.prototype.setText):

2010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72647.
        http://trac.webkit.org/changeset/72647
        https://bugs.webkit.org/show_bug.cgi?id=50009

        breaks the http layout tests (Requested by philn-tp on
        #webkit).

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):
        (WebCore::startHttp):
        (WebCore::ResourceHandle::platformSetDefersLoading):

2010-11-23  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [soup] implement ResourceHandle::platformSetDefersLoading
        https://bugs.webkit.org/show_bug.cgi?id=44158

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
        using the soup_session_{,un}pause_message APIs.

2010-11-22  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        r71925 broke the chrome new tab page. r71925 blocked drag and drop
        of same security origin objects onto themselves if their origin is
        marked unique. We need to allow drag and drop in that scenario.
        https://bugs.webkit.org/show_bug.cgi?id=49098

        Test: http/tests/security/drag-drop-same-unique-origin.html

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canReceiveDragData):

2010-11-23  Cris Neckar  <cdn@chromium.org>

        Reviewed by Dimitri Glazkov.

        Removed unneeded conversions to RenderBlock.
        https://bugs.webkit.org/show_bug.cgi?id=49896

        Test: fast/css/input-search-table-column-crash.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):

2010-11-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Adam Barth.

        XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag
        https://bugs.webkit.org/show_bug.cgi?id=49701

        Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true.

        Test: fast/dom/script-clone-rerun-src.xhtml

        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::notifyFinished):

2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72628.
        http://trac.webkit.org/changeset/72628
        https://bugs.webkit.org/show_bug.cgi?id=49994

        This patch is causing layout-test failtures on GTK Linux
        64-bit Debug (Requested by ctguil on #webkit).

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderParentObject):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):

2010-11-23  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix IFrame DOM bindings API
        https://bugs.webkit.org/show_bug.cgi?id=49980

        Fix IFrame API naming. It needs special casing because of the two
        consecutive capital letters.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-11-23  Shimeng (Simon) Wang  <swang@google.com>

        Reviewed by Steve Block.

        Use platform bridge to set scroll position.
        https://bugs.webkit.org/show_bug.cgi?id=49550

        Refactoring only.  Existing tests shall suffice.

        * platform/android/PlatformBridge.h:
        * platform/android/ScrollViewAndroid.cpp:
        (WebCore::ScrollView::platformSetScrollPosition):

2010-11-23  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] Selecting shadowed text causes rendering artifacts
        https://bugs.webkit.org/show_bug.cgi?id=49990

        When selecting text starting from the end of a word, we need to use
        the X coordinate of the start of the substring when calculating the
        bounding rect for a ContextShadow.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):

2010-11-23  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Dimitri Glazkov.

        Include the FrameView widget of a RenderWidget in the accessibility tree.
        https://bugs.webkit.org/show_bug.cgi?id=49106

        Include render widget children in the accessibility tree for not mac webkit ports.

        Test: accessibility/iframe-has-document.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderParentObject):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):

2010-11-23  Chris Rogers  <crogers@google.com>

        Reviewed by Alexey Proskuryakov.

        Add .responseType and .response to XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=49633

        Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html
               fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html
               fast/xmlhttprequest/xmlhttprequest-responsetype-document.html
               fast/xmlhttprequest/xmlhttprequest-responsetype-text.html

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::markChildren):
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::response):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::responseText):
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::responseBlob):
        (WebCore::XMLHttpRequest::responseArrayBuffer):
        (WebCore::XMLHttpRequest::setResponseType):
        (WebCore::XMLHttpRequest::responseType):
        (WebCore::XMLHttpRequest::setAsBlob):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::asBlob):
        (WebCore::XMLHttpRequest::optionalResponseXML):
        (WebCore::XMLHttpRequest::optionalResponseBlob):
        (WebCore::XMLHttpRequest::responseTypeCode):
        (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
        * xml/XMLHttpRequest.idl:

2010-11-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        dispatchEvent call in EventSource endRequest can lead to calling endRequest
        again which frees up the pending activity. Make sure we have request in flight
        to prevent that from happening.
        https://bugs.webkit.org/show_bug.cgi?id=49448

        Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html

        * page/EventSource.cpp:
        (WebCore::EventSource::endRequest):
        (WebCore::EventSource::close):

2010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72618.
        http://trac.webkit.org/changeset/72618
        https://bugs.webkit.org/show_bug.cgi?id=49987

        "Newly added test is failing on Chromium-linux, patch author
        said to rollout" (Requested by jparent on #webkit).

        * editing/EditingBehavior.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):

2010-11-23  Avi Drissman  <avi@google.com>

        Reviewed by Antonio Gomes.

        Add preference to not select when right-clicked
        https://bugs.webkit.org/show_bug.cgi?id=23351

        Test: editing/selection/context-menu-text-selection.html

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):

2010-11-23  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [STYLES] invalid color values are not marked as such.
        https://bugs.webkit.org/show_bug.cgi?id=49960

        Properties having a valid structure but invalid values will also
        be marked as non-parsedOk in the Styles pane.

        * css/CSSGrammar.y:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::populateObjectWithStyleProperties):

2010-11-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Martin Robinson.

        [GTK] Building with Blob support fails
        https://bugs.webkit.org/show_bug.cgi?id=49724

        Build fix.

        * GNUmakefile.am:
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::seekFile): Not implemented.

2010-11-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        Make setShouldDelegateScrolling not a real setting, so that it works
        similar to the related setUseFixedLayout and setPaintEntireContents
        options which are all in ScrollView.

        * page/FrameView.cpp:
        * page/FrameView.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::setDelegatesScrolling):
        * platform/ScrollView.h:
        (WebCore::ScrollView::delegatesScrolling):

2010-11-23  Adam Roben  <aroben@apple.com>

        Don't rely on DocumentLoader outliving the load/unload events

        DocumentLoader::m_documentLoadTiming is used to record how long firing
        the load event took. But the DocumentLoader was being destroyed while
        the event was being dispatched (due to a call to document.open), which
        meant that when we tried to record the time when the load event
        finished, we were writing into freed memory. We now protect the
        DocumentLoader using a RefPtr. (I initially made a change where we
        would only access the DocumentLoader after the event has finished
        firing, but it seemed possible that a different DocumentLoader could
        have come into existence by then, which would cause us to record the
        times on the wrong DocumentLoadTiming struct.)

        I only saw a crash when firing the load event, but the code for timing
        the unload event seemed like it was vulnerable to the same issue, so I
        made the same fix for it.

        Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
        DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html

        Reviewed by Darin Fisher.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):
        Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
        RefPtr.

2010-11-17  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
        https://bugs.webkit.org/show_bug.cgi?id=49673

        Test: fast/canvas/webgl/read-pixels-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):

2010-11-23  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
        https://bugs.webkit.org/show_bug.cgi?id=49961

        "line-through" is used for inactive properties overridden within the same style.

        * inspector/front-end/inspector.css:
        (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):

2010-11-23  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial Navigation: Code cleanup
        https://bugs.webkit.org/show_bug.cgi?id=49442

        Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
        Added const to canBeScrolledIntoView.
        No new tests because this is only code cleanup.

        * page/FocusController.cpp:
        * page/FocusController.h:
        * page/SpatialNavigation.cpp:
        (WebCore::canBeScrolledIntoView):
        * page/SpatialNavigation.h:

2010-11-23  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Remove unimplemented (and untested) methods from IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=49911

        * storage/IDBCursor.idl:
        * storage/IDBDatabase.idl:

2010-11-18  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        For speech input event, send an event object containing all the recognition results and metadata.
        https://bugs.webkit.org/show_bug.cgi?id=49736

        Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
        has the full list of recognition results and populates only the top result into the input field
        automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
        code can access the full list of results via "event.results.length", "results[i].utterance" and
        "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.

        Test: fast/speech/input-onspeechchange-event.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS): Added new event
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8): Added new event
        * dom/Event.cpp:
        (WebCore::Event::isSpeechInputEvent):
        * dom/Event.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
        (WebCore::SpeechInputEvent::~SpeechInputEvent):
        (WebCore::SpeechInputEvent::create):
        (WebCore::SpeechInputEvent::isSpeechInputEvent):
        (WebCore::SpeechInputEvent::results):
        (WebCore::SpeechInputEvent::SpeechInputEvent):
        * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
        * page/SpeechInputListener.h:
        * page/SpeechInputResult.cpp:
        (WebCore::SpeechInputResult::create):
        * page/SpeechInputResult.h:
        * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
        * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
        (WebCore::SpeechInputResultList::create):
        (WebCore::SpeechInputResultList::length):
        (WebCore::SpeechInputResultList::item):
        (WebCore::SpeechInputResultList::SpeechInputResultList):
        * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
        (WebCore::SpeechInputClientMock::clearResults):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.

2010-11-22  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49860
        CSS style rules don't GC protect objects reachable as their properties

        Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        Added new files, sorted appropriate sections for easier adding.

        * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
        (WebCore::JSCSSFontFaceRule::markChildren):
        * bindings/js/JSCSSImportRuleCustom.cpp: Added.
        (WebCore::JSCSSImportRule::markChildren):
        * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
        (WebCore::JSCSSMediaRule::markChildren):
        * bindings/js/JSCSSPageRuleCustom.cpp: Added.
        (WebCore::JSCSSPageRule::markChildren):
        * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
        (WebCore::JSCSSStyleRule::markChildren):
        * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
        (WebCore::JSWebKitCSSKeyframeRule::markChildren):
        * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
        (WebCore::JSWebKitCSSKeyframesRule::markChildren):
        Mark objects reachable through these ones.

        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSStyleRule.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSKeyframesRule.idl:
        Added CustomMarkFunction IDL attribute.

2010-11-23  Helder Correia  <helder@sencha.com>

        Reviewed by Ariya Hidayat.

        [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
        https://bugs.webkit.org/show_bug.cgi?id=49878

        Add support for blurry shadows when drawing images on canvas.

        Test: fast/canvas/canvas-drawImage-shadow.html

        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.

2010-11-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Port ContextMenuWin.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48408

        * platform/ContextMenu.h:
        * platform/win/ContextMenuWin.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::itemCount):
        (WebCore::insertMenuItem):
        (WebCore::ContextMenu::insertItem):
        (WebCore::contextMenuItemByIdOrPosition):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::contextMenuItemVector):
        (WebCore::platformMenuDescription):

2010-11-22  David Hyatt  <hyatt@apple.com>

        Back out r72527 since it caused multiple rendering regressions.  Details in bug.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):

2010-11-22  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Steve Block.

        Implement mocks for client-based Geolocation.
        https://bugs.webkit.org/show_bug.cgi?id=49258

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mock/GeolocationClientMock.cpp: Added.
        (WebCore::GeolocationClientMock::GeolocationClientMock):
        (WebCore::GeolocationClientMock::~GeolocationClientMock):
        (WebCore::GeolocationClientMock::setController):
        (WebCore::GeolocationClientMock::setPosition):
        (WebCore::GeolocationClientMock::setError):
        (WebCore::GeolocationClientMock::geolocationDestroyed):
        (WebCore::GeolocationClientMock::startUpdating):
        (WebCore::GeolocationClientMock::stopUpdating):
        (WebCore::GeolocationClientMock::setEnableHighAccuracy):
        (WebCore::GeolocationClientMock::lastPosition):
        (WebCore::GeolocationClientMock::timerFired):
        (WebCore::GeolocationClientMock::makeGeolocationCallback):
        * platform/mock/GeolocationClientMock.h: Added.

2010-11-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Fix bogus include guard.

        * loader/NavigationScheduler.h:

2010-11-22  Andreas Kling  <kling@webkit.org>

        Reviewed by Ariya Hidayat.

        [Qt] Canvas: strokeText() and fillText() produce same shadow
        https://bugs.webkit.org/show_bug.cgi?id=48845

        Test: fast/canvas/canvas-strokeText-strokes-shadow.html

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.

2010-11-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Sam Weinig.

        Use WTF::FixedArray::size()
        https://bugs.webkit.org/show_bug.cgi?id=49891

        * dom/Document.cpp:
        (WebCore::Document::~Document):

2010-11-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        SelectionController::typingStyle() should return EditingStyle*
        https://bugs.webkit.org/show_bug.cgi?id=49813

        Changed the return type of SelectionController::typingStyle to EditingStyle*.

        Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
        CSSMutableStyleDeclaration.

        Also extracted the code to preserve unicode-bidi and direction CSS properties in
        InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
        which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
        these two properties are preserved.

        Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
        CSSMutableStyleDeclaration.

        No new tests are added since this is a refactoring.

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
        (WebCore::EditingStyle::prepareToApplyAt): See above.
        (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
        * editing/EditingStyle.h: Moved WritingDirection from Editor.h
        * editing/Editor.cpp:
        (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
        (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
        (WebCore::Editor::selectionComputedStyle): Ditto.
        (WebCore::Editor::styleForSelectionStart): Ditto.
        * editing/Editor.h:
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
        * editing/SelectionController.h:
        (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
        (WebCore::SelectionController::copyTypingStyle): Added.

2010-11-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Set correct preprocessor definitions
        https://bugs.webkit.org/show_bug.cgi?id=49887

        * config.h:

2010-11-22  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] font-size:0 text runs should have zero width
        https://bugs.webkit.org/show_bug.cgi?id=49871

        Returns 0 from platformWidthForGlyph if the specified font size is 0.

        Test: fast/text/font-size-zero.html

        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::platformWidthForGlyph):

2010-11-22  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Fisher.

        Update correct content state during back/forward navigations
        https://bugs.webkit.org/show_bug.cgi?id=48809

        Ensures that history's previousItem is non-null when clients try to
        update content state (e.g., Chromium's UpdateSessionHistory).  We now
        track load completions with a boolean field rather than by clearing
        previousItem.

        Test: fast/history/saves-state-after-frame-nav.html

        * loader/HistoryController.cpp:
        * loader/HistoryController.h:

2010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>

        Unreviewed, Windows build fix.

        Adding JSMediaQueryList to DerivedSources.cpp.

        * DerivedSources.cpp:

2010-11-22  Adam Roben  <aroben@apple.com>

        Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files

        Apple's Windows build allows placing header files and import libraries for WebKit's
        dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
        $WebKitLibrariesDir environment variable. This is both required for production builds and
        convenient for Apple-internal developer builds. Apple's production builds also require that
        WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
        builds, the files are copied into that directory tree by the
        WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
        copying is done by
        JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.

        This .vsprops copying is problematic in one very important case: when a developer updates
        their source tree and then tries to build. Visual Studio only reads .vsprops files when a
        project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
        updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
        build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
        $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
        will proceed with out-of-date .vsprops files, which will likely result in a build failure.

        To fix this, we now use normal relative paths to access the .vsprops files in the source
        tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
        variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
        unset, so the normal relative paths are used to read the .vsprops files out of the source
        tree directly. In production builds, this environment variable is set to a fake directory
        that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
        is resolved.
        
        For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:

        $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops

        In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
        files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
        JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
        "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
        FeatureDefines.vsprops becomes:

        $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops

        which resolves to:

        $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops

        (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
        actually exist since they are matched by an equal number of ".." path components.)

        Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
        Studio is open, but that problem hasn't seemed to cause developers many headaches so far.

        Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
        updated

        Reviewed by Dave Hyatt.

        * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
        production builds can find the .vsprops files.

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCore.vcproj:
        Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
        files.

2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Darin Adler.

        Implement CSSOM View matchMedia interface
        https://bugs.webkit.org/show_bug.cgi?id=37205

        New interfaces may be used to evaluate media queries and to associate listeners
        to media queries. Those listeners are called whenever the associated query changes.
        Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface

        operator== added to JS version of ScriptValue.
        Method isFunction added to JS and V8 versions of ScriptValue.

        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::isFunction):
        * bindings/js/ScriptValue.h:
        (WebCore::ScriptValue::operator==):
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::isFunction):

        Some changes were needed to the code generators to handle type MediaQueryListListener.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:

        Some changes to the bindings test results that were previously added.

        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):

        New interfaces:

        * css/MediaQueryList.cpp: Added.
        * css/MediaQueryList.h: Added.
        * css/MediaQueryList.idl: Added.

        * css/MediaQueryListListener.cpp: Added.
        * css/MediaQueryListListener.h: Added.
        * css/MediaQueryListListener.idl: Added.

        To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.

        * css/MediaQueryMatcher.cpp: Added.
        * css/MediaQueryMatcher.h: Added.

        Document and DOMWindow have changed to support new features. DOMWindow is the class that
        publishes methods matchMedia but for page cache to work properly the reference to the
        MediaQueryMatcher must be in Document.

        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::mediaQueryMatcher):
        (WebCore::Document::styleSelectorChanged):
        * dom/Document.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::matchMedia):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

        Build systems

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:

        Tests: fast/media/media-query-list-01.html
               fast/media/media-query-list-02.html
               fast/media/media-query-list-03.html
               fast/media/media-query-list-04.html
               fast/media/media-query-list-05.html
               fast/media/media-query-list-06.html
               fast/media/media-query-list-07.html

2010-11-22  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
        https://bugs.webkit.org/show_bug.cgi?id=49804

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::setStyleSheetText2):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::asCSSRuleList):
        (WebCore::InspectorStyleSheet::reparseStyleSheet):
        (WebCore::InspectorStyleSheet::setText):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::ruleForId):
        (WebCore::InspectorStyleSheet::ruleIndexByStyle):
        (WebCore::InspectorStyleSheet::ensureText):
        (WebCore::InspectorStyleSheet::ensureSourceData):
        (WebCore::InspectorStyleSheet::ensureFlatRules):
        (WebCore::InspectorStyleSheet::revalidateStyle):
        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
        (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
        (WebCore::InspectorStyleSheet::collectFlatRules):
        * inspector/InspectorStyleSheet.h:

2010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: dump inspector protocol messages into console.
        Sometimes I need to dump inspector messages into console.
        It'd be much simple to have this code in repository and
        enable protocol dumping just by a flag.

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

        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype.reset):
        * inspector/front-end/inspector.js:
        (WebInspector_syncDispatch):

2010-11-22  Andreas Kling  <kling@webkit.org>

        Reviewed by Nikolas Zimmermann.

        GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
        https://bugs.webkit.org/show_bug.cgi?id=49840

        This avoid copying a Path object when drawing focus rings.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * rendering/RenderImage.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        (WebCore::RenderImage::paintFocusRing):
        Renamed from paintFocusRings since it only paints one ring.

2010-11-22  Renata Hodovan  <reni@webkit.org>

        Reviewed by Andreas Kling.

        Outside list bullets ignore text-align style.
        https://bugs.webkit.org/show-bug.cgi?id=15713

        Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
        First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
        position. As for the others, this sum should be decremented with the previous marker's width.
        In case of vertical markers the padding is unneeded.

        Test: fast/lists/outSideListMarkers.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):

2010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial Navigation: issues with the node selection algorithm.
        https://bugs.webkit.org/show_bug.cgi?id=49382

        Modify the Spatial Navigation algorithm, to better handle initial focus and
        navigation between frames.
        The new algorithm takes the rect of the focused node as the startingRect,
        instead of the node itself. That allows us to construct a virtual rect if
        there is no focused node, or if it is off the screen.
        The virtual rect is the edge of the container in the direction of the navigation.

        With this patch, scrollable containers and frames will scroll regardless of weather
        they have focusable content. Users will be able to use arrow keys to view all the
        content of such a container. The only exception is if the container has style overflow:hidden. 
        We will not scroll in that case.

        With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
        we do a hit test and only the node on top can get focus.

        hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
        its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
        and cannot scroll.

        calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
        the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
        allowed to scroll.

        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateIfNeeded):
        (WebCore::FocusController::findFocusCandidateInContainer):
        (WebCore::FocusController::advanceFocusDirectionallyInContainer):
        (WebCore::FocusController::advanceFocusDirectionally):
        * page/FocusController.h:
        * page/FrameView.h:
        * page/SpatialNavigation.cpp:
        (WebCore::FocusCandidate::FocusCandidate):
        (WebCore::distanceDataForNode):
        (WebCore::alignmentForRects):
        (WebCore::areRectsMoreThanFullScreenApart):
        (WebCore::isRectInDirection):
        (WebCore::hasOffscreenRect):
        (WebCore::scrollInDirection):
        (WebCore::isScrollableContainerNode):
        (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
        (WebCore::canScrollInDirection):
        (WebCore::rectToAbsoluteCoordinates):
        (WebCore::nodeRectInAbsoluteCoordinates):
        (WebCore::frameRectInAbsoluteCoordinates):
        (WebCore::entryAndExitPointsForDirection):
        (WebCore::canBeScrolledIntoView):
        (WebCore::virtualRectForDirection):
        * page/SpatialNavigation.h:

2010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Fix various problems with the SVG*List code
        https://bugs.webkit.org/show_bug.cgi?id=49880

        Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
        SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
        by the various valueAsString() functions for maximum compatibility with Firefox / Opera.

        * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
        * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
        * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
        * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.

        Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
               svg/dom/SVGNumberList-basics.xhtml
               svg/dom/SVGPointList-basics.xhtml
               svg/dom/SVGStringList-basics.xhtml
               svg/dom/SVGTransformList-basics.xhtml

        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
        (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::synchronizeProperty): Ditto.
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::synchronizeProperty): Ditto.
        * svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
        * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
        * svg/SVGNumberList.cpp:
        (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
        * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
        * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::synchronizeProperty): Ditto.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
        * svg/SVGStringList.cpp:
        (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
        * svg/SVGStringList.h:
        * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
        (WebCore::SVGTests::SVGTests):
        (WebCore::SVGTests::isValid):
        (WebCore::SVGTests::parseMappedAttribute):
        (WebCore::SVGTests::isKnownAttribute):
        (WebCore::SVGTests::handleAttributeChange):
        (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
        (WebCore::SVGTests::synchronizeRequiredFeatures):
        (WebCore::SVGTests::synchronizeRequiredExtensions):
        (WebCore::SVGTests::synchronizeSystemLanguage):
        (WebCore::SVGTests::requiredFeatures):
        (WebCore::SVGTests::requiredExtensions):
        (WebCore::SVGTests::systemLanguage):
        * svg/SVGTests.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/SVGTransform.cpp:
        (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
        * svg/SVGTransform.h:
        * svg/SVGTransformList.cpp:
        (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
        * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
        (WebCore::SVGListProperty::initializeValuesAndWrappers):
        (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
        (WebCore::SVGListProperty::replaceItemValues):
        (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
        (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
        (WebCore::SVGListProperty::appendItemValuesAndWrappers):
        (WebCore::SVGListProperty::role): Expose the role of this list property.
        * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
        (WebCore::SVGPathSegListPropertyTearOff::initialize):
        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
        * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
        * svg/properties/SVGPropertyTearOff.h:
        (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
        (WebCore::SVGPropertyTearOff::role):
        (WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
        * svg/properties/SVGStaticPropertyTearOff.h:
        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
        * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
        (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):

2010-11-22  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
        https://bugs.webkit.org/show_bug.cgi?id=49374

        Test: fast/css/font-face-data-uri.html

        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
        extension" for data URI. For other URI, check against ".eot" rather
        than "eot".

2010-11-21  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Use WTF_ARRAY_LENGTH in WebCore directory
        https://bugs.webkit.org/show_bug.cgi?id=49882

        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::ConfigureV8TestObjTemplate):
        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAnimationShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):
        * dom/ExceptionCode.cpp:
        (WebCore::getExceptionCodeDescription):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
        * editing/EditingStyle.cpp:
        * editing/Editor.cpp:
        (WebCore::triStateOfStyle):
        * editing/EditorCommand.cpp:
        (WebCore::createCommandMap):
        * editing/MarkupAccumulator.cpp:
        (WebCore::appendCharactersReplacingEntities):
        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::getCachedMaxIndex):
        (WebCore::WebGLBuffer::setCachedMaxIndex):
        * loader/FTPDirectoryParser.cpp:
        (WebCore::parseOneFTPLine):
        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::updateFromElement):
        * page/animation/AnimationBase.cpp:
        (WebCore::addShorthandProperties):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hasValidAvgCharWidth):
        * rendering/break_lines.cpp:
        * svg/SVGTransformable.cpp:
        (WebCore::parseAndSkipType):
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::parseViewSpec):
        * svg/SVGZoomAndPan.cpp:
        (WebCore::SVGZoomAndPan::parseZoomAndPan):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::createFunctionMap):

2010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] Implement ROLE_COMBO_BOX
        https://bugs.webkit.org/show_bug.cgi?id=25678

        Implement the remaining bits for combo boxes.

        This patch finishes the implementation, from the point of view of
        the Atk library, of those objects exposed to ATK as combo boxes,
        and their related elements (menus and menu items). It therefore
        implements the proper interfaces for each type of object related
        to combo boxes (AtkSelection for the combo box, AtkText for every
        menu item and AtkAction for the combo box, the menu and the menu
        items), takes care of emitting the proper signals when focus or a
        given a selection changes and adds a new unit test to check all
        this new stuff.

        Make possible to ask an AccessibleMenuListOption for a sensible
        string representation, so far only available through the private
        and MSAA related method nameForMSAA. Just moved the implementation
        of that method to an overriden version of stringValue(), which is
        platform independent, and called that from nameForMSAA().

        * accessibility/AccessibilityMenuListOption.h:
        * accessibility/AccessibilityMenuListOption.cpp:
        (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
        stringValue(), which holds from now on that used to be here.
        (WebCore::AccessibilityMenuListOption::stringValue): New, override
        of AccessibilityObject::stringValue() to return a proper string.

        Emit the missing signals when a selection is made.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
        'focus' signals when a selection is made over the combo box.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
        Atk states are added to the state set when needed.
        (listObjectForSelection): New, returns the proper list object (the
        one holding the list of available options as its children) for an
        specific AtkObject implementing AtkSelection. This is needed
        because sometimes the selectable options are not directly children
        of the AtkSelection object (i.e. a combo box has a 'menu' object
        as its only child of it, holding the list of options as children).
        (optionFromList): Use listObjectForSelection() to get the actual
        object holding the list of children as the available options.
        (optionFromSelection): Add support for combo boxes.
        (webkit_accessible_selection_add_selection): Ditto.
        (webkit_accessible_selection_clear_selection): Ditto.
        (webkit_accessible_selection_get_selection_count): Ditto.
        (webkit_accessible_selection_is_child_selected): Ditto.
        (webkit_accessible_selection_remove_selection): Ditto.
        (webkit_accessible_text_get_text): Makes sure stringValue() is
        considered to get the result substring when it was already
        considered when checking the maximum text length for the object.
        (getInterfaceMaskFromObject): Make sure the AtkSelection interface
        is implemented for the combo boxes, that the AtkText is
        implemented for the menu items and that the AtkAction interface is
        now implemented for every object (WebCore will decide what to do).

        Avoid a segfault crash when using this from unit tests.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
        before calling gdk_window_get_origin() over it.

2010-11-21  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Use WTF_ARRAY_LENGTH in WebCore/platform directory
        https://bugs.webkit.org/show_bug.cgi?id=49881

        * platform/KURL.cpp:
        (WebCore::portAllowed):
        * platform/KURLGoogle.cpp:
        (WebCore::portAllowed):
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedJavaScriptMIMETypes):
        (WebCore::initializeSupportedNonImageMimeTypes):
        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
        * platform/graphics/GraphicsTypes.cpp:
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCodepage::if):
        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::disableComponentsOnce):
        * platform/graphics/mac/SimpleFontDataATSUI.mm:
        (WebCore::SimpleFontData::checkShapesArabic):
        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::disableComponentsOnce):
        * platform/graphics/win/QTMovie.cpp:
        (QTMovie::load):
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::createStreams):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::pruneBlacklistedCodecs):
        * platform/text/transcoder/FontTranscoder.cpp:
        (WebCore::FontTranscoder::FontTranscoder):

2010-11-20  Andreas Kling  <kling@webkit.org>

        Rubber-stamped by Antonio Gomes.

        [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::isEmptyValue):
        (WebCore::FontPlatformData::FontPlatformData):

2010-11-20  Andreas Kling  <kling@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Limit the size of image preview "cursor" when dragging
        https://bugs.webkit.org/show_bug.cgi?id=49872

        Respect DragController::maxDragImageSize() (currently 400x400.)

        * platform/qt/DragImageQt.cpp:
        (WebCore::dragImageSize):
        (WebCore::scaleDragImage):

2010-11-20  Andreas Kling  <kling@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
        https://bugs.webkit.org/show_bug.cgi?id=49870

        Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.

        * page/qt/FrameQt.cpp:
        (WebCore::Frame::dragImageForSelection):
        * platform/qt/DragImageQt.cpp:
        (WebCore::deleteDragImage):
        (WebCore::createDragImageFromImage):

2010-11-20  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Memory managament for DOM GObject wrappers
        https://bugs.webkit.org/show_bug.cgi?id=40302

        Initial attempt to have a kind of poor man's garbage collection
        for GObject DOM objects. We tie the object's lifecycle to their
        parent Frame and/or its document; that is, all objects will be
        collected when their parent frame is destroyed or when that frame
        transitions to a new document. Manual management (calling
        g_object_unref on them) is also allowed, and is required for
        objects that are not in the DOM tree (eg NodeLists).

        * GNUmakefile.am:
        * bindings/gobject/DOMObjectCache.cpp: Added.
        * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
        * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
        * bindings/gobject/WebKitDOMBinding.h: ditto.
        * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.

2010-11-20  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Path stroke lacks blur shadow support
        https://bugs.webkit.org/show_bug.cgi?id=49490

        Add blur shadow support to strokePath().

        Test: fast/canvas/canvas-strokePath-shadow.html

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

2010-11-20  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by David Kilzer.

        [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
        https://bugs.webkit.org/show_bug.cgi?id=49518

        HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.

        * platform/graphics/WOFFFileFormat.cpp:

2010-11-20  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by David Kilzer.

        [BREWMP] Use std_wstrlen instead of WSTRLEN
        https://bugs.webkit.org/show_bug.cgi?id=49516

        WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.

        * platform/text/brew/StringBrew.cpp:
        (WTF::String::String):

2010-11-20  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Kilzer.

        [WINCE] Implement textBreakLast and textBreakPrevious
        https://bugs.webkit.org/show_bug.cgi?id=49552

        This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
        Also unify the different TextBreakIterator::first() implementations.

        * platform/text/wince/TextBoundariesWinCE.cpp: Removed.
        * platform/text/wince/TextBreakIteratorWinCE.cpp:
        (WebCore::TextBreakIterator::first):
        (WebCore::TextBreakIterator::last):
        (WebCore::textBreakLast):
        (WebCore::textBreakPrevious):

2010-11-20  Andreas Kling  <kling@webkit.org>

        Reviewed by David Kilzer.

        Path: Remove unused method swap()
        https://bugs.webkit.org/show_bug.cgi?id=49853

        * platform/graphics/Path.h:

2010-11-20  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary

        Reviewed by Dan Bernstein.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
        RetainPtr<NSDictionary> for movieAttributes.

2010-11-20  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Use String::fromUTF8 instead of UTF8Encoding().decode
        in the libxml XMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=45488

        * dom/XMLDocumentParser.cpp:
        (WebCore::toString):

2010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Dirk Schulze.

        FilterPrimitives should have a pointer to its Filter object.
        https://bugs.webkit.org/show_bug.cgi?id=49863

        FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
        This patch adds this member to FilterEffect.

        No new test is needed because these modifications are covered by all of SVG Filter tests.

        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::FEBlend):
        (WebCore::FEBlend::create):
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEBlend.h:
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::FEColorMatrix):
        (WebCore::FEColorMatrix::create):
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEColorMatrix.h:
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::FEComponentTransfer):
        (WebCore::FEComponentTransfer::create):
        (WebCore::FEComponentTransfer::apply):
        * platform/graphics/filters/FEComponentTransfer.h:
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::FEComposite):
        (WebCore::FEComposite::create):
        (WebCore::FEComposite::determineAbsolutePaintRect):
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
        (WebCore::FEConvolveMatrix::create):
        (WebCore::FEConvolveMatrix::apply):
        * platform/graphics/filters/FEConvolveMatrix.h:
        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
        * platform/graphics/filters/FEDiffuseLighting.cpp:
        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
        (WebCore::FEDiffuseLighting::create):
        * platform/graphics/filters/FEDiffuseLighting.h:
        * platform/graphics/filters/FEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::FEDisplacementMap):
        (WebCore::FEDisplacementMap::create):
        (WebCore::FEDisplacementMap::apply):
        * platform/graphics/filters/FEDisplacementMap.h:
        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
        * platform/graphics/filters/FEFlood.cpp:
        (WebCore::FEFlood::FEFlood):
        (WebCore::FEFlood::create):
        (WebCore::FEFlood::apply):
        * platform/graphics/filters/FEFlood.h:
        (WebCore::FEFlood::determineAbsolutePaintRect):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::FEGaussianBlur):
        (WebCore::FEGaussianBlur::create):
        (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::FELighting):
        (WebCore::FELighting::apply):
        * platform/graphics/filters/FELighting.h:
        (WebCore::FELighting::determineAbsolutePaintRect):
        * platform/graphics/filters/FEMerge.cpp:
        (WebCore::FEMerge::FEMerge):
        (WebCore::FEMerge::create):
        (WebCore::FEMerge::apply):
        * platform/graphics/filters/FEMerge.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::FEMorphology):
        (WebCore::FEMorphology::create):
        (WebCore::FEMorphology::determineAbsolutePaintRect):
        (WebCore::FEMorphology::apply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FEOffset.cpp:
        (WebCore::FEOffset::FEOffset):
        (WebCore::FEOffset::create):
        (WebCore::FEOffset::determineAbsolutePaintRect):
        (WebCore::FEOffset::apply):
        * platform/graphics/filters/FEOffset.h:
        * platform/graphics/filters/FESpecularLighting.cpp:
        (WebCore::FESpecularLighting::FESpecularLighting):
        (WebCore::FESpecularLighting::create):
        * platform/graphics/filters/FESpecularLighting.h:
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::FETile):
        (WebCore::FETile::create):
        (WebCore::FETile::apply):
        * platform/graphics/filters/FETile.h:
        (WebCore::FETile::determineAbsolutePaintRect):
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::FETurbulence):
        (WebCore::FETurbulence::create):
        (WebCore::FETurbulence::apply):
        * platform/graphics/filters/FETurbulence.h:
        (WebCore::FETurbulence::determineAbsolutePaintRect):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::FilterEffect):
        (WebCore::FilterEffect::determineAbsolutePaintRect):
        (WebCore::FilterEffect::effectContext):
        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::filter):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::create):
        (WebCore::SourceAlpha::determineAbsolutePaintRect):
        (WebCore::SourceAlpha::apply):
        * platform/graphics/filters/SourceAlpha.h:
        (WebCore::SourceAlpha::SourceAlpha):
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::create):
        (WebCore::SourceGraphic::determineAbsolutePaintRect):
        (WebCore::SourceGraphic::apply):
        * platform/graphics/filters/SourceGraphic.h:
        (WebCore::SourceGraphic::SourceGraphic):
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives):
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGResourceContainer):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::build):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::build):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::build):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::build):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::build):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::build):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::build):
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::build):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build):
        * svg/SVGFEImageElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::build):
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::build):
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::build):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::build):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::build):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::build):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::create):
        (WebCore::FEImage::determineAbsolutePaintRect):
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
        * svg/graphics/filters/SVGFilterBuilder.h:
        (WebCore::SVGFilterBuilder::create):

2010-11-20  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] GraphicsContext::strokeArc() is not necessary any more
        https://bugs.webkit.org/show_bug.cgi?id=49859

        Remove strokeArc() from the Qt port.

        No test is needed.

        * platform/graphics/qt/GraphicsContextQt.cpp:

2010-11-20  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Path fill lacks blur shadow support
        https://bugs.webkit.org/show_bug.cgi?id=49491

        Add blur shadow support to fillPath().

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

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

2010-11-19  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by James Robinson.

        Scaled Resized images are blurred when sent to Skia
        https://bugs.webkit.org/show_bug.cgi?id=42370

        This patch modifies ImageSkia.cpp to fix the calculation of resampled
        bitmap sizes so as to include the transform matrix of the canvas.
        Includes a new test to catch a regression that occured the first time
        this patch was applied.

        Tests: svg/custom/image-rescale-scroll.html
               svg/custom/image-rescale.svg

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        (WebCore::drawResampledBitmap):

2010-11-19  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Regression: contraction is considered misspelling.
        https://bugs.webkit.org/show_bug.cgi?id=49423
        <rdar://problem/8654206>

        Test: platform/mac/editing/spelling/autocorrection-contraction.html
              manual-tests/autocorrection/autocorrection-contraction.html

        * editing/Editor.cpp:
        (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
          be used by all other functions in the file.
        (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
          to improve readability, and to pass in additional argument. Before we apply pending
          autocorrection, we check to see if currently typed character makes current word a partial
          contraction, for instance "wouldn'". If that's the case, we would not apply the pending
          correction.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
          is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
          the location of ambiguous boundary if other replacements have changed the length of the
          paragraph.
        * editing/Editor.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
        * manual-tests/autocorrection/autocorrection-contraction.html: Added.

2010-11-19  Andreas Kling  <kling@webkit.org>

        Reviewed by Antonio Gomes.

        ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
        https://bugs.webkit.org/show_bug.cgi?id=49854

        * page/FrameView.cpp:
        (WebCore::FrameView::delegatesScrolling):
        (WebCore::FrameView::avoidScrollbarCreation):
        * page/FrameView.h:
        * platform/ScrollView.h:
        (WebCore::ScrollView::delegatesScrolling):
        (WebCore::ScrollView::avoidScrollbarCreation):

2010-11-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: scripts panel should be shown before execution line is scrolled into view.
        https://bugs.webkit.org/show_bug.cgi?id=49792

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):

2010-11-19  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Fix whitespace character handling in complex text on linux
        https://bugs.webkit.org/show_bug.cgi?id=49771

        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
        (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
        (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
        (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
        (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
        (WebCore::TextRunWalker::getNormalizedTextRun):

2010-11-19  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
        https://bugs.webkit.org/show_bug.cgi?id=49819

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreGenerated.vcproj:

2010-11-19  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
        Add WebKit2 API relevant to customization of context menus

        * WebCore.exp.in:

2010-11-19  Michael Saboff  <msaboff@apple.com>

        Reviewed by Sam Weinig.

        Removed import of DOMSVGAnimatedPathData.h to fix build.

        * bindings/objc/DOMSVG.h:

2010-11-19  Avi Drissman  <avi@google.com>

        Reviewed by Antonio Gomes.

        Complete support for Unix editing mode
        https://bugs.webkit.org/show_bug.cgi?id=49757

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2010-11-19  Nate Chapin  <japhet@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Remove requests from ResourceLoadScheduler's queue before
        actually starting them.  We're holding a RefPtr anyway, and
        the load might be terminated and removed from the queue synchronously.
        https://bugs.webkit.org/show_bug.cgi?id=49693

        Test: fast/loader/subresource-willSendRequest-null.html

        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::servePendingRequests):

2010-11-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Make sure is* return false if the name is never bound
        https://bugs.webkit.org/show_bug.cgi?id=49767

        * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
        (WebCore::WebGLBuffer::hasEverBeenBound):
        * html/canvas/WebGLFramebuffer.cpp: Ditto.
        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
        * html/canvas/WebGLFramebuffer.h: Ditto.
        (WebCore::WebGLFramebuffer::hasEverBeenBound):
        (WebCore::WebGLFramebuffer::setBound):
        * html/canvas/WebGLRenderbuffer.cpp: Ditto.
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
        * html/canvas/WebGLRenderbuffer.h: Ditto.
        (WebCore::WebGLRenderbuffer::hasEverBeenBound):
        (WebCore::WebGLRenderbuffer::setBound):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
        (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
        (WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
        (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::isTexture): Ditto.
        * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
        (WebCore::WebGLTexture::hasEverBeenBound):

2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] mask-box-image renders wrong in certain conditions
        https://bugs.webkit.org/show_bug.cgi?id=43476

        Qt does not follow the same convention as the other port
        when rendering a pixmap with null width of height. When one
        of those dimension is null, we should ignore the painting call
        to behave like the other ports.

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

2010-11-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        GraphicsContext3D::reshape is clearing using current clear color instead of transparent
        https://bugs.webkit.org/show_bug.cgi?id=44064

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::reset): Use 0 as clear values.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::reshape): Ditto.

2010-11-19  Chris Rogers  <crogers@google.com>

        Reviewed by Darin Adler.

        AudioContext should not include "HTMLNames.h"
        https://bugs.webkit.org/show_bug.cgi?id=49680

        No new tests since audio API is not yet implemented.

        * webaudio/AudioContext.cpp:

2010-11-19  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Darin Adler.

        Normalize Cairo/CFLite project/solution configuration names
        https://bugs.webkit.org/show_bug.cgi?id=49818

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreGenerated.vcproj:

2010-11-19  Daniel Bates  <dbates@rim.com>

        Reviewed by Antonio Gomes.

        Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=49489

        Substitute ASSERT(newParent) for null-checks for newParent in
        Frame::transferChildFrameToNewDocument() since newParent is
        never null.

        When Frame::transferChildFrameToNewDocument() is called the child
        frame's owner element has already been transferred to the new
        document D and D is attached (i.e. has a frame).

        * page/Frame.cpp:
        (WebCore::Frame::transferChildFrameToNewDocument):

2010-11-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add SandboxExtension abstraction and use it for the injected bundle extension
        https://bugs.webkit.org/show_bug.cgi?id=49817

        Export fileSystemRepresentation symbol needed by WebKit2.

        * WebCore.exp.in:

2010-11-19  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix. Remove leftover Debug_Internal use.

        * WebCore.vcproj/WebCore.vcproj:

2010-11-18  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Windows vcproj configuration names should be normalized across projects
        https://bugs.webkit.org/show_bug.cgi?id=49776

        * WebCore.vcproj/WebCore.sln:
        * WebCore.vcproj/WebCore.submit.sln:
        * WebCore.vcproj/WebCoreGenerated.vcproj:
        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.

2010-11-19  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Add unloadEventStart
        https://bugs.webkit.org/show_bug.cgi?id=49101

        * loader/DocumentLoadTiming.h:
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
        (WebCore::DOMWindow::dispatchTimedEvent): Added.
        * page/DOMWindow.h:
        * page/Timing.cpp:
        (WebCore::Timing::unloadEventStart):
        * page/Timing.h:
        * page/Timing.idl:

2010-11-19  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Daniel Bates.

        [GTK] fast/text/international tests are flaky on the bots
        https://bugs.webkit.org/show_bug.cgi?id=49781

        Beef up the == operator overload for Freetype FontPlatformData. Before
        if two FontPlatformDatas had hash values which fell into the same bucket
        and were similar enough, they would be evaluated as being equal, leading
        to failures.

        No new tests for this change. It's very hard to test, because it depends
        on the memory address of new allocations. Hopefully flakiness on the bots
        will go away after patch.

        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::operator==): Beef up the == operator overload.

2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] mask-box-image renders wrong in certain conditions
        https://bugs.webkit.org/show_bug.cgi?id=43476

        When rendering a pixmap with a dest rect having a null dimension,
        Qt uses the dimension of the Pixmap. The other ports do not render
        anything by convention.

        This patch change BitmapImage to follow the convention of other ports and do not
        paint anything.

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

2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
        https://bugs.webkit.org/show_bug.cgi?id=49807

        Covered by existing tests.

        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::parseMappedAttribute): Ditto.
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
        * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().

2010-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72399.
        http://trac.webkit.org/changeset/72399
        https://bugs.webkit.org/show_bug.cgi?id=49805

        Broke Chromium build (Requested by antonm_ on #webkit).

        * page/chromium/ChromeClientChromium.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::showPopup):
        (WebCore::PopupContainer::showExternal):
        (WebCore::PopupListBox::layout):
        (WebCore::PopupMenuChromium::show):
        * platform/chromium/PopupMenuChromium.h:

2010-11-19  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Focus ring in image maps does not take zooming into account
        https://bugs.webkit.org/show_bug.cgi?id=49625

        Take pageZoomFactor into account when calculating the path of the focus ring.

        Test: fast/images/imagemap-focus-ring-zoom.html

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getPath):

2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGTransformList::consolidate() fails on empty lists
        https://bugs.webkit.org/show_bug.cgi?id=49619

        Return null in consolidate() when the list is empty, according to SVG 1.1.

        Test: svg/dom/SVGTransformList-empty-list-consolidation.html

        * svg/properties/SVGTransformListPropertyTearOff.h:
        (WebCore::SVGTransformListPropertyTearOff::consolidate):

2010-11-19  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by David Levin.

        [chromium] Removing the now unused code to show popup externally on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=49747

        * page/chromium/ChromeClientChromium.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::showPopup):
        (WebCore::PopupListBox::layout):
        (WebCore::PopupMenuChromium::show):
        * platform/chromium/PopupMenuChromium.h:

2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: reduce the footprint of InspectorBackendDispatcher.
        InspectorBackendDispatcher is a generated file.
        Its content is not optimal and loc may be reduced by a quarter.
        In each generated function we have a code for getting 'in' values from
        the arguments properties object. I've extracted this code into separate getters.
        The side effect is better readability of the generated code.

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

        * inspector/CodeGeneratorInspector.pm:

2010-11-19  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        Reentrant Geolocation tests crash with an assertion.
        https://bugs.webkit.org/show_bug.cgi?id=39908

        PositionErrors should not be sent to Geolocation watches or one shots
        that are due to receive a valid cached position.

        Test: fast/dom/Geolocation/maximum-age.html

        * page/Geolocation.cpp:
        (WebCore::Geolocation::sendError):
        (WebCore::Geolocation::copyCachedNotifiers):
        (WebCore::Geolocation::handleError):
        * page/Geolocation.h:

2010-11-19  Sam Magnuson  <smagnuso@gmail.com>

        Reviewed by Laszlo Gombos.

        [Qt] Compile with QT_NO_CLIPBOARD
        https://bugs.webkit.org/show_bug.cgi?id=49742

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::canSmartReplace):

2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        Remove more unused V8/SVG code
        https://bugs.webkit.org/show_bug.cgi?id=49800

        Remove DOMSVGObjectWithContextMap and all usages.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::getDOMWrapperMap):
        * bindings/v8/DOMDataStore.h:
        (WebCore::DOMDataStore::domSvgElementInstanceMap):
        * bindings/v8/ScopedDOMDataStore.cpp:
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h:
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::removeAllDOMObjectsInCurrentThread):
        * bindings/v8/V8DOMMap.h:

2010-11-19  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        createImageBuffer fail should be handled in the same way as other fails
        https://bugs.webkit.org/show_bug.cgi?id=49799

        When createImageBuffer fails (i.e the image width or height is less than
        0.5, which is rounded to 0) it just returs with false. Since the m_filter
        hash map is not updated in this case, the filter image is not drawn.

        Test: svg/filters/filter-rounding-issues.svg

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):

2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
        https://bugs.webkit.org/show_bug.cgi?id=49796

        Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.

        * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSSVGContextCache.h: Removed.
        * bindings/js/JSSVGPODListCustom.h: Removed.
        * bindings/js/JSSVGPODTypeWrapper.h: Removed.
        * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. 
        * bindings/v8/V8Proxy.h: Ditto.
        * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
        * svg/DeprecatedSVGAnimatedProperty.h: Removed.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
        * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
        * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
        * svg/SVGList.h: Removed.
        * svg/SVGListTraits.h: Removed.

2010-11-19  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
        https://bugs.webkit.org/show_bug.cgi?id=49731

        Temporarily disable building of styles for nested rules.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::ensureParsedDataReady):
        (WebCore::InspectorStyleSheet::ensureSourceData):
        * inspector/InspectorStyleSheet.h:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):

2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Qt build.

        * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.

2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=49580

        SVGPathElement.cloneNode loses generated pathSegList
        https://bugs.webkit.org/show_bug.cgi?id=43388

        SVG Path elements are not correctly updated through pathSegList manipulation on relative values
        https://bugs.webkit.org/show_bug.cgi?id=30219

        Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
        https://bugs.webkit.org/show_bug.cgi?id=19741

        SVGPathElement should only build SVGPathSeg* list on demand
        https://bugs.webkit.org/show_bug.cgi?id=10827

        Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
               svg/dom/SVGPathSegList-appendItem.xhtml
               svg/dom/SVGPathSegList-clear-and-initialize.xhtml
               svg/dom/SVGPathSegList-cloning.html
               svg/dom/SVGPathSegList-insertItemBefore.xhtml
               svg/dom/SVGPathSegList-removeItem.xhtml
               svg/dom/SVGPathSegList-replaceItem.xhtml
               svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
               svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
               svg/dom/SVGPathSegList-segment-modification.svg

        Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
        Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
        and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
        themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
        and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.

        Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
        to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
        if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
        the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
        Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
        String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.

        As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
        concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.

        * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
        * CMakeLists.txt: Ditto.
        * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
        * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
        * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
        * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
        * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
        * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
        * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
        (WebCore::setDOMException):
        * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
        * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
        * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
        * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
        * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
        * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
        * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
        (WebCore::operator<<):
        * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
        * svg/SVGAnimatedPathData.cpp: Removed.
        * svg/SVGAnimatedPathData.h: Removed.
        * svg/SVGAnimatedPathData.idl: Removed.
        * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
        (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
        (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
        (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
        (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
        (WebCore::SVGPathElement::synchronizeD): Added.
        (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
        (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
        (WebCore::SVGPathElement::animatedPathSegList): Ditto.
        (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
        (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
        (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
        * svg/SVGPathElement.h: Add new accessors...
        (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
        (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
        * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
        * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSeg.cpp: Removed.
        * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
        (WebCore::SVGPathSeg::SVGPathSeg):
        * svg/SVGPathSeg.idl: Reindented.
        * svg/SVGPathSegArc.cpp: Removed.
        * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
        * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegArcRel.idl: Ditto.
        * svg/SVGPathSegClosePath.cpp: Removed.
        * svg/SVGPathSegClosePath.h:
        * svg/SVGPathSegCurvetoCubic.cpp: Removed.
        * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
        * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
        * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
        * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
        * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
        * svg/SVGPathSegLineto.cpp: Removed.
        * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
        * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
        * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
        * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
        * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoVertical.cpp: Removed.
        * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
        * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
        * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
        (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
        (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
        * svg/SVGPathSegList.h:
        (WebCore::SVGPathSegList::SVGPathSegList):
        * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
        * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::moveTo):
        (WebCore::SVGPathSegListBuilder::lineTo):
        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
        (WebCore::SVGPathSegListBuilder::lineToVertical):
        (WebCore::SVGPathSegListBuilder::curveToCubic):
        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathSegListBuilder::arcTo):
        (WebCore::SVGPathSegListBuilder::closePath):
        * svg/SVGPathSegListBuilder.h: Ditto.
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
        (WebCore::SVGPathSegListBuilder::cleanup):
        * svg/SVGPathSegListSource.cpp: Ditto.
        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
        (WebCore::SVGPathSegListSource::nextCommand):
        (WebCore::SVGPathSegListSource::parseMoveToSegment):
        (WebCore::SVGPathSegListSource::parseLineToSegment):
        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
        * svg/SVGPathSegListSource.h: Ditto.
        (WebCore::SVGPathSegListSource::create):
        * svg/SVGPathSegMoveto.cpp: Removed.
        * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
        * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegMovetoRel.idl: Ditto.
        * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
        (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
        (WebCore::SVGPathSegWithContext::animatedProperty):
        (WebCore::SVGPathSegWithContext::setContextAndRole):
        (WebCore::SVGPathSegWithContext::commitChange):
        (WebCore::SVGPathSegSingleCoordinate::x):
        (WebCore::SVGPathSegSingleCoordinate::setX):
        (WebCore::SVGPathSegSingleCoordinate::y):
        (WebCore::SVGPathSegSingleCoordinate::setY):
        (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
        (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
        (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
        (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
        (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
        * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
        (WebCore::SVGPathSegListPropertyTearOff::create):
        (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
        (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
        (WebCore::SVGPathSegListPropertyTearOff::initialize):
        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
        (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):

2010-11-19  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: one line follow up to r72376.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceResponse):

2010-11-19  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
        https://bugs.webkit.org/show_bug.cgi?id=49666

        WebKit resource load cache does validate its own resources by
        issuing conditional requests to the server. The HTTP cache was
        making the assumption that any possible conditional request was
        always generated by itself.

        * platform/network/soup/cache/webkit/soup-cache.c:
        (webkit_soup_cache_entry_remove): added an assertion
        (msg_got_headers_cb):

2010-11-19  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        stepUp/stepDown for values in step-mismatching state for input elements
        https://bugs.webkit.org/show_bug.cgi?id=48976

        Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
        HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
        step-mismatching values.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::applyStep):

2010-11-19  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolled out build failures introduced in r72373.

        * inspector/CodeGeneratorInspector.pm:

2010-11-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: provide response code and status text as
        a part of raw headers data.
        https://bugs.webkit.org/show_bug.cgi?id=49668

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceResponse):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
        * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
        (WebCore::ResourceLoadInfo::ResourceLoadInfo):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::resourceLoadInfo):
        (WebCore::ResourceResponseBase::setResourceLoadInfo):
        * platform/network/ResourceResponseBase.h:

2010-11-19  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by James Robinson.

        [skia] assert when attempting to get (but not use) pointer to outside the canvas
        https://bugs.webkit.org/show_bug.cgi?id=49698

        Early return to avoid getting a pointer to outside the canvas, and
        hence triggering a Skia assert.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):

2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: reduce the footprint of InspectorBackendDispatcher.
        InspectorBackendDispatcher is a generated file.
        Its content is not optimal and loc may be reduced by a quarter.
        In each generated function we have a code for getting 'in' values from
        the arguments properties object. I've extracted this code into separate getters.
        The side effect is better readability of the generated code.

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

        * inspector/CodeGeneratorInspector.pm:

2010-11-19  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Focus ring does not show for image maps
        https://bugs.webkit.org/show_bug.cgi?id=49615

        Draw a focus ring for the paths surrounding the focus ring of image map area.
        Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.

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

2010-11-01  MORITA Hajime  <morrita@google.com>

        Reviewed by David Hyatt.

        Navigating dark background websites results in blinding white flashes between pages. 
        https://bugs.webkit.org/show_bug.cgi?id=45640

        This FOUC is caused by an early layout request before the <body> is ready, 
        and the page's background style given for <body>, instead of <html>.
        So many sites have such stylesheets that we should care them.
        
        - Some DOM operation such as 'element.offsetLeft' causes page layout.
        - The page layout results page repaint
        - The page page repaint makes a white screen. because there is nothing to paint
          before <body> is available.
        
        This change:
        - extracted existing FOUC check on RenderBlock and RenderLayer to 
          Document::mayCauseFlashOfUnstyledContent(),
        - checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
        - added FOUC guards before requesting reapint on FrameView.
        
        Note that non-<head> document root children are typically <body>, but possibly
        some other type of elements in the case of non-HTML documents.
        
        No new tests. The data loading speed matters and it cannot be
        captured by DRT.

        * dom/Document.cpp:
        (hasHeadSibling): Added.
        (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
        * dom/Document.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::invalidateRect): Added a guard.
        (WebCore::FrameView::repaintContentRectangle): Added a guard.
        (WebCore::FrameView::doDeferredRepaints): Added a guard.
        (WebCore::FrameView::shouldUpdate): Added.
        * page/FrameView.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent

2010-11-18  Kent Tamura  <tkent@chromium.org>

        Reviewed by Tony Chang.

        Add more validation message functions
        https://bugs.webkit.org/show_bug.cgi?id=49716

        Add the following message functions:
        - validationMessageValueMissingForCheckbox()
        - validationMessageValueMissingForFile()
        - validationMessageValueMissingForMultipleFile()
        - validationMessageValueMissingForRadio()
        - validationMessageValueMissingForSelect()

        and update ValidityState, HTMLInputElement, and InputTypes to use them.

        No new tests because this doesn't change visible behavior.

        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::valueMissingText):
        * html/CheckboxInputType.h:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::valueMissingText):
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueMissingText):
        * html/HTMLInputElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::valueMissingText):
        * html/InputType.h:
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::valueMissingText):
        * html/RadioInputType.h:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::validationMessage):
        * platform/LocalizedStrings.cpp:
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        * platform/LocalizedStrings.h:
        * platform/android/LocalizedStringsAndroid.cpp:
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        * platform/brew/LocalizedStringsBrew.cpp:
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        * platform/haiku/LocalizedStringsHaiku.cpp:
        (WebCore::validationMessageValueMissingText):
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):

2010-11-18  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 49708 - Stop recompiling functions to regenerate exception info.

        Instead only hold info as necessary – keep divot info is the inspector
        is enabled, line number info is debugging or profiling, and handler
        info for functions with try/catch.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
            - report to JSC whether the inspector is enabled - in which
              case we will generate better error messages on exceptions.
        * bindings/js/JSDOMWindowBase.h:

2010-11-18  Jian Li  <jianli@chromium.org>

        Reviewed by Kenneth Russell.

        Make binding code generation scripts support 'short' type
        https://bugs.webkit.org/show_bug.cgi?id=49704

        Updated binding tests.

        * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:

2010-11-18  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Adam Roben.

        <rdar://problem/8602509&8602717&8602724> Enable compaction support.

        * Configurations/WebCore.xcconfig:

2010-11-18  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49772
        
        Fix nested ruby.  My previous checkin (for 49717) broke it.  Push the ruby text and ruby base text
        together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
        This way the overflow from nested rubies is accounted for.
        
        Added fast/ruby/nested-ruby.html

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::layout):

2010-11-18  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Nate Chapin.

        [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
        https://bugs.webkit.org/show_bug.cgi?id=49613

        No new tests. Running existing worker tests like
        fast/workers/storage/execute-sql-args-worker.html in chromium
        would verify it.

        * bindings/v8/V8Binding.cpp:
        (WebCore::int32ToWebCoreStringFast):
        (WebCore::int32ToWebCoreString):

2010-11-18  Alexey Proskuryakov  <ap@apple.com>

        Windows build fix.

        https://bugs.webkit.org/show_bug.cgi?id=49762
        Stylesheet wrappers are not GC protected

        * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.

2010-11-18  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49717
        
        Implement better behavior for the logical height and block direction spacing of ruby text and ruby
        base text.

        Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
        test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
        that ruby doesn't reset line-height.

        * css/html.css:
        Remove the line-height:normal rule for <ruby>  This behavior was incorrect, since a <ruby> on a line
        by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::adjustBlockDirectionPosition):
        Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
        depending on orientation.
        
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
        to true.  This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
        crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
        
        Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
        mess up the flipping otherwise.  These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
        This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
        
        Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
        the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
        and lineBottom since it is inside the inline-block's height.  To prevent this from happening, we have to fake it
        as though RenderRubyRun was just a normal inline.  We look at the line boxes of the ruby base and we push lineTop/Bottom
        in by the leading on either side so that it isn't counted as part of lineTop and lineBottom.  This enables the later
        Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
        interior on a previous line.

        (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
        This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
        line.  With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
        we're checking some highest previous position and computing the amount we have to move.
        
        For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
        to move the *following* line based off a lowest position.
        
        In all writing modes we will allow Ruby text to intrude into the padding of a block.
        
        * rendering/InlineFlowBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
        computations.  Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
        legends.  This means that the RenderRubyRun computes its logical height without any regard for the ruby text.

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::layoutSpecialExcludedChild):
        layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
        to accommodate ruby text along the bottom side of the line.  We call computeBlockDirectionRubyAdjustment here in flipped lines
        writing mode only, and then we increase the logical height of the block if necessary.

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::layoutSpecialExcludedChild):
        * rendering/RenderFieldset.h:
        No changes here other than the function rename.

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::staticCreateRubyRun):
        Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
        now that RenderRubyRun has its own layout method.
    
        (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
        RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet.  We wait until the base is positioned
        and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. 

        (WebCore::RenderRubyRun::layout):
        * rendering/RenderRubyRun.h:
        RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
        RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
        one another.  The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
        as overflow.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.

        (WebCore::RootInlineBox::adjustPosition):
        Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
        even in vertical writing modes (where dx needed to be used instead).

        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        (WebCore::RootInlineBox::blockDirectionRubyAdjustment):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::containsRuby):
        RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
        the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.

2010-11-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=49762
        Stylesheet wrappers are not GC protected

        Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
               fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        Added the new custom bindings files.

        * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
        existing headers.

        * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
        with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
        wrapper has to stay alive, too.
        While at it, also fixed the same issue with inline style declarations.
        Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
        approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
        check.

        * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
        (WebCore::JSHTMLLinkElement::markChildren):
        * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
        (WebCore::JSHTMLStyleElement::markChildren):
        * bindings/js/JSProcessingInstructionCustom.cpp: Added.
        (WebCore::JSProcessingInstruction::markChildren):
        Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
        conservatively, without checking whether the stylesheet or any of its children have custom
        properties.

        * dom/ProcessingInstruction.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLStyleElement.idl:
        These have custom mark functions now.

2010-11-18  Jian Li  <jianli@chromium.org>

        Reviewed by Kenneth Russell.

        Move length and slice out of ArrayBufferView interface
        https://bugs.webkit.org/show_bug.cgi?id=49697

        No functionality change. Covered by existing ArrayBuffer tests.

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSArrayBufferViewCustom.cpp: Removed.
        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
        * html/canvas/ArrayBufferView.h:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/Float32Array.cpp:
        (WebCore::Float32Array::slice):
        * html/canvas/Float32Array.h:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.cpp:
        (WebCore::Int16Array::slice):
        * html/canvas/Int16Array.h:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.cpp:
        (WebCore::Int32Array::slice):
        * html/canvas/Int32Array.h:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.cpp:
        (WebCore::Int8Array::slice):
        * html/canvas/Int8Array.h:
        * html/canvas/Int8Array.idl:
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::length):
        * html/canvas/Uint16Array.cpp:
        (WebCore::Uint16Array::slice):
        * html/canvas/Uint16Array.h:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.cpp:
        (WebCore::Uint32Array::slice):
        * html/canvas/Uint32Array.h:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.cpp:
        (WebCore::Uint8Array::slice):
        * html/canvas/Uint8Array.h:
        * html/canvas/Uint8Array.idl:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):

2010-11-17  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
        https://bugs.webkit.org/show_bug.cgi?id=47196

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable): Ditto.

2010-11-18  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Remove leftover Windows Debug_Internal configurations
        https://bugs.webkit.org/show_bug.cgi?id=49758

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCore.vcproj:

2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72299.
        http://trac.webkit.org/changeset/72299
        https://bugs.webkit.org/show_bug.cgi?id=49761

        Broke chromium ui test SessionHistoryTest.FrameBackForward.
        (Requested by dave_levin on #webkit).

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::HistoryController):
        (WebCore::HistoryController::saveDocumentState):
        (WebCore::HistoryController::updateForBackForwardNavigation):
        (WebCore::HistoryController::updateForCommit):
        (WebCore::HistoryController::updateForFrameLoadCompleted):
        (WebCore::HistoryController::setCurrentItem):
        (WebCore::HistoryController::createItem):
        (WebCore::HistoryController::createItemTree):
        (WebCore::HistoryController::recursiveGoToItem):
        * loader/HistoryController.h:

2010-11-18  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
        https://bugs.webkit.org/show_bug.cgi?id=49638

        Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
        Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
        like Safari Win did in r72270.

        Test: fast/text/font-size-zero.html

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):

2010-11-18  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Simon Fraser.

        Only inject fullscreen.css when in fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=49510

        Refactor to only add fullscreen sheet rules when document is in fullscreen mode.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::loadFullDefaultStyle):
        (WebCore::loadFullScreenRulesIfNeeded):
        (WebCore::CSSStyleSelector::styleForElement):

2010-11-18  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Debug_Internal Windows configuration is unnecessary, should be removed
        https://bugs.webkit.org/show_bug.cgi?id=49753

        * WebCorePrefix.h:

2010-11-18  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Clean up vcproj errors
        https://bugs.webkit.org/show_bug.cgi?id=49741

        * WebCore.vcproj/WebCore.vcproj:

2010-11-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=49694
        Add some comments about XSLStyleSheet owner node

        No change in behavior, so no tests.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * xml/XSLStyleSheet.h:
        (WebCore::XSLStyleSheet::create):
        (WebCore::XSLStyleSheet::createEmbedded):
        (WebCore::XSLStyleSheet::createForXSLTProcessor):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::xsltStylesheetPointer):
        * xml/XSLTProcessorQt.cpp:
        (WebCore::XSLTProcessor::transformToString):

2010-11-18  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
        https://bugs.webkit.org/show_bug.cgi?id=44439
        <rdar://problem/8342407>
        
        setUpCookiesForQuickTime() previously depended on having setFrameView() called first
        in order to get a Frame, and when it wasn't set, the cookie-copy failed.  Now, 
        setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() 
        to retrieve the document and subsequently, the Frame.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):

2010-11-18  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Allow no-store resources to be used for back navigation
        https://bugs.webkit.org/show_bug.cgi?id=49672

        Test: http/tests/cache/history-only-cached-subresource-loads.html

        HTTP allows "Cache-Control: no-store" resources to "cached" for the
        purposes of history, such as back/forward navigation. Previously
        WebCore just immediately evicted these resources, now we leave them in
        the cache as long as they are not "https". This allows us to use them
        if they are used in a back navigation, or lazily evict and replace
        them on other load types expecting non-stale resources.

        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::checkForReload):
        (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
        * loader/cache/MemoryCache.h: default the forHistory parameter to false.

          Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::subresourceCachePolicy):
        * loader/cache/CachePolicy.h:
        * loader/cache/CachedResource.cpp:

2010-11-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49700
        XSLTProcessor.importNode is only tested with document nodes, and hits an assertion

        Test: fast/xsl/import-non-document-node.xhtml

        * css/CSSStyleSheet.cpp:
        (WebCore::isAcceptableCSSStyleSheetParent):
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        Moved the assertion - hopefully, it's valid for CSS stylesheets.

2010-11-18  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Fisher.

        Update correct content state during back/forward navigations
        https://bugs.webkit.org/show_bug.cgi?id=48809

        Ensures that history's previousItem is non-null when clients try to
        update content state (e.g., Chromium's UpdateSessionHistory).  We now
        track load completions with a boolean field rather than by clearing
        previousItem.

        Behavior covered by existing tests in fast/history and fast/loader.

        * loader/HistoryController.cpp:

2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72288.
        http://trac.webkit.org/changeset/72288
        https://bugs.webkit.org/show_bug.cgi?id=49730

        'krit attempted to do that, but revert got stuck' (Requested
        by antonm on #webkit).

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/js/JSDOMBinding.h:
        (WebCore::createDOMObjectWrapper):
        (WebCore::getDOMObjectWrapper):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp: Added.
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimatedPathData.cpp: Added.
        * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
        * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::getPathSegAtLength):
        (WebCore::SVGPathElement::createSVGPathSegClosePath):
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
        (WebCore::SVGPathElement::createSVGPathSegArcRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
        (WebCore::SVGPathElement::parseMappedAttribute):
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::synchronizeProperty):
        (WebCore::SVGPathElement::pathSegList):
        (WebCore::SVGPathElement::normalizedPathSegList):
        (WebCore::SVGPathElement::animatedPathSegList):
        (WebCore::SVGPathElement::animatedNormalizedPathSegList):
        (WebCore::SVGPathElement::toPathData):
        * svg/SVGPathElement.h:
        (WebCore::SVGPathElement::isValid):
        (WebCore::SVGPathElement::supportsMarkers):
        * svg/SVGPathElement.idl:
        * svg/SVGPathParserFactory.cpp:
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
        (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
        (WebCore::SVGPathSeg::associatedAttributeName):
        * svg/SVGPathSeg.h:
        (WebCore::SVGPathSegSingleCoord::setX):
        (WebCore::SVGPathSegSingleCoord::x):
        (WebCore::SVGPathSegSingleCoord::setY):
        (WebCore::SVGPathSegSingleCoord::y):
        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
        * svg/SVGPathSegArc.h:
        (WebCore::SVGPathSegArc::SVGPathSegArc):
        (WebCore::SVGPathSegArc::setX):
        (WebCore::SVGPathSegArc::x):
        (WebCore::SVGPathSegArc::setY):
        (WebCore::SVGPathSegArc::y):
        (WebCore::SVGPathSegArc::setR1):
        (WebCore::SVGPathSegArc::r1):
        (WebCore::SVGPathSegArc::setR2):
        (WebCore::SVGPathSegArc::r2):
        (WebCore::SVGPathSegArc::setAngle):
        (WebCore::SVGPathSegArc::angle):
        (WebCore::SVGPathSegArc::setLargeArcFlag):
        (WebCore::SVGPathSegArc::largeArcFlag):
        (WebCore::SVGPathSegArc::setSweepFlag):
        (WebCore::SVGPathSegArc::sweepFlag):
        (WebCore::SVGPathSegArcAbs::create):
        (WebCore::SVGPathSegArcAbs::pathSegType):
        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegArcRel::create):
        (WebCore::SVGPathSegArcRel::pathSegType):
        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.cpp: Added.
        * svg/SVGPathSegClosePath.h:
        (WebCore::SVGPathSegClosePath::create):
        (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
        * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
        * svg/SVGPathSegCurvetoCubic.h:
        (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
        (WebCore::SVGPathSegCurvetoCubic::setX):
        (WebCore::SVGPathSegCurvetoCubic::x):
        (WebCore::SVGPathSegCurvetoCubic::setY):
        (WebCore::SVGPathSegCurvetoCubic::y):
        (WebCore::SVGPathSegCurvetoCubic::setX1):
        (WebCore::SVGPathSegCurvetoCubic::x1):
        (WebCore::SVGPathSegCurvetoCubic::setY1):
        (WebCore::SVGPathSegCurvetoCubic::y1):
        (WebCore::SVGPathSegCurvetoCubic::setX2):
        (WebCore::SVGPathSegCurvetoCubic::x2):
        (WebCore::SVGPathSegCurvetoCubic::setY2):
        (WebCore::SVGPathSegCurvetoCubic::y2):
        (WebCore::SVGPathSegCurvetoCubicAbs::create):
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicRel::create):
        (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
        (WebCore::SVGPathSegCurvetoCubicSmooth::x):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
        (WebCore::SVGPathSegCurvetoCubicSmooth::y):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
        * svg/SVGPathSegCurvetoQuadratic.h:
        (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
        (WebCore::SVGPathSegCurvetoQuadratic::setX):
        (WebCore::SVGPathSegCurvetoQuadratic::x):
        (WebCore::SVGPathSegCurvetoQuadratic::setY):
        (WebCore::SVGPathSegCurvetoQuadratic::y):
        (WebCore::SVGPathSegCurvetoQuadratic::setX1):
        (WebCore::SVGPathSegCurvetoQuadratic::x1):
        (WebCore::SVGPathSegCurvetoQuadratic::setY1):
        (WebCore::SVGPathSegCurvetoQuadratic::y1):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticRel::create):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
        * svg/SVGPathSegLineto.h:
        (WebCore::SVGPathSegLinetoAbs::create):
        (WebCore::SVGPathSegLinetoAbs::pathSegType):
        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoRel::create):
        (WebCore::SVGPathSegLinetoRel::pathSegType):
        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
        * svg/SVGPathSegLinetoHorizontal.h:
        (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
        (WebCore::SVGPathSegLinetoHorizontal::setX):
        (WebCore::SVGPathSegLinetoHorizontal::x):
        (WebCore::SVGPathSegLinetoHorizontalAbs::create):
        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoHorizontalRel::create):
        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
        * svg/SVGPathSegLinetoVertical.h:
        (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
        (WebCore::SVGPathSegLinetoVertical::setY):
        (WebCore::SVGPathSegLinetoVertical::y):
        (WebCore::SVGPathSegLinetoVerticalAbs::create):
        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoVerticalRel::create):
        (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::SVGPathSegList):
        * svg/SVGPathSegList.h:
        (WebCore::SVGPathSegList::create):
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegListBuilder.cpp:
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::moveTo):
        (WebCore::SVGPathSegListBuilder::lineTo):
        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
        (WebCore::SVGPathSegListBuilder::lineToVertical):
        (WebCore::SVGPathSegListBuilder::curveToCubic):
        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathSegListBuilder::arcTo):
        (WebCore::SVGPathSegListBuilder::closePath):
        * svg/SVGPathSegListBuilder.h:
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
        (WebCore::SVGPathSegListBuilder::cleanup):
        * svg/SVGPathSegListSource.cpp:
        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
        (WebCore::SVGPathSegListSource::nextCommand):
        (WebCore::SVGPathSegListSource::parseMoveToSegment):
        (WebCore::SVGPathSegListSource::parseLineToSegment):
        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
        * svg/SVGPathSegListSource.h:
        (WebCore::SVGPathSegListSource::create):
        * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
        * svg/SVGPathSegMoveto.h:
        (WebCore::SVGPathSegMovetoAbs::create):
        (WebCore::SVGPathSegMovetoAbs::pathSegType):
        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegMovetoRel::create):
        (WebCore::SVGPathSegMovetoRel::pathSegType):
        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPathSegWithContext.h: Removed.
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
        * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.

2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72292.
        http://trac.webkit.org/changeset/72292
        https://bugs.webkit.org/show_bug.cgi?id=49732

        will break win build (Requested by loislo on #webkit).

        * inspector/CodeGeneratorInspector.pm:

2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: reduce the footprint of InspectorBackendDispatcher.
        InspectorBackendDispatcher is a generated file.
        Its content is not optimal and loc may be reduced by a quarter.
        In each generated function we have a code for getting 'in' values from
        the arguments properties object. I've extracted this code into separate getters.
        The side effect is better readability of the generated code.

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

        * inspector/CodeGeneratorInspector.pm:

2010-11-18  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
        https://bugs.webkit.org/show_bug.cgi?id=49656

        Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=49580

        SVGPathElement.cloneNode loses generated pathSegList
        https://bugs.webkit.org/show_bug.cgi?id=43388

        SVG Path elements are not correctly updated through pathSegList manipulation on relative values
        https://bugs.webkit.org/show_bug.cgi?id=30219

        Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
        https://bugs.webkit.org/show_bug.cgi?id=19741

        SVGPathElement should only build SVGPathSeg* list on demand
        https://bugs.webkit.org/show_bug.cgi?id=10827

        Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
               svg/dom/SVGPathSegList-appendItem.xhtml
               svg/dom/SVGPathSegList-clear-and-initialize.xhtml
               svg/dom/SVGPathSegList-cloning.html
               svg/dom/SVGPathSegList-insertItemBefore.xhtml
               svg/dom/SVGPathSegList-removeItem.xhtml
               svg/dom/SVGPathSegList-replaceItem.xhtml
               svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
               svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
               svg/dom/SVGPathSegList-segment-modification.svg

        Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
        Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
        and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
        themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
        and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.

        Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
        to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
        if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
        the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
        Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
        String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.

        As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
        concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.

        * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
        * CMakeLists.txt: Ditto.
        * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
        * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
        * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
        * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
        * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
        * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
        * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
        (WebCore::setDOMException):
        * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
        * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
        * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
        * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
        * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
        * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
        * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
        (WebCore::operator<<):
        * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
        * svg/SVGAnimatedPathData.cpp: Removed.
        * svg/SVGAnimatedPathData.h: Removed.
        * svg/SVGAnimatedPathData.idl: Removed.
        * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
        (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
        (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
        (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
        (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
        (WebCore::SVGPathElement::synchronizeD): Added.
        (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
        (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
        (WebCore::SVGPathElement::animatedPathSegList): Ditto.
        (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
        (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
        (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
        * svg/SVGPathElement.h: Add new accessors...
        (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
        (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
        * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
        * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSeg.cpp: Removed.
        * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
        (WebCore::SVGPathSeg::SVGPathSeg):
        * svg/SVGPathSeg.idl: Reindented.
        * svg/SVGPathSegArc.cpp: Removed.
        * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
        * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegArcRel.idl: Ditto.
        * svg/SVGPathSegClosePath.cpp: Removed.
        * svg/SVGPathSegClosePath.h:
        * svg/SVGPathSegCurvetoCubic.cpp: Removed.
        * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
        * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
        * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
        * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
        * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
        * svg/SVGPathSegLineto.cpp: Removed.
        * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
        * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
        * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
        * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
        * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoVertical.cpp: Removed.
        * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
        * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
        * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
        (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
        (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
        * svg/SVGPathSegList.h:
        (WebCore::SVGPathSegList::SVGPathSegList):
        * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
        * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::moveTo):
        (WebCore::SVGPathSegListBuilder::lineTo):
        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
        (WebCore::SVGPathSegListBuilder::lineToVertical):
        (WebCore::SVGPathSegListBuilder::curveToCubic):
        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathSegListBuilder::arcTo):
        (WebCore::SVGPathSegListBuilder::closePath):
        * svg/SVGPathSegListBuilder.h: Ditto.
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
        (WebCore::SVGPathSegListBuilder::cleanup):
        * svg/SVGPathSegListSource.cpp: Ditto.
        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
        (WebCore::SVGPathSegListSource::nextCommand):
        (WebCore::SVGPathSegListSource::parseMoveToSegment):
        (WebCore::SVGPathSegListSource::parseLineToSegment):
        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
        * svg/SVGPathSegListSource.h: Ditto.
        (WebCore::SVGPathSegListSource::create):
        * svg/SVGPathSegMoveto.cpp: Removed.
        * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
        * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
        * svg/SVGPathSegMovetoRel.idl: Ditto.
        * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
        (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
        (WebCore::SVGPathSegWithContext::animatedProperty):
        (WebCore::SVGPathSegWithContext::setContextAndRole):
        (WebCore::SVGPathSegWithContext::commitChange):
        (WebCore::SVGPathSegSingleCoordinate::x):
        (WebCore::SVGPathSegSingleCoordinate::setX):
        (WebCore::SVGPathSegSingleCoordinate::y):
        (WebCore::SVGPathSegSingleCoordinate::setY):
        (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
        (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
        (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
        (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
        (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
        * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
        (WebCore::SVGPathSegListPropertyTearOff::create):
        (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
        (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
        (WebCore::SVGPathSegListPropertyTearOff::initialize):
        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
        (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):

2010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk]  atk_text_get_selection returns the wrong offsets after a link
        https://bugs.webkit.org/show_bug.cgi?id=49514

        Consider possible embedded objects to calculate startOffset.

        So far we were using offsetInContainerNode() to calculate the
        value of startOffset when checking the offsets for the current
        selection, which was wrong because that wouldn't work ok if any
        embedded object was present in the paragraph before the
        selection. Thus, we need to consider this fact when calculating
        the startOffset from the point of view of the object this function
        is called on, in order to return the right and actual values.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getSelectionOffsetsForObject): Check range length from the first
        position in the object the function is called on until the first
        position of current selection, and use it as startOffset.

2010-11-12  Stephen White  <senorblanco@chromium.org>

        Reviewed by Simon Fraser.

        Fix for multiple urls in a background-image causing repeated repaints.
        https://bugs.webkit.org/show_bug.cgi?id=42390

        Change the key of RenderBoxModelObject's LastPaintSizeMap to include
        the layer of the element being drawn, so that the same URL used
        repeated in the same background-image, or another element's
        background-image, can be uniquely identified.  The layer is a void
        pointer, since it is only used as part of the key and using a
        void pointer will discourage dereferencing it.  This pointer is NULL
        when called from RenderImage (<img> elements).

        Covered by fast/backgrounds/size/contain-and-cover.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::keyDestroyed):
        The old objectDestroyed() is renamed to keyDestroyed().
        (WebCore::ImageQualityController::objectDestroyed):
        The new objectDestroyed() iterates over all outstanding resizes
        to remove any resizes pertaining to this object.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Retrieve the RenderBoxModelObject from the pair's "first" member.
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Create a key from the {object, layer} pair, and use it to access
        the repaint size map.
        (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
        Plumb the layer through to the image quality controller.
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        Pass the bgLayer when checking 
        * rendering/RenderBoxModelObject.h:
        Add the void* layer parameter to shouldPaintAtLowQuality.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintIntoRect):
        Pass 0 (null) for the layer parameter in this case.

2010-11-18  Chris Rogers  <crogers@google.com>

        Reviewed by Dimitri Glazkov.

        Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
        https://bugs.webkit.org/show_bug.cgi?id=49557

        No new tests since audio API is not yet implemented.

        * platform/chromium/ChromiumBridge.h:

2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72228.
        http://trac.webkit.org/changeset/72228
        https://bugs.webkit.org/show_bug.cgi?id=49712

        Caused many >10 regressions on Win and Linux gpu layout test
        runs. (Requested by dave_levin on #webkit).

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::onAccess):
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2DBase):

2010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72243.
        http://trac.webkit.org/changeset/72243
        https://bugs.webkit.org/show_bug.cgi?id=49710

        Seemed to cause a large set of Chromium layout test to start
        failing. (Requested by dave_levin on #webkit).

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

2010-11-17  Adam Roben  <aroben@apple.com>

        Fix Acid3 in Safari for Windows

        Reviewed by Dave Hyatt.

        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
        if we have a font size of 0.

2010-11-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Converge means of querying a parent node into one way, which is Node::parentNode.
        https://bugs.webkit.org/show_bug.cgi?id=49686

        No change in behavior, so no new tests.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::renderListItemContainerForNode): Changed to use parentNode.
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
        (WebCore::siblingWithAriaRole): Ditto.
        (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
        * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
        (blockquoteLevel): Ditto.
        * bindings/v8/V8GCController.cpp:
        (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
        * dom/ContainerNode.cpp: Ditto.
        (WebCore::ContainerNode::insertBefore): Ditto.
        (WebCore::ContainerNode::insertBeforeCommon): Ditto.
        (WebCore::ContainerNode::replaceChild): Ditto.
        (WebCore::ContainerNode::removeChild): Ditto.
        (WebCore::ContainerNode::appendChild): Ditto.
        (WebCore::ContainerNode::parserAddChild): Ditto.
        * dom/DocumentType.cpp:
        (WebCore::DocumentType::insertedIntoDocument): Ditto.
        * dom/Element.cpp:
        (WebCore::Element::computeInheritedLanguage): Ditto.
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
        * dom/Position.cpp:
        (WebCore::Position::isCandidate): Changed to use parentNode.
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate): Ditto.
        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
        * editing/ApplyStyleCommand.cpp:
        (WebCore::dummySpanAncestorForNode): Ditto.
        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
        (WebCore::highestEmbeddingAncestor): Ditto.
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::updatePositionForNodeRemoval): Ditto.
        * editing/Editor.cpp:
        (WebCore::Editor::textDirectionForSelection): Ditto.
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::isEmptyTableCell): Ditto.
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition): Ditto.
        (WebCore::nextLinePosition): Ditto.
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::imageElement): Ditto.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setOuterHTML): Ditto.
        (WebCore::HTMLElement::insertAdjacent): Ditto.
        (WebCore::HTMLElement::supportsFocus): Ditto.
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::insertRow): Ditto.
        * html/HTMLTableRowsCollection.cpp: Ditto.
        (WebCore::isInHead): Ditto.
        (WebCore::isInBody): Ditto.
        (WebCore::isInFoot): Ditto.
        (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addRange): Ditto.
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach): Ditto.
        (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
        * html/parser/HTMLTreeBuilder.cpp:
        * page/FocusController.cpp:
        (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlElement::attach): Ditto.
        (WebCore::MediaControlElement::updateStyle): Ditto.
        (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlInputElement::attach): Ditto.
        (WebCore::MediaControlInputElement::updateStyle): Ditto.
        * rendering/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::createRenderer): Ditto.
        (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
        (WebCore::SVGFELightElement::childrenChanged): Ditto.
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::determineViewport): Ditto.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::sort): Ditto.
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodesInAxis): Ditto.
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::xsltStylesheetPointer): Ditto.

2010-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()

        This makes paint() with paintEntireContents() do exactly what it's supposed to:
        paint from 0,0 to contentsSize().

        The clipping was a no-op anyway since visibleContentRect() will return the whole
        rect in paintsEntireContents() mode.

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

2010-11-17  Kenneth Rohde Christansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        ScrollView: Update the actualVisibleContentRect after delegating a scroll.

        This lets us avoid updating the actualVisibleContentRect from the client
        after each scroll. We had to do this synchronously for WebKit2 to support
        programmatic "animated scrolling" from JS.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setScrollPosition):

2010-11-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        ScrollView: Decouple actualVisibleContentRect from visibleContentRect

        Added actualVisibleContentRect() which will return the override provided
        by setActualVisibleContentRect() or fall back to visibleContentRect()
        if no override has been set.

        This is similar to what the iPhone does.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):
        * platform/ScrollView.h:
        (WebCore::ScrollView::actualVisibleContentRect):
        (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&

2010-11-17  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
        https://bugs.webkit.org/show_bug.cgi?id=49036

        No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html

        In http://codereview.chromium.org/11574, the forked chromium test
        plugin changed how it testGetIntIdentifier to work around a change
        caused by a silverlight specific plugin fix:
        http://codereview.chromium.org/11569/diff/1/2

        It's not clear to me that this change is needed anymore since
        silverlight has had multiple releases, testing without this patch
        works on a test windows build, and safari win seems to run silverlight
        without this either.  Since there's no test for this behavior, I'm
        rolling it out so we can match the upstream test.

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

2010-11-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):

2010-11-17  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Fix negative letter spacing in complex text on linux
        https://bugs.webkit.org/show_bug.cgi?id=49563

        Test: fast/text/atsui-negative-spacing-features.html

        * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.

2010-11-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
        newScrollPosition, so move that calculation below the delegation path.

2010-11-17  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Fonts with no vertical metrics should synthesize baselines when they appear
        on lines that do use fonts with vertical metrics.  Basically we want to make
        sure that English text behaves like vertical-align:middle, i.e., its baseline
        should be treated as though it cuts through the middle of the ascent+descent.
        
        The way this works is that each line in the line box tree is labeled as having
        a baseline type that is either ideographic or alphabetic for the purposes of
        vertical alignment.  A line becomes ideographic if any font with vertical tables
        is either explicitly specified as the primary font or in any of the used fonts
        in the text on that line.
        
        This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
        and passed to the ascent and descent methods of the fonts that are examined.
        The underlying Font code selects an appropriate baseline given the type passed in.
        
        This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
        to instead carry around the cached vertical positions for RenderInlines in a new
        VerticalPositionCache object.  This cache only lives for a single layout
        operation, but it does cache information across all the lines built and placed during the
        layout.
        
        This matches the old behavior, since every call to layoutInlineChildren invalidated
        all of the vertical positions in all of the RenderInlines anyway.
        
        The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
        positions for both alphabetic and ideographic baseline types.
        
        The vertical-align computation has now been moved out of RenderBoxModelObject and
        RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
        This function has been changed to no longer be recursive when checking parents,
        and it now relies on the fact that the parent vertical alignment computation result
        has already been stored in the logicalTop() of that parent's line box.  By checking
        the line box logicalTop() value instead of recurring, the performance of first lines
        now significantly improves to no longer have O(n^2) behavior in the depth of the line
        box tree on the first line.
        
        All of the baselinePosition functions on the various RenderObjects have been amended
        to take a FontBaseline as the first argument.  This patch does not attempt to fix up
        MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
        
        The RenderTableCell baselinePosition virtual method has been made non-virtual and had
        all arguments removed, since it actually had no real connection with the rest of the 
        baseline positioning system.  Cell baseline positioning works by calling firstLineBoxBaseline,
        and that method has been patched to use the cached baselineType for the first line box
        when computing the baseline of that line.
         
        Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.

        * WebCore.xcodeproj/project.pbxproj:
        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::baselinePosition):
        * mathml/RenderMathMLFraction.h:
        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::baselinePosition):
        * mathml/RenderMathMLOperator.h:
        * mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::baselinePosition):
        * mathml/RenderMathMLRow.h:
        * mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::baselinePosition):
        * mathml/RenderMathMLSubSup.h:
        * mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::layout):
        (WebCore::RenderMathMLUnderOver::baselinePosition):
        * mathml/RenderMathMLUnderOver.h:
        * platform/graphics/SimpleFontData.h:
        * rendering/InlineBox.h:
        (WebCore::InlineBox::baselinePosition):
        * rendering/InlineFlowBox.cpp:
        (WebCore::verticalPositionForBox):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::baselinePosition):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::firstLineBoxBaseline):
        (WebCore::RenderBlock::lastLineBoxBaseline):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::baselinePosition):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::baselinePosition):
        * rendering/RenderInline.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::baselinePosition):
        * rendering/RenderListBox.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::baselinePosition):
        * rendering/RenderListMarker.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::baselinePosition):
        * rendering/RenderSlider.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::baselinePosition):
        * rendering/RenderTableCell.h:
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::baselinePosition):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::baselinePosition):
        * rendering/VerticalPositionCache.h: Added.
        (WebCore::VerticalPositionCache::VerticalPositionCache):
        (WebCore::VerticalPositionCache::get):
        (WebCore::VerticalPositionCache::set):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::calculateBoundaries):

2010-11-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add stubbed out ScrollAnimator for the Mac
        https://bugs.webkit.org/show_bug.cgi?id=49678

        * WebCore.xcodeproj/project.pbxproj:
        Add ScrollAnimator.h/cpp.

        * platform/mac/ScrollAnimatorMac.cpp: Added.
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::scroll):
        (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
        * platform/mac/ScrollAnimatorMac.h: Added.
        ScrollAnimatorMac just calls through to the base class for now.

2010-11-17  Cris Neckar  <cdn@chromium.org>

        Reviewed by Adam Barth.

        Modified codepath for object fallback content which has failed to load.
        Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
        https://bugs.webkit.org/show_bug.cgi?id=46921

        Test: fast/html/object-image-nested-fallback.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderFallbackContent):
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::error):
        * loader/cache/CachedCSSStyleSheet.h:
        * loader/cache/CachedFont.cpp:
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::error):
        * loader/cache/CachedFont.h:
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::data):
        (WebCore::CachedImage::error):
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::canUseCacheValidator):
        (WebCore::CachedResource::mustRevalidate):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::error):
        (WebCore::CachedResource::httpStatusCodeError):
        (WebCore::CachedResource::errorOccurred):
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::error):
        * loader/cache/CachedScript.h:
        * loader/cache/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::error):
        * loader/cache/CachedXSLStyleSheet.h:
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::didFinishLoading):
        (WebCore::Loader::didFail):
        (WebCore::Loader::didReceiveData):

2010-11-16  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 function signature.
        * 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.

2010-11-17  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Merge ScriptElement and ScriptElementData
        https://bugs.webkit.org/show_bug.cgi?id=49647

        Merged two classes.

        * dom/AsyncScriptRunner.cpp:
        (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
        (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
        * dom/AsyncScriptRunner.h:
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
        (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
        (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
        (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
        (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
        (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
        (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
        (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
        (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
        (WebCore::ScriptElement::executeScript): Ditto.
        (WebCore::ScriptElement::stopLoadRequest): Ditto.
        (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
        (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
        (WebCore::ScriptElement::ignoresLoadRequest): Ditto.
        (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
        forAttributeValue, and eventAttributeValue.
        (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
        (WebCore::ScriptElement::scriptContent): Ditto.
        (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
        (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
        and deferAttributeValue.
        * dom/ScriptElement.h:
        (WebCore::ScriptElement::element):
        (WebCore::ScriptElement::haveFiredLoadEvent):
        (WebCore::ScriptElement::setHaveFiredLoadEvent):
        (WebCore::ScriptElement::createdByParser):
        (WebCore::ScriptElement::isEvaluated):

2010-11-17  Tenghui Zhu  <ztenghui@google.com>

        Reviewed by Jeremy Orlow.

        profileCallback and profileEndCallback  should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
        https://bugs.webkit.org/show_bug.cgi?id=49623

        No new tests. Just a compiling error fix.

        * bindings/v8/custom/V8ConsoleCustom.cpp:
          Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback

2010-11-17  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        Introduce GeoNotifierVector typedef for increased readability
        https://bugs.webkit.org/show_bug.cgi?id=49597

        * page/Geolocation.cpp:
        (WebCore::Geolocation::Watchers::getNotifiersVector):
        (WebCore::Geolocation::sendError):
        (WebCore::Geolocation::sendPosition):
        (WebCore::Geolocation::stopTimer):
        (WebCore::Geolocation::stopTimersForOneShots):
        (WebCore::Geolocation::stopTimersForWatchers):
        (WebCore::Geolocation::cancelRequests):
        (WebCore::Geolocation::cancelAllRequests):
        (WebCore::Geolocation::handleError):
        (WebCore::Geolocation::makeSuccessCallbacks):
        * page/Geolocation.h:

2010-11-17  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        Convert correctly between GeolocationPosition and Geoposition
        timestamp formats.
        https://bugs.webkit.org/show_bug.cgi?id=48518

        Test: fast/dom/Geolocation/timestamp.html

        * page/Geolocation.cpp:
        (WebCore::createGeoposition):

2010-11-17  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
        This makes spatial navigation work properly for single select box.

        Test: fast/events/spatial-navigation/snav-single-select.html

        * dom/SelectElement.cpp:
        (WebCore::nextValidIndex):
        (WebCore::SelectElement::menuListDefaultEventHandler):

2010-11-17  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Clear the speech input mock explicitly before each test.
        https://bugs.webkit.org/show_bug.cgi?id=49660

        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
        * platform/mock/SpeechInputClientMock.h:

2010-11-17  Alexander Pavlov  <apavlov@chromium.org>

        [Chromium] Unreviewed, fix Chromium-Mac build from r72189.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getDoubleValue):

2010-11-17  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
        https://bugs.webkit.org/show_bug.cgi?id=49601

        The WHERE clause should specifiy a condition for each key column to
        make sure that the ObjectStoreData_composit index can be used when
        querying the object store based on key. Not using the index causes
        severe performance degradation for common IDB operations.

        * storage/IDBKey.cpp:
        (WebCore::IDBKey::whereSyntax):

2010-11-17  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        [Chromium] implementation of async FileWriter for workers
        https://bugs.webkit.org/show_bug.cgi?id=47681

        Tests are in a separate changelist.

        * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs

2010-11-17  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [gtk] r69119 modified just the gtk2 version of the
        scrolled_window_paint function but not the gtk3 version
        https://bugs.webkit.org/show_bug.cgi?id=49585

        Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
        using state and use the same values we are using for gtk2 in the
        paint function.

        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::paintButton): Initialized the
        depressed attribute of the state variable to avoid using it
        without initialization.
        * platform/gtk/gtk3drawing.c:
        (moz_gtk_scrolled_window_paint):

2010-11-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Simon Fraser.

        CSSPrimitiveValue.getFloatValue does not convert sizes
        https://bugs.webkit.org/show_bug.cgi?id=35770

        Implemented all same-category unit conversions (length, angle, time, frequency) and retained
        absolute-relative (cm, mm, in, pt, pc) length conversions intact.
        Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::unitCategory):
        (WebCore::conversionToCanonicalUnitsScaleFactor):
        (WebCore::CSSPrimitiveValue::getDoubleValue):
        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
        (WebCore::CSSPrimitiveValue::getIdent):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::getFloatValue):
        (WebCore::CSSPrimitiveValue::getIntValue):

2010-11-17  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>

        Reviewed by Andreas Kling.

        Document::nodesFromRect() has wrong source code documentation
        https://bugs.webkit.org/show_bug.cgi?id=49610

        * dom/Document.h: fix nodesFromRect() documentation

2010-11-17  Alexis Menard  <alexis.menard@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Christiansen, Tor Arne Vestbø.

        [Qt] Add support for use GStreamer with the Qt build

        Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
        integration is rather basic at this point, allowing for software based rendering
        only at the moment. AC integration and fullscreen playback is still missing.

        * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
        build option with the USE_GSTREAMER macro.
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines): Don't use the generic media player registration
        when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
        to be able to build with gstreamer _and_ another backend simultaenously.
        * platform/graphics/gstreamer/ImageGStreamer.h:
        * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
        (ImageGStreamer::createImage):
        (ImageGStreamer::ImageGStreamer):
        (ImageGStreamer::~ImageGStreamer):
        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
        (FullScreenVideoWindow::FullScreenVideoWindow):
        (FullScreenVideoWindow::keyPressEvent):
        (FullScreenVideoWindow::event):
        (PlatformVideoWindow::PlatformVideoWindow):
        (PlatformVideoWindow::~PlatformVideoWindow):
        (PlatformVideoWindow::prepareForOverlay):

2010-11-17  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
        https://bugs.webkit.org/show_bug.cgi?id=49602

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.get name):
        (WebInspector.StylePropertyTreeElement.prototype.get priority):
        (WebInspector.StylePropertyTreeElement.prototype.get value):

2010-11-16  Adam Roben  <aroben@apple.com>

        Move QTMovieWin's settings into a vsprops file

        Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file

        Reviewed by Steve Falkenburg.

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/QTMovieWinCommon.vsprops: Added.

2010-11-16  Andy Estes  <aestes@apple.com>

        Reviewed by Dave Hyatt.

        WebKit mishandles line boxes where the content height exceeds the
        specified line-height.
        https://bugs.webkit.org/show_bug.cgi?id=49410

        If a line height is explicitly specified on a text box and fallback
        fonts are in use, only the primary font should be considered when
        computing the box's ascent and descent. This prevents the inline box
        from being sized larger than the specified line height.

        This patch also fixes a math error when computing a used font's descent
        in the case where line height isn't explicitly set. This change results
        in a number of layout tests needing re-baselining.

        Test: fast/css/line-height-determined-by-primary-font.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):

2010-11-15  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        ScriptElementData should be a private member of ScriptElement
        https://bugs.webkit.org/show_bug.cgi?id=49578

        Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
        and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.

        No tests are added since this is a cleanup.

        * dom/ScriptElement.h:
        (WebCore::ScriptElement::haveFiredLoadEvent): Added.
        (WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
        (WebCore::ScriptElement::createdByParser): Added.
        (WebCore::ScriptElement::isEvaluated): Added.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
        * html/HTMLScriptElement.h:
        (WebCore::HTMLScriptElement::text): Calls scriptContent.
        (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
        (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
        (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
        (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
        (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
        haveFiredLoadEvent, and setHaveFiredLoadEvent.

2010-11-16  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49320
        Minor ResourceLoadScheduler cleanups

        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::scheduleLoad):
        (WebCore::ResourceLoadScheduler::servePendingRequests):
        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
        (WebCore::ResourceLoadScheduler::HostInformation::remove):
        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
        * loader/ResourceLoadScheduler.h:

2010-11-16  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
        line should be ideographic or alphabetic.  Add a requiresIdeographicsBaseline recursive function to
        InlineFlowBox that scans for the use of any vertical fonts.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
        * rendering/InlineFlowBox.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::baselineType):

2010-11-16  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
        alphabetic and ideographic baseline can be requested.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/Font.h:
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        * platform/graphics/FontBaseline.h: Added.
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::ascent):
        (WebCore::SimpleFontData::descent):
        (WebCore::SimpleFontData::height):

2010-11-16  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=31223
        Make primitive values immutable.
        
        Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
    
        Reasoning:
        - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
        - computed style is immutable in all cases, and it wasn't
        - no other engine seems to support mutable primitives, as a result there is no content using these APIs
        - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
        - allowing mutation of primitive values makes optimizations harder

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::setFloatValue):
        (WebCore::CSSPrimitiveValue::setStringValue):

2010-11-16  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
        https://bugs.webkit.org/show_bug.cgi?id=49632

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCore.make:
        * WebCore.vcproj/WebCore.sln:
        * WebCore.vcproj/WebCore.vcproj:

2010-11-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by John Sullivan.

        Set the original URL for downloads
        https://bugs.webkit.org/show_bug.cgi?id=49628

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2010-11-16  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=11004
        
        font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
        Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
        since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
        of the constructor rather than using [NSFont pointSize].

        https://bugs.webkit.org/show_bug.cgi?id=49582
        
        Negative leading is not handled correctly.  There are two bugs here.  The first is that
        maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
        set them before so that we can allow them to be < 0.
        
        The second issue is that we should understand where fonts will end up relative to
        our baseline (excluding line height), and only allow those boxes to impact ascent and
        descent if the actual font box (without factoring in line height) is above or below the
        root line box baseline.

        Added fast/css/negative-leading.html
        
        These two bug fixes have to land together to keep the Acid 3 test rendering correctly.

        * WebCore.exp.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        * platform/graphics/cocoa/FontPlatformData.h:
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::smallCapsFontData):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        * rendering/InlineFlowBox.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):

2010-11-16  Darin Adler  <darin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=49611
        REGRESSION (r72115): 5 layout tests are broken

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest): Roll change from
        https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
        it back in after fixing the failing tests.

2010-11-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
        https://bugs.webkit.org/show_bug.cgi?id=49579

        r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
        got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s
        childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
        Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
        is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
        just keep it for when it is needed.

        Tests: fast/block/float/015.html
               fast/images/style-access-during-imageChanged-style-freeze.html

        * dom/Document.cpp:
        (WebCore::Document::isPendingStyleRecalc): Added.
        * dom/Document.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
        is coming (indicating that current style() is stale).

2010-11-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
        https://bugs.webkit.org/show_bug.cgi?id=47196

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
        (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractImageData): Ditto.
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
        (WebCore::ImageSource::setData): Ditto.
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData): Ditto.
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::ImageSource): Ditto.
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData): Ditto.
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoder::create): Ditto.
        (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData): Ditto.
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::create): Ditto.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ImageDecoder): Ditto.
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
        (WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
        (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
        * platform/image-decoders/png/PNGImageDecoder.h:
        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
        * platform/image-decoders/webp/WEBPImageDecoder.h:

2010-11-16  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines):

2010-11-12  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Refactor GL backend flags
        https://bugs.webkit.org/show_bug.cgi?id=49460

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
        (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
        (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
        (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
        * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
        (WebCore::WebGLRenderingContext::isGLES2Compliant):
        (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
        (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
        (WebCore::WebGLRenderingContext::isResourceSafe):
        (WebCore::WebGLRenderingContext::isDepthStencilSupported):
        * platform/graphics/Extensions3D.h: Add NPOT extension.
        * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
        * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
        * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.

2010-11-16  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        WebIDL conversions from string to number and array to number should not generate TypeError
        https://bugs.webkit.org/show_bug.cgi?id=49218

        Recent SVG-related changes to the StrictTypeChecking extended attribute in
        CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
        ECMA-262 specifications. In particular, when an attribute or function argument is specified
        as a number type (floating-point or integer), passing in a String or object is not supposed
        to raise an exception.

        The original intent of the StrictTypeChecking extended attribute was to properly raise
        TypeError when an interface type is required, but the supplied object does not implement the
        interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
        silently passed null to the C++ bindings in this case. The handling of strings in the
        original StrictTypeChecking implementation was also incorrect, raising exceptions when it
        should not.

        The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
        interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
        the autogenerated code.

        Test: fast/canvas/webgl/type-conversion-test.html

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::getObjectParameter):
        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
        (WebCore::V8WebGLRenderingContext::getParameterCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::vertexAttribAndUniformHelperf):

2010-11-16  Alexey Proskuryakov  <ap@apple.com>

        Windows build fix.

        * DerivedSources.cpp: Removing CSS Variables generated files.

2010-11-16  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by John Sullivan.

        getMIMEType(s)ForExtension should consult system mapping
        https://bugs.webkit.org/show_bug.cgi?id=49497

        No new tests possible.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. 
        Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
        constains() and then get().
        (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.

2010-11-16  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Rename QTKit based media engine class name
        https://bugs.webkit.org/show_bug.cgi?id=36663

        No new tests as this just renames a class and restructures existing code.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
        number of #ifs in the code.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::create):
        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
        (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
        (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
        (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
        (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
        (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
        (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
        (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
        (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
        (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
        (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
        (WebCore::MediaPlayerPrivateQTKit::createQTTime):
        (WebCore::MediaPlayerPrivateQTKit::resumeLoad):
        (WebCore::MediaPlayerPrivateQTKit::load):
        (WebCore::MediaPlayerPrivateQTKit::loadInternal):
        (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
        (WebCore::MediaPlayerPrivateQTKit::platformMedia):
        (WebCore::MediaPlayerPrivateQTKit::platformLayer):
        (WebCore::MediaPlayerPrivateQTKit::play):
        (WebCore::MediaPlayerPrivateQTKit::pause):
        (WebCore::MediaPlayerPrivateQTKit::duration):
        (WebCore::MediaPlayerPrivateQTKit::currentTime):
        (WebCore::MediaPlayerPrivateQTKit::seek):
        (WebCore::MediaPlayerPrivateQTKit::doSeek):
        (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
        (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
        (WebCore::MediaPlayerPrivateQTKit::paused):
        (WebCore::MediaPlayerPrivateQTKit::seeking):
        (WebCore::MediaPlayerPrivateQTKit::naturalSize):
        (WebCore::MediaPlayerPrivateQTKit::hasVideo):
        (WebCore::MediaPlayerPrivateQTKit::hasAudio):
        (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQTKit::setVolume):
        (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions):
        (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
        (WebCore::MediaPlayerPrivateQTKit::setRate):
        (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
        (WebCore::MediaPlayerPrivateQTKit::buffered):
        (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded):
        (WebCore::MediaPlayerPrivateQTKit::bytesLoaded):
        (WebCore::MediaPlayerPrivateQTKit::totalBytes):
        (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
        (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
        (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup):
        (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
        (WebCore::MediaPlayerPrivateQTKit::updateStates):
        (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
        (WebCore::MediaPlayerPrivateQTKit::rateChanged):
        (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
        (WebCore::MediaPlayerPrivateQTKit::timeChanged):
        (WebCore::MediaPlayerPrivateQTKit::didEnd):
        (WebCore::MediaPlayerPrivateQTKit::setSize):
        (WebCore::MediaPlayerPrivateQTKit::setVisible):
        (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame):
        (WebCore::MediaPlayerPrivateQTKit::repaint):
        (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
        (WebCore::MediaPlayerPrivateQTKit::paint):
        (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes):
        (WebCore::MediaPlayerPrivateQTKit::supportsType):
        (WebCore::MediaPlayerPrivateQTKit::isAvailable):
        (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
        (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
        (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
        (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):
        (WebCore::MediaPlayerPrivateQTKit::movieLoadType):
        (WebCore::MediaPlayerPrivateQTKit::setPreload):
        (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue):
        (-[WebCoreMovieObserver initWithCallback:]):

2010-11-16  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=49483
        Remove CSS Variable support

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8DOMWindowCustom.cpp
        * bindings/objc/DOMCSS.mm:
        (kitClass):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSGrammar.y:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
        (WebCore::CSSMutableStyleDeclaration::copy):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::create):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::recheckAtKeyword):
        (WebCore::CSSParser::text):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createKeyframesRule):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        (WebCore::CSSParser::addNamespace):
        (WebCore::CSSParser::createPageRule):
        * css/CSSParser.h:
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserValueList::addValue):
        (WebCore::CSSParserValueList::deleteValueAt):
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSParserValues.h:
        (WebCore::CSSParserValueList::CSSParserValueList):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::getStringValue):
        (WebCore::CSSPrimitiveValue::cssText):
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSPrimitiveValue.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::cssText):
        * css/CSSPropertyNames.in:
        * css/CSSRule.h:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:
        * css/CSSValue.h:
        * css/CSSVariableDependentValue.cpp: Removed.
        * css/CSSVariableDependentValue.h: Removed.
        * css/CSSVariablesDeclaration.cpp: Removed.
        * css/CSSVariablesDeclaration.h: Removed.
        * css/CSSVariablesDeclaration.idl: Removed.
        * css/CSSVariablesRule.cpp: Removed.
        * css/CSSVariablesRule.h: Removed.
        * css/CSSVariablesRule.idl: Removed.
        * css/StyleBase.h:
        (WebCore::StyleBase::isMediaRule):
        * css/tokenizer.flex:
        * page/DOMWindow.idl:

2010-11-16  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=48603
        Boolean logic mistake in local file check

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass
        before accepting a local file load.

2010-11-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Harden additional string functions against large lengths
        https://bugs.webkit.org/show_bug.cgi?id=49574

        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::encode): Check for length that is
        too large for size_t.

        * platform/text/TextStream.cpp:
        (WebCore::TextStream::operator<<): Check for length that is
        too large for size_t.

2010-11-16  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Touching inspector controller to make gtk / qt happier.

        * inspector/InspectorController.cpp:

2010-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Use gdk_pixbuf_get_from_surface() when available
        https://bugs.webkit.org/show_bug.cgi?id=49532

        * platform/graphics/gtk/GdkCairoUtilities.cpp:
        (cairoImageSurfaceToGdkPixbuf):

2010-11-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: init front-end UI upon DOMContentLoaded, not load event.
        https://bugs.webkit.org/show_bug.cgi?id=49596

        * inspector/front-end/inspector.js:
        (windowLoaded):

2010-11-15  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Migrate frontend to the new CSS editing/retrieval API
        https://bugs.webkit.org/show_bug.cgi?id=49492

        Test: inspector/styles-new-API.html

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.addRule.callback):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
        (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
        (WebInspector.CSSRule):
        (WebInspector.CSSProperty.prototype.get propertyText):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet):
        (WebInspector.CSSStyleSheet.createForId):
        (WebInspector.CSSStyleSheet.prototype.getText):
        (WebInspector.CSSStyleSheet.prototype.setText):
        * inspector/front-end/Settings.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox):
        (WebInspector.StylePropertiesSection.prototype._debugShowStyle):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.):
        * inspector/front-end/inspector.css:
        (.styles-section .properties li.not-parsed-ok):
        (.styles-section .properties li.not-parsed-ok::before):
        (.styles-section .properties .inactive):

2010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72082.
        http://trac.webkit.org/changeset/72082
        https://bugs.webkit.org/show_bug.cgi?id=49594

        "broken SnowLeopard build" (Requested by apavlov on #webkit).

        * css/CSSPrimitiveValue.cpp:
        (WebCore::scaleFactorForConversion):
        (WebCore::CSSPrimitiveValue::getDoubleValue):
        (WebCore::CSSPrimitiveValue::getIdent):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::getFloatValue):
        (WebCore::CSSPrimitiveValue::getIntValue):

2010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72087.
        http://trac.webkit.org/changeset/72087
        https://bugs.webkit.org/show_bug.cgi?id=49593

        "broken build" (Requested by apavlov on #webkit).

        * css/CSSPrimitiveValue.cpp:
        (WebCore::unitCategory):

2010-11-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: rename StoragePanel to ResourcesPanel.
        https://bugs.webkit.org/show_bug.cgi?id=49534

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryFinished):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        * inspector/front-end/Images/storageIcon.png: Removed.
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
        * inspector/front-end/StoragePanel.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.resources.panel .sidebar):
        (.resources.panel .sidebar li):
        (.resources.panel .sidebar li.parent):
        (.resources.panel .sidebar li.selected):
        (.resources.panel .sidebar li.selected .selection):
        (.resources.panel .sidebar :focus li.selected .selection):
        (body.inactive .resources.panel .sidebar li.selected .selection):
        (.resources.panel .sidebar .icon):
        (.resources.panel .base-storage-tree-element-title):
        (.resources.panel .status):
        (.resources.panel li .status .bubble):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector.openResource):
        (WebInspector.showPanel):
        (WebInspector.selectDatabase):
        (WebInspector.selectDOMStorage):
        (WebInspector.addDatabase):
        (WebInspector.addDOMStorage):
        (WebInspector.updateDOMStorage):
        (WebInspector.updateApplicationCacheStatus):
        (WebInspector.didGetFileSystemPath):
        (WebInspector.didGetFileSystemError):
        (WebInspector.didGetFileSystemDisabled):
        (WebInspector.updateNetworkState):
        (WebInspector._choosePanelToShowSourceLine):

2010-11-16  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed SnowLeopard build fix.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::unitCategory):

2010-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        Viewport meta tag: Fix geometry computation

        Available width and height should also be divided by the device pixel ratio.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        * platform/network/qt/DnsPrefetchHelper.cpp:

2010-11-12  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Simon Fraser.

        CSSPrimitiveValue.getFloatValue does not convert sizes
        https://bugs.webkit.org/show_bug.cgi?id=35770

        Implemented all same-category unit conversions (length, angle, time, frequency) and retained
        absolute-relative (cm, mm, in, pt, pc) length conversions intact.
        Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::unitCategory):
        (WebCore::scaleFactorForConversion):
        (WebCore::CSSPrimitiveValue::getDoubleValue):
        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
        * css/CSSPrimitiveValue.h:

2010-11-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract HTML title setter in treeoutline.js.
        https://bugs.webkit.org/show_bug.cgi?id=49540

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
        (WebInspector.ElementsTreeElement.prototype.updateTitle):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.get titleHTML):
        (TreeElement.prototype.set titleHTML):
        (TreeElement.prototype._setListItemNodeContent):

2010-11-16  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        Assert that DeviceOrientationClientMock is used by only one controller.
        https://bugs.webkit.org/show_bug.cgi?id=48506

        This is a design constraint of the DeviceOrientationClientMock because the
        m_controller field can only store a pointer to a single instance of the
        corresponding DeviceOrientationController.

        * platform/mock/DeviceOrientationClientMock.cpp:
        (WebCore::DeviceOrientationClientMock::setController):

2010-11-16  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders
        https://bugs.webkit.org/show_bug.cgi?id=48634
        
        Specify the capacity when calling CFDataCreateMutable, which can signal
        malloc failures (by returning NULL), unlike CFDataSetLength.

        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::RGBA32Buffer::setSize):

2010-11-15  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze and Darin Adler.

        requiredFeatures does not adapt to SVGStringList changes
        https://bugs.webkit.org/show_bug.cgi?id=40887

        Centralize the const_cast handling and only do it if needed.
        Remove the const_cast in all svgAttributeChanged functions and move
        it to SVGTest::handleAttributeChange. Add an early return to
        handleAttributeChange to avoid unnecessary const_casts.

        No tests necessary as functionality has not changed.

        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::svgAttributeChanged):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::svgAttributeChanged):
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::svgAttributeChanged):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):
        * svg/SVGTests.cpp:
        (WebCore::SVGTests::handleAttributeChange):
        * svg/SVGTests.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::svgAttributeChanged):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged):

2010-11-15  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash.
        https://bugs.webkit.org/show_bug.cgi?id=49569

        Test: fast/events/remove-shadow-host-crash.html

        * rendering/TextControlInnerElements.h:
        (WebCore::TextControlInnerElement::isShadowNode):
        (WebCore::TextControlInnerElement::shadowParentNode):

2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData
        https://bugs.webkit.org/show_bug.cgi?id=49469

        Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from
        HTMLScriptElement and SVGScriptElement to ScriptElementData.

        Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren,
        and handleSourceAttribute of ScriptElement non-static.

        No new tests are added since this is a cleanup.

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::scriptCharset): Added.
        (WebCore::ScriptElement::scriptContent): Added.
        (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added.
        (WebCore::ScriptElement::executeScript): Added.
        (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data.
        (WebCore::ScriptElement::removedFromDocument): Ditto.
        (WebCore::ScriptElement::childrenChanged): Ditto.
        (WebCore::ScriptElement::finishParsingChildren): Ditto.
        (WebCore::ScriptElement::handleSourceAttribute): Ditto.
        * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData
        because ScriptElement has to instantiate ScriptElementData.
        (WebCore::ScriptElement::ScriptElement): Initializes m_data.
        * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
        (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData.
        (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
        (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute.
        (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
        (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
        (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
        * html/HTMLScriptElement.h:
        * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
        (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData.
        (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute.
        (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
        (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
        (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
        (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
        * svg/SVGScriptElement.h:

2010-11-15  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Refactor HTMLInputElement: Move a part of HTMLInputElement::
        defaultEventHandler() to InputTypes.
        https://bugs.webkit.org/show_bug.cgi?id=48317

        Move out the followings to InputTypes:
         - click event processing,
         - the first keydown event processing, and
         - DOMActivate event processing.

        Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as
        m_clickLocation. It's ok to move them because they should be valid only
        when HTMLInputElement::m_activeSubmit is true. For type=image,
        m_activeSubmit is true only in DOMActivate event handling. So we reset
        m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent().

        No new tests because this is just a refactoring.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
        * html/BaseDateAndTimeInputType.h:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLInputElement.h:
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::appendFormData):
        (WebCore::ImageInputType::handleDOMActivateEvent):
        * html/ImageInputType.h:
        * html/InputType.cpp:
        (WebCore::InputType::handleClickEvent):
        (WebCore::InputType::handleDOMActivateEvent):
        (WebCore::InputType::handleKeydownEvent):
        * html/InputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::handleKeydownEvent):
        * html/NumberInputType.h:
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::handleClickEvent):
        * html/RadioInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent):
        * html/RangeInputType.h:
        * html/ResetInputType.cpp:
        (WebCore::ResetInputType::handleDOMActivateEvent):
        * html/ResetInputType.h:
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::handleDOMActivateEvent):
        * html/SubmitInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::handleKeydownEvent):
        (WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
        * html/TextFieldInputType.h:

2010-11-15  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioNode custom bindings
        https://bugs.webkit.org/show_bug.cgi?id=49119

        No new tests since audio API is not yet implemented.

        * bindings/js/JSAudioNodeCustom.cpp: Added.
        (WebCore::JSAudioNode::connect):
        (WebCore::JSAudioNode::disconnect):
        * bindings/v8/custom/V8AudioNodeCustom.cpp: Added.
        (WebCore::V8AudioNode::connectCallback):
        (WebCore::V8AudioNode::disconnectCallback):
        * webaudio/AudioNode.idl:

2010-11-15  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49570
        
        Put italics specialization check back in CSSFontSelector.  I had to back it out, since it broke
        a layout test, and the issue was that local font fallback fonts should not be considered by the
        specialization check (since you never want to pick a fallback over an actual @font-face rule if
        the @font-face rule can handle it).
 
        * css/CSSFontFace.h:
        (WebCore::CSSFontFace::create):
        (WebCore::CSSFontFace::isLocalFallback):
        (WebCore::CSSFontFace::CSSFontFace):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        (WebCore::compareFontFaces):

2010-11-15  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452
        Placeholder should not be swapped in and out of the text control's inner text element

        There's no need to swap the placeholder text in and out of the inner text element.  Instead, just paint the text.
        This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer):
        Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text.
        (WebCore::RenderTextControl::paintObject):  Paint the placeholder text during the background phase.
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
        (WebCore::RenderTextControlMultiLine::updateFromElement):  Remove code that set the inner text value with the placeholder text.
        (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
        (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added.
        (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added.
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
        (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added.
        (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added.
        * rendering/RenderTextControlSingleLine.h:
        * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time.

2010-11-15  Andreas Kling  <kling@webkit.org>

        Unreviewed buildfix (Qt WebKit2 minimal)

        * platform/qt/CookieJarQt.cpp: Add missing <QStringList> include.

2010-11-15  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent
        https://bugs.webkit.org/show_bug.cgi?id=49357

        No new tests since audio API is not yet implemented.

        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Event.cpp:
        (WebCore::Event::isAudioProcessingEvent):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toJavaScriptAudioNode):
        * dom/EventTarget.h:

2010-11-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        A minor style fix in StyledElement.cpp.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSProperty):
        (WebCore::StyledElement::addCSSImageProperty):

2010-11-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49565
        Remove Attr.style accessor

        * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need
        it any more.

2010-11-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=49555 
        Frame::scalePage() should treat the origin as an absolute 
        coordinate
        -and corresponding-
        <rdar://problem/8667138>

        * page/Frame.cpp:
        (WebCore::Frame::scalePage):

2010-11-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8662770> Error image has incorrect size when a custom font is used

        Test: fast/images/style-access-during-imageChanged-crash.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText.
        (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation
        out of setImageSizeForAltText() into this function.
        (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError().
        (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the
        intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation.
        (WebCore::RenderImage::imageChanged): Moved some code from here...
        (WebCore::RenderImage::imageDimensionsChanged): ...to here.
        * rendering/RenderImage.h:

2010-11-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dimitri Glazkov.

        ASSERTION (r72003): Assertion failure when running layout tests
        https://bugs.webkit.org/show_bug.cgi?id=49561

        r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement,
        but did not add the attribute to the isURLAttribute which lead to assertion failures
        when running the layout tests with a debug build.

        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::isURLAttribute):
        * html/HTMLButtonElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isURLAttribute):

2010-11-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49559
        DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString

        No observable change in behavior, so no tests.

        * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString.

2010-11-15  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well

        Move this into WebCore/features.pri which is used by both WebCore and WebKit2.

        * WebCore.pro:
        * features.pri:

2010-11-15  Martin Robinson  <mrobinson@igalia.com>

        Build fix for GTK+.

        * GNUmakefile.am: Add some missing generated files to the source list.

2010-11-15  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        [chromium] Avoid copying of SkBitmap in LayerRendererChromium
        https://bugs.webkit.org/show_bug.cgi?id=49560

        Ran CSS 3D content to test. No other new tests.

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

2010-11-15  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Fixes layer opacity implementation of composited layers
        https://bugs.webkit.org/show_bug.cgi?id=49233

        This introduces a fairly drastic change in how LayerRendererChromium draws
        composited layers. Layers that have non-zero opacity as well as layers that
        clip their descendants (and have non-trivial transforms) are now first
        rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing
        operation now consists of two distinct phases: First a hierarchical traversal
        of the layer tree to compute the layer transforms, determine what the necessary
        RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second
        pass goes through all the RenderSurfaces discovered by the first pass and updates
        their contents.
        Additional significant side-effects of this change are:
        1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's
           algorithm to render layers with the preserves-3d property from back to front using
           the Z coordinate of their center. This will further be improved in the future with
           the intoduction of a BSP tree to properly deal with intersecting layers.
        2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed
           by rendering layer subtrees into an offscreen buffer and setting the appropriate
           scissor and viewport transformation.

        Tests: abs-position-inside-opacity.html (for the opacity implementation)
               and the rest of the compositing layout tests to verify that
               everything still works.

        * WebCore.gypi:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::cleanupResources):
        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
        (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
        (WebCore::ContentLayerChromium::updateContents):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::cleanupResources):
        (WebCore::LayerChromium::createRenderSurface):
        (WebCore::LayerChromium::descendantsDrawContent):
        (WebCore::LayerChromium::descendantsDrawContentRecursive):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::drawTransform):
        (WebCore::LayerChromium::layerRenderer):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::orthoMatrix):
        (WebCore::isScaleOrTranslation):
        (WebCore::LayerRendererChromium::compareLayerZ):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (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:
        * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added.
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
        (WebCore::RenderSurfaceChromium::cleanupResources):
        (WebCore::RenderSurfaceChromium::layerRenderer):
        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
        * platform/graphics/chromium/RenderSurfaceChromium.h: Added.
        (WebCore::RenderSurfaceChromium::contentRectCenter):
        (WebCore::RenderSurfaceChromium::contentRect):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::cleanupResources):

2010-11-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Andreas Kling.

        [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds
        https://bugs.webkit.org/show_bug.cgi?id=49549

        No new tests. This can be verified by loading any existing vertical text test
        in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently
        no automatic way of verifying custom cursors.

        * platform/gtk/GtkVersioning.c:
        (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct.

2010-11-12  Jer Noble  <jer.noble@apple.com>

        Reviewed by Brady Eidson.

        Can't view HTML5 video when running Safari with an authenticated proxy server
        <rdar://problem/8351926>
        
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie):

2010-11-14  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        Event dispatch call can blow away the node's renderer initialized
        before the call in updateSelectionForMouseDrag function. We need
        to initialize it after the call.
        https://bugs.webkit.org/show_bug.cgi?id=49524

        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateSelectionForMouseDrag):

2010-11-15  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Martin Robinson.

        Make ContextShadow compile on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=49535

        Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms
        and move them into the WebCore namespace like all other Platform* typedefs.

        * platform/graphics/ContextShadow.h:

2010-11-15  Renata Hodovan  <reni@webkit.org>

        Reviewed by Andreas Kling.

        SVGFEImageElement doesn't support dynamic invalidation
        https://bugs.webkit.org/show_bug.cgi?id=49536

        The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.

        Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
               svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html

        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::svgAttributeChanged):
        * svg/SVGFEImageElement.h:

2010-11-15  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Focus ring does not show on focused links.
        https://bugs.webkit.org/show_bug.cgi?id=49515

        After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer
        visible in Qt.
        The reason is that Qt always returned true in RenderTheme::supportsFocusRing(),
        but until r69766, we did not check that for links. Qt draws its own focus ring
        for controls that it draws, but not for links.
        Change the return value to false if the style's appearance is not something that Qt
        draws by itself or does not support.
        Added a Qt specific test result for the new test added in r69766.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::supportsFocusRing):

2010-11-15  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags
        https://bugs.webkit.org/show_bug.cgi?id=49240

        Tests: fast/forms/formaction-attribute.html
               fast/forms/formmethod-attribute-button-html.html
               fast/forms/formmethod-attribute-input-html.html
               fast/forms/formtarget-attribute-button-html.html
               fast/forms/formtarget-attribute-input-html.html
               fast/forms/mailto/formenctype-attribute-button-html.html
               fast/forms/mailto/formenctype-attribute-input-html.html
               fast/forms/submit-form-attributes.html

        * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes
        * html/HTMLButtonElement.idl:
        * html/HTMLInputElement.idl:
        * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes
        (WebCore::FormSubmission::Attributes::copyFrom):
        (WebCore::FormSubmission::create):
        * loader/FormSubmission.h:

2010-11-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Do not hide default Ctrl+A behavior on non-Mac.
        https://bugs.webkit.org/show_bug.cgi?id=49527

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._onKeyDown):

2010-11-15  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Kent Tamura.

        Add capability for displaying warnings to autofill popup
        Warnings are displayed in dark gray italic.
        https://bugs.webkit.org/show_bug.cgi?id=49291
        http://code.google.com/p/chromium/issues/detail?id=58509

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::getRowFont):
          Use item-specific font, not just the generic menu font.
        (WebCore::PopupListBox::selectIndex):
          Updated to clear the selection when hovering over a non-selectable item.
        * platform/chromium/PopupMenuChromium.h: Minor cleanup

2010-11-14  David Hyatt  <hyatt@apple.com>

        Back out the italics portion of the previous patch until I can figure out why it
        doesn't work.

        * css/CSSFontSelector.cpp:
        (WebCore::compareFontFaces):

2010-11-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Improve API for form validation message strings
        https://bugs.webkit.org/show_bug.cgi?id=34945
        
        This change introduces three new functions;
        validationMessageTypeMismatchFor*Text(). The implementation for each
        platform is just a call to validationMessageTypeMismatchText().

        Some validationMessage*() functions have new parameters.  The parameters
        are ignored in all platforms for now.

        This change doesn't change any behavior. However a platform can add
        additional information to validation messages.  e.g. Changing "type
        mismatch" to "Please specify an e-mail address" for <input type=email>.

        * html/EmailInputType.cpp:
        (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText()
          or validationMessageTypeMismatchForMultipleEmailText().
        * html/EmailInputType.h:
        * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState.
        * html/HTMLInputElement.cpp: Add the following functions to pass extra
          information to validation message string functions.
        (WebCore::HTMLInputElement::minimumString):
        (WebCore::HTMLInputElement::maximumString):
        (WebCore::HTMLInputElement::stepBaseString):
        (WebCore::HTMLInputElement::stepString):
        (WebCore::HTMLInputElement::typeMismatchText):
        * html/HTMLInputElement.h:
        * html/HTMLTextAreaElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText().
        * html/InputType.h:
        * html/URLInputType.cpp:
        (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText().
        * html/URLInputType.h:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::validationMessage):
        * platform/LocalizedStrings.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):
        * platform/LocalizedStrings.h:
          - Add validationMessageTypeMismatchForEmailText(),
            validationMessageTypeMismatchForMultipleEmailText() and
            validationMessageTypeMismatchForURLText()
          - Add length parameters to validationMessageTooLongText().
          - Add the minimum value parameter to validationMessageRangeUnderflowText()
          - Add the maximum value parameter to validationMessageRangeOverflowText()
          - Add parameters of the base value and the step value to validationMessageStepMismatchText()
        * platform/android/LocalizedStringsAndroid.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):
        * platform/brew/LocalizedStringsBrew.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageStepMismatchText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):
        * platform/haiku/LocalizedStringsHaiku.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):

2010-11-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Andreas Kling.

        KeyboardEvent::keyIdentifier() should return "const String&"
        https://bugs.webkit.org/show_bug.cgi?id=49426

        No new tests. This shouldn't change the current behavior.

        * dom/KeyboardEvent.h:
        (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String&
        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler):
          Change the type of a variable to have keyIdentifier(); String -> const String&
        (WebCore::SelectElement::listBoxDefaultEventHandler): ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler): ditto.
        (WebCore::HTMLInputElement::handleKeyEventForRange): ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto.

2010-11-14  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        [HTML5] "form" attribute support for form control elements
        https://bugs.webkit.org/show_bug.cgi?id=47813

        Adds a list of form-associated elements with form attribute into
        the Document class to support form attribute.
        Adds a function to determine the right place to locate
        form-associated elements with form attribute into
        m_associatedElements of HTMLFormElement class.

        Tests: fast/forms/form-attribute-elements-order.html
               fast/forms/form-attribute-elements-order2.html
               fast/forms/form-attribute-elements.html
               fast/forms/form-attribute.html

        * dom/Document.cpp:
        (WebCore::Document::registerFormElementWithFormAttribute): Added.
        (WebCore::Document::unregisterFormElementWithFormAttribute): Added.
        (WebCore::Document::resetFormElementsOwner): Added.
        * dom/Document.h: Added the list for elements with form attribute.
        * html/HTMLAttributeNames.in: Added form attribute.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle
        form attribute.
        (WebCore::HTMLFormControlElement::removedFromTree): Ditto.
        (WebCore::HTMLFormControlElement::resetFormOwner): Added.
        (WebCore::HTMLFormControlElement::attributeChanged): Added.
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize
        newly-added variables.
        (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset
        form owner of form-associated elements.
        (WebCore::HTMLFormElement::removedFromDocument): Ditto.
        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added.
        (WebCore::HTMLFormElement::formElementIndex): Modified to treat
        form-associated elements with form attribute separately.
        (WebCore::HTMLFormElement::removeFormElement): Modified to handle
        form-associated elements with form attribute.
        * html/HTMLFormElement.h: Added three variables to handle form attribute.
        * html/HTMLOutputElement.cpp: Removed "FIXME" comment.
        (WebCore::HTMLOutputElement::parseMappedAttribute):
        * html/HTMLOutputElement.h: Removed setForm().

2010-11-14  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979.
        
        Refine the font selection function for @font-face to be smarter about what fonts it prefers.  If
        a font is labeled as only supporting small-caps, then prefer it to one that claims to support both
        normal and small-caps.  The specialized font is more likely to be true small-caps and to not rely
        on synthesis.
        
        Added the same logic for italic as well.  Prefer the font that is specifically restricted to
        italic to one that claims it can support anything.

        * css/CSSFontSelector.cpp:
        (WebCore::compareFontFaces):

2010-11-14  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Martin Robinson.

        [EFL] add pango support
        https://bugs.webkit.org/show_bug.cgi?id=46029

        Include pango related files.
        No new tests; functionality is unchanged.

        * CMakeListsEfl.txt:

2010-11-12  Tenghui Zhu  <ztenghui@google.com>

        Reviewed by Andreas Kling.

        [V8] Code generation script error in generating the SVGStaticListPropertyTearOff
        https://bugs.webkit.org/show_bug.cgi?id=49463

        * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing
        the SVGStaticListPropertyTearOff string, not the svgListPropertyType.

2010-11-14  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Sort CMakeLists.txt
        https://bugs.webkit.org/show_bug.cgi?id=49507

        * CMakeLists.txt:

2010-11-13  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Yury Semikhatsky.

        Buildfix for !ENABLE(INSPECTOR)
        https://bugs.webkit.org/show_bug.cgi?id=49500

        Also unify the position of the condition in the cpp files.

        * inspector/ConsoleMessage.cpp:
        * inspector/InspectorResourceAgent.cpp:
        * inspector/InspectorState.cpp:
        * inspector/ScriptCallFrame.cpp:
        * inspector/ScriptCallStack.cpp:

2010-11-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

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

        Repaint is broken across writing mode boundaries.  It's not enough to add in flipped offsets.  You have
        to flip the rect itself.

        Added fast/repaint/repaint-across-writing-mode-boundary.html

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

2010-11-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49505
        
        REGRESSION: @font-face doesn't work with the small-caps variant.  This was broken by the addition of SVG fonts
        support long ago.  This patch fixes the SVG code so that it doesn't break non-SVG fonts.

        Added fast/blockflow/broken-ideograph-small-caps.html

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::hasSVGFontFaceSource):
        * css/CSSFontFace.h:
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        (WebCore::CSSFontSelector::getFontData):

2010-11-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        fast/text/hyphen* tests have different results on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=43296

        * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
        (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default
        through the normal NSUserDefaults search order rather than skipping the application domain.
        This makes this function respect DumpRenderTree’s setting of the default in the application
        domain.

2010-11-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49499
        
        broken-ideographic-font.html causes layout test flakiness in release builds.  The reason for this is
        that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree.
        The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get
        pruned as well.  In addition, custom small caps fonts were never getting deleted either.
        
        I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it
        instead.
        
        Unskip fast/blockflow/broken-ideographic-font.html

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::~SimpleFontData):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::allowsLigatures):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):
        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::disableLigatures):
        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformDestroy):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):

2010-11-13  David Hyatt  <hyatt@apple.com>

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

        Fix broken-ideographic-font.html.  I had the font installed locally on my machine, and this covered up
        the fact that CoreText was implicitly using it as fallback in the vertical case only.  The bots don't have
        the font installed locally, and so they showed the bug.

        Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is
        willing to fill.

        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes):

2010-11-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49464
        
        Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no
        vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms.
        
        (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as
        distinct when used in horizontal and vertical forms.
        
        (2) Let the orientation member of FontPlatformData represent the desired orientation rather than
        the supported one.  Add an orientation member to SimpleFontData that represents the actual
        supported orientation of the font.
        
        (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when
        CJK ideographs are encountered.  This is essentially identical to the small caps fallback mechanism
        but invoked only for ideographs.  The special ideograph font locks the orientation to vertical and
        renders the glyphs upright even when the font has no vertical tables.  Punctuation and such will
        still look funny, and really this is a bug in the font, but at least this way it will be apparent
        that the font is to blame.

        Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData):
        * platform/graphics/Font.cpp:
        (WebCore::Font::isCJKIdeograph):
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        (WebCore::SimpleFontData::~SimpleFontData):
        (WebCore::SimpleFontData::brokenIdeographFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::orientation):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::showGlyphsWithAdvances):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformBoundsForGlyph):
        (WebCore::SimpleFontData::platformWidthForGlyph):

2010-11-13  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        requiredFeatures does not adapt to SVGStringList changes
        https://bugs.webkit.org/show_bug.cgi?id=40887

        Centralize logic of handling of SVGElement validity changes.
        The logic is to detach the SVGElement when changing from valid
        to invalid, and to attach when changing from invalid to valid.

        Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html
               svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html
               svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html

        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::svgAttributeChanged):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::svgAttributeChanged):
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::svgAttributeChanged):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):
        * svg/SVGTests.cpp:
        (WebCore::knownAttribute):
        (WebCore::SVGTests::isKnownAttribute):
        (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes.
        * svg/SVGTests.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::svgAttributeChanged):
        (WebCore::SVGTextContentElement::isKnownAttribute):
        * svg/SVGTextContentElement.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged):

2010-11-13  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view
        https://bugs.webkit.org/show_bug.cgi?id=49493

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._showResource):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype.selectContentTab):
        (WebInspector.ResourceView.prototype._selectTab):
        (WebInspector.ResourceView.prototype._refreshCookies):
        (WebInspector.ResourceCookiesTab.prototype.show):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.showResource):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.hasTab):
        (WebInspector.TabbedPane.prototype.selectTabById):
        (WebInspector.TabbedPane.prototype._hideTab):
        (WebInspector.TabbedPane.prototype._showTab):
        * inspector/front-end/inspector.css:
        (.resource-view-cookies):
        (.resource-view-cookies.visible):

2010-11-13  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked
        https://bugs.webkit.org/show_bug.cgi?id=49362

        * page/Console.cpp:
        (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership
        has been passed to the inspector.

2010-11-13  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: DOM event listener name is cropped in Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=49387

        * inspector/front-end/inspector.css:
        (.event-bar): use margin-left instead of left to fit child node into its parent

2010-11-13  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Fixes regression from previous patch -- computes y offsets for elements
        that are scrolled out of the window.
        https://bugs.webkit.org/show_bug.cgi?id=49306

        * manual-tests/select-scroll.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):

2010-11-12  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        Transferred <iframe>s may not have a unique internal name
        https://bugs.webkit.org/show_bug.cgi?id=48768

        Fixes an issue where an <iframe> that is transferred from
        document A to document B, where A != B, may not have a
        unique internal name in B.

        Test: fast/frames/iframe-reparenting-unique-name.html

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Inlined code from
        HTMLFrameElementBase::setName() so that we can remove setName(), which
        was only called being called by HTMLFrameElementBase::setNameAndOpenURL().
        * html/HTMLFrameElementBase.h: Removed HTMLFrameElementBase::setName().
        * html/HTMLFrameOwnerElement.h: Removed HTMLFrameOwnerElement::setName().
        * page/Frame.cpp:
        (WebCore::Frame::transferChildFrameToNewDocument): Modified to call FrameTree::transferChild().
        * page/FrameTree.cpp:
        (WebCore::FrameTree::transferChild): Added.
        (WebCore::FrameTree::appendChild): Moved the majority of the code into FrameTree::actuallyAppendChild().
        (WebCore::FrameTree::actuallyAppendChild): Added.
        * page/FrameTree.h:

2010-11-12  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Some FrameLoader.h Cleanup
        https://bugs.webkit.org/show_bug.cgi?id=49484

        Removed function signatures without any implementation. The functions
        used to exist, and were nicely refactored into PageCache in r60688 and
        the signatures were left behind.

        Removed function signature setLoadType. Added in r17238 back when the
        file was named WebFrameLoader, and the implementation was lost during
        the transition from its mm implementation.

        Removed function signature updateHistoryAfterClientRedirect. Implementation
        and call points were removed in r18541 but the signature was left behind,
        and jumped files!

        Removed unused debug variable m_didDispatchDidCommitLoad. It was added
        and used in Assertions in r28399. It was removed soon after, in r28464
        because they were, "firing like crazy. Not sure why yet." It was
        never used again.

        Added const qualifier and moved interruptionForPolicyChangeError to
        be more like its buddies.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::interruptionForPolicyChangeError):
        (WebCore::FrameLoader::dispatchDidCommitLoad):
        * loader/FrameLoader.h:

2010-11-12  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by David Hyatt.

        Spatial Navigation: Cannot focus on some ContainerNode
        https://bugs.webkit.org/show_bug.cgi?id=48393

        ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child 
        is its own lowest right corner. If that child is an empty text node after an image, it does 
        not have size and position information, so we should go to the previous child.

        Tests: fast/events/spatial-navigation/snav-container-only-white-space.html
               fast/events/spatial-navigation/snav-container-white-space.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getLowerRightCorner):

2010-11-12  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Rename interfaces:
        - Navigation -> PerformanceNavigation
        - Timing -> PerformanceTiming
        https://bugs.webkit.org/show_bug.cgi?id=48919

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Performance.cpp:
        (WebCore::Performance::navigation):
        (WebCore::Performance::timing):
        * page/Performance.h:
        * page/Performance.idl:
        * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
        (WebCore::PerformanceNavigation::PerformanceNavigation):
        (WebCore::PerformanceNavigation::frame):
        (WebCore::PerformanceNavigation::disconnectFrame):
        (WebCore::PerformanceNavigation::type):
        (WebCore::PerformanceNavigation::redirectCount):
        * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
        (WebCore::PerformanceNavigation::create):
        * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
        * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
        (WebCore::toIntegerMilliseconds):
        (WebCore::getPossiblySkewedTimeInKnownRange):
        (WebCore::PerformanceTiming::PerformanceTiming):
        (WebCore::PerformanceTiming::frame):
        (WebCore::PerformanceTiming::disconnectFrame):
        (WebCore::PerformanceTiming::navigationStart):
        (WebCore::PerformanceTiming::unloadEventEnd):
        (WebCore::PerformanceTiming::redirectStart):
        (WebCore::PerformanceTiming::redirectEnd):
        (WebCore::PerformanceTiming::fetchStart):
        (WebCore::PerformanceTiming::domainLookupStart):
        (WebCore::PerformanceTiming::domainLookupEnd):
        (WebCore::PerformanceTiming::connectStart):
        (WebCore::PerformanceTiming::connectEnd):
        (WebCore::PerformanceTiming::requestStart):
        (WebCore::PerformanceTiming::requestEnd):
        (WebCore::PerformanceTiming::responseStart):
        (WebCore::PerformanceTiming::responseEnd):
        (WebCore::PerformanceTiming::domLoading):
        (WebCore::PerformanceTiming::domInteractive):
        (WebCore::PerformanceTiming::domContentLoaded):
        (WebCore::PerformanceTiming::domComplete):
        (WebCore::PerformanceTiming::loadEventStart):
        (WebCore::PerformanceTiming::loadEventEnd):
        (WebCore::PerformanceTiming::documentLoader):
        (WebCore::PerformanceTiming::documentTiming):
        (WebCore::PerformanceTiming::documentLoadTiming):
        (WebCore::PerformanceTiming::resourceLoadTiming):
        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
        * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
        (WebCore::PerformanceTiming::create):
        * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.

2010-11-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Remove unused code from HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=49451

        Just removing code, so no new tests.

        * html/HTMLMediaElement.cpp: Removed unused functions.
        * html/HTMLMediaElement.h:

2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Xcode project fix.

        * WebCore.xcodeproj/project.pbxproj:

2010-11-12  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=49473
        WebKitCSSMatrix shouldn't inherit from StyleBase

        No change in behavior, so no tests.

        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): We don't inherit from StyleBase any more, so
        no need to initialize always-null parent.
        (WebCore::WebKitCSSMatrix::setMatrixValue): Since there was never a parent, useStrictParsing()
        just returned true.

        * css/WebKitCSSMatrix.h: Just inherit from RefCounted<WebKitCSSMatrix>. Removed unused default
        constructor and copy constructor.

        * html/canvas/WebGLRenderingContext.h: Removed an unnneded forward declaration.

2010-11-12  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Path::addArc() does not set right angle direction on full arcs
        https://bugs.webkit.org/show_bug.cgi?id=49138

        Ensure correctness of nonzero winding rule for full arc paths.
        Invert the sign of the span if the direction is counterclockwise.

        Test: fast/canvas/canvas-arc-360-winding.html

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-11-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
        https://bugs.webkit.org/show_bug.cgi?id=46015

        Test: fast/events/shadow-boundary-crossing-2.html

        This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
        for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.

        This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
        appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.

        * Android.mk: Added EventContext, WindowEventContext files.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * dom/ContainerNode.cpp:
        (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
        * dom/EventContext.cpp: Added.
        * dom/EventContext.h: Added.
        * dom/Node.cpp:
        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
        (WebCore::Node::createRendererIfNeeded): Ditto.
        (WebCore::Node::parentOrHostNode): Added new helper method.
        (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
        (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
        (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
        (WebCore::Node::topEventContext): Added.
        (WebCore::eventHasListeners): Changed to use EventContexts.
        (WebCore::Node::dispatchGenericEvent): Ditto.
        * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
            and changed signature of eventAncestors to use EventContexts.
        * dom/Text.cpp:
        (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
        * dom/WindowEventContext.cpp: Added.
        * dom/WindowEventContext.h: Added.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
            no longer necessary.
        * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
        is deleted.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
            from where it was prior to r60418.
        * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
        * svg/SVGElement.h: Ditto.

2010-11-12  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Martin Robinson.

        [GTK] Remove unnecessary header for FontPlatformDataPango.cpp
        https://bugs.webkit.org/show_bug.cgi?id=46029

        Remove unnecessary header includes.
        No new tests, as there's no functionality.

        * platform/graphics/pango/FontPlatformDataPango.cpp:

2010-11-11  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Not allow drag and drop across different origins.
        https://bugs.webkit.org/show_bug.cgi?id=49098

        Test: http/tests/security/drag-drop-different-origin.html

        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDropOnTarget):
        * page/SecurityOrigin.h:

2010-11-11  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Inspect element tooltip obscures element metrics
        https://bugs.webkit.org/show_bug.cgi?id=47822

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::drawNodeHighlight):
        (WebCore::InspectorController::drawElementTitle):

2010-11-12  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Button's background style from default Qt Mobile Theme  is overriding facebook's button style
        https://bugs.webkit.org/show_bug.cgi?id=48198

        Instead of creating gradients that goes from white to grey and cover the whole element the gradients
        are created by varying the alpha channel of a dark color. This way the effect will not override the
        background color of the elements.

        * css/themeQtMobile.css:

2010-11-12  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Use a RefPtr inside ContainerNode::willRemove loop
        https://bugs.webkit.org/show_bug.cgi?id=49237

        Test: fast/innerHTML/innerHTML-iframe.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::willRemove):

2010-11-12  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
        https://bugs.webkit.org/show_bug.cgi?id=49130

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.debuggerPaused):
        (WebInspector.Breakpoint.jsBreakpointId):
        (WebInspector.Breakpoint.prototype.get id):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype._breakpointHit): don't call populateStatusMessage for JS breakpoints
        since there is no specific message in that case.
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/inspector.css:
        (#elements-sidebar):
        (.pane > .body):
        (#scripts-sidebar):
        (li.breakpoint-hit .breakpoint-hit-marker):

2010-11-12  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Extensions API] [refactoring] generate public API interfaces automatically
        https://bugs.webkit.org/show_bug.cgi?id=49441

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.PanelImpl):
        (WebInspector.injectedExtensionAPI):
        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPane):
        (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
        (WebInspector.injectedExtensionAPI.AuditResultImpl):
        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
        (WebInspector.injectedExtensionAPI.):

2010-11-12  Renata Hodovan  <reni@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFEDisplacementMapElement doesn't support dynamic invalidation
        https://bugs.webkit.org/show_bug.cgi?id=49430

        The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.

        Tests: svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html
               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html

        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
        * svg/SVGFEDisplacementMapElement.h:

2010-11-12  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [refactoring] do not use absolute positioning for tabbed panes
        https://bugs.webkit.org/show_bug.cgi?id=49439

        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        * inspector/front-end/inspector.css:
        (.resource-view.visible):
        (.resource-view .tabbed-pane-header):
        (.resource-view-cookies):
        (.tabbed-pane):
        (.tabbed-pane-content):
        * inspector/front-end/networkPanel.css:

2010-11-12  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Steve Block.

        Rename GeolocationControllerClient to GeolocationClient.
        https://bugs.webkit.org/show_bug.cgi?id=49259

        No new tests, renaming only.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
        (WebCore::GeolocationClient::~GeolocationClient):
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::GeolocationController):
        * page/GeolocationController.h:
        * page/Page.h:

2010-11-12  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Eric Seidel.

        Remove some trailing whitespace
        https://bugs.webkit.org/show_bug.cgi?id=49433

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::show):
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::scrollToRevealRow):
        * platform/chromium/PopupMenuChromium.h:
        * platform/chromium/SearchPopupMenuChromium.cpp:
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::toRenderMenuList):
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::toRenderTextControlSingleLine):

2010-11-12  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [qt] script-clone tests added in r71895 fails on qt platform
        https://bugs.webkit.org/show_bug.cgi?id=49429

        Fixed parseEndElement to call ScriptElement's executeScript as supposed to that of ScriptController.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseEndElement):

2010-11-05  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Refactoring: Return values of TextCheckingHelper::paragraphAlignedRange should form a class.
        https://bugs.webkit.org/show_bug.cgi?id=49053

        Replaced paragraphAlignedRange() function call into
        TextCheckingParagraph class. The class encapsulates a range of a
        paragraph, and its relation within associated checking range.
        Instance variables of the class are computed lazily. So we can save unnecessary
        memory allocation and DOM tree traversal.
        
        No new tests, no behavior change. 

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced paragraphAlignedRange() call.
        (WebCore::Editor::changeBackToReplacedString): Replaced paragraphAlignedRange() call.
        * editing/TextCheckingHelper.cpp:
        (WebCore::expandToParagraphBoundary):
        (WebCore::TextCheckingParagraph::TextCheckingParagraph):
        (WebCore::TextCheckingParagraph::~TextCheckingParagraph):
        (WebCore::TextCheckingParagraph::expandRangeToNextEnd):
        (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
        (WebCore::TextCheckingParagraph::rangeLength):
        (WebCore::TextCheckingParagraph::paragraphRange):
        (WebCore::TextCheckingParagraph::subrange):
        (WebCore::TextCheckingParagraph::offsetTo):
        (WebCore::TextCheckingParagraph::isEmpty):
        (WebCore::TextCheckingParagraph::offsetAsRange):
        (WebCore::TextCheckingParagraph::text):
        (WebCore::TextCheckingParagraph::checkingStart):
        (WebCore::TextCheckingParagraph::checkingEnd):
        (WebCore::TextCheckingParagraph::checkingLength):
        (WebCore::TextCheckingHelper::findFirstBadGrammar): Replaced paragraphAlignedRange() call.
        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Replaced paragraphAlignedRange() call.
        * editing/TextCheckingHelper.h:
        (WebCore::TextCheckingParagraph::textLength):
        (WebCore::TextCheckingParagraph::textSubstring):
        (WebCore::TextCheckingParagraph::textCharacters):
        (WebCore::TextCheckingParagraph::textCharAt):
        (WebCore::TextCheckingParagraph::checkingSubstring):
        (WebCore::TextCheckingParagraph::checkingRangeMatches):
        (WebCore::TextCheckingParagraph::isCheckingRangeCoveredBy):
        (WebCore::TextCheckingParagraph::checkingRangeCovers):
        (WebCore::TextCheckingParagraph::checkingRange):
        (WebCore::TextCheckingParagraph::isTextEmpty):
        (WebCore::TextCheckingParagraph::isRangeEmpty):

2010-11-11  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Script runs more than once after a clone
        https://bugs.webkit.org/show_bug.cgi?id=48966

        The bug was caused by cloneElementWithoutChildren's not propagating isEvaluated flag,
        which indicates whether or not the script has already started, and the fact
        neither HTMLScriptRunner nor XMLDocumentParser was setting isEvaluated flag to true.

        Fixed the bug by making cloneElementWithoutChildren call a virtual cloneElementWithoutAttributesAndChildren,
        and override it in HTMLScriptElement and SVGScriptElement to propagate isEvaluated flag,
        and replacing direct access to ScriptController by a call to new ScriptElementData::executeScript,
        which updates the isEvaluated flag properly.

        See also: http://www.whatwg.org/specs/web-apps/current-work/#already-started

        Tests: fast/dom/script-clone-rerun-self.html
               fast/dom/script-clone-rerun.html
               svg/dom/SVGScriptElement/script-clone-rerun-self.svg
               svg/dom/SVGScriptElement/script-clone-rerun.svg

        * dom/Element.cpp:
        (WebCore::Element::cloneElementWithoutChildren): Calls cloneElementWithoutChildren.
        (WebCore::Element::cloneElementWithoutAttributesAndChildren): Extracted from cloneElementWithoutChildren.
        * dom/Element.h:
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::ScriptElementData): Added isEvaluated flag to the argument list.
        (WebCore::ScriptElementData::evaluateScript): Extracted from HTMLScriptRunner::executeScript.
        (WebCore::ScriptElementData::executeScript): Renamed evaluated to isEvaluated.
        (WebCore::ScriptElementData::ignoresLoadRequest): Renamed evaluated to isEvaluated.
        * dom/ScriptElement.h: Renamed evaluated to isEvaluated.
        (WebCore::ScriptElementData::isEvaluated): Added.
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::endElementNs): Calls ScriptElement::executeScript.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::HTMLScriptElement): Added isEvaluated flag to the argument list.
        (WebCore::HTMLScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
        (WebCore::HTMLScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
        * html/HTMLScriptElement.h:
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Added an assertion that was lost
        in extracting ScriptElementData::executeScript.
        (WebCore::HTMLScriptRunner::runScript): Calls ScriptElementData::executeScript.
        * html/parser/HTMLScriptRunner.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement): Added isEvaluated flag to the argument list.
        (WebCore::SVGScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
        (WebCore::SVGScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
        * svg/SVGScriptElement.h:

2010-11-11  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION: window.print in onload doesn't fire if there's an img
        https://bugs.webkit.org/show_bug.cgi?id=48195

        This issue was introduced in
        https://bugs.webkit.org/show_bug.cgi?id=43658
        This happens because FrameLoader::isLoading() is false while an
        image is still loading. Now, window.print() happens after all
        resources are loaded.

        Also changed the name of a member variable as Darin suggested in Bug 43658.

        Added a manual test as DRT doesn't support window.print() yet.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::updateLoading):
        * loader/DocumentLoader.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::print):
        (WebCore::DOMWindow::finishedLoading):
        * page/DOMWindow.h:

2010-11-11  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Support letter spacing and fix whitespace wrapping on linux

        When lines wrapped on RTL text, the whitespace was inserted before
        the first character on the new line instead of at the end of the
        previous line. This has been fixed.

        The missing cluster information needed for letter spacing was hidden in
        harfbuzz's attributes struct.

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

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::letterSpacing): Added.
        (WebCore::TextRunWalker::isWordBreak): No need for isRTL.
        (WebCore::TextRunWalker::setPadding): Ditto.
        (WebCore::TextRunWalker::setGlyphXPositions): Support letter spacing. No whitespace before RTL text on new line.
        (WebCore::glyphIndexForXPositionInScriptRun): Support letter spacing.

2010-11-11  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Dumitru Daniliuc.

        FileSystem: Fix a link error for non-chromium WebKit build
        https://bugs.webkit.org/show_bug.cgi?id=49296

        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorFileSystemAgent.cpp:
        (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
        (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntry):
        (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntries):
        (WebCore::InspectorFileSystemAgentCallbacks::didCreateFileWriter):
        (WebCore::InspectorFileSystemAgentCallbacks::didFail):
        (WebCore::InspectorFileSystemAgent::revealFolderInOS):

2010-11-11  Nate Chapin  <japhet@chromium.org>

        Reviewed by Antti Koivisto.

        Cleanup after http://trac.webkit.org/changeset/71562, namely:
        Make deferred request handle simpler.
        Don't perform callbacks associated with network load starting
        (e.g., willSendRequest) until the load is in fact sent to the network.
        Make ResourceLoadScheduler a friend of ResourceLoader and make
        ResourceLoader::start() protected to try to ensure loads actually
        go through the scheduler.
        https://bugs.webkit.org/show_bug.cgi?id=49351

        Behavior should be covered by existing tests.

        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::create):
        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::servePendingRequests):
        * loader/ResourceLoadScheduler.h:
        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::init):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::setDefersLoading):
        (WebCore::ResourceLoader::didCancel):
        * loader/ResourceLoader.h:
        (WebCore::ResourceLoader::reachedTerminalState):
        (WebCore::ResourceLoader::request):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::willSendRequest):
        * loader/loader.h:

2010-11-11  Carol Szabo <carol.szabo@nokia.com>

        Reviewed by Kent Tamura.

        css2:order of counters in out-of flow content
        https://bugs.webkit.org/show_bug.cgi?id=32412

        Tests: fast/css/content/content-none.html
               fast/css/content/content-normal.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseContent):
        Added support for none, normal, open-quote, no-open-quote, etc.
        identifiers in terms of parsing only, as this has effect on the
        evaluation of counters. No further implementation needed for 
        none and normal, the others are parsed but do not work as expected.

2010-11-11  Julie-Jeongeun-Kim  <jiyuluna@gmail.com>

        Reviewed by Kent Tamura.

        SelectionStart, selectionEnd properties return wrong values when the selection is in a read-only input or textarea element
        https://bugs.webkit.org/show_bug.cgi?id=25444

        'rootEditableElement()' is checked on RenderTextControl::indexForVisiblePosition.
        It means that just editable elements can get selection information.
        ReadOnly element is not editable element. So, it just returns and can't get correct selection information.
        INPUT and TEXTAREA elements can be read-only but 'indexForVisiblePosition' doesn't accept them.
        So, Selectable elements, INPUT and TEXTAREA, checking is added for that case.
        Even if they are read-only, they are selectable.

        new tests:fast/forms/selection-start-end-readonly.html

        * html/HTMLInputElement.idl:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::isSelectableElement):
        (WebCore::RenderTextControl::indexForVisiblePosition):
        * rendering/RenderTextControl.h:

2010-11-11  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Add some RefPtrs to be on the safe side
        https://bugs.webkit.org/show_bug.cgi?id=49301

        Hopefully no behavior change.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):

2010-11-11  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix Accelerate.framework issues in VectorMath 32-bit ppc & i386 vs. other architectures (64-bit, ARM, etc.).
        On the Mac we use the highly optimized versions in Accelerate.framework
        In 32-bit mode (__ppc__ or __i386__) <Accelerate/Accelerate.h> includes <vecLib/vDSP_translate.h> which defines macros
        of the same name as our namespaced function names, so we must handle this case differently.
        Other architectures (64bit, ARM, etc.) do not include this header file.
        
        https://bugs.webkit.org/show_bug.cgi?id=49112

        No new tests since audio API is not yet implemented.

        * platform/audio/VectorMath.cpp:
        (WebCore::VectorMath::vsmul):
        (WebCore::VectorMath::vadd):

2010-11-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8657116> fast/text/justification-padding-mid-word.html fails on Windows
        https://bugs.webkit.org/show_bug.cgi?id=49378

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem): For all characters that need to be treated
        as zero-width spaces, substitute the space glyph with zero advance. Apply justification padding
        and word spacing only at characters treated as (non-zero-width) spaces.

2010-11-11  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Harden some string functions against large lengths
        https://bugs.webkit.org/show_bug.cgi?id=49293

        * rendering/RenderText.cpp:
        (WebCore::makeCapitalized): Check before incrementing length.

2010-11-10  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        bufferData/bufferSubData should not crash with null data input
        https://bugs.webkit.org/show_bug.cgi?id=49350

        * html/canvas/WebGLRenderingContext.cpp: return early if input data is null.
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):

2010-11-10  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
        https://bugs.webkit.org/show_bug.cgi?id=47196

        This is the first patch for this bug.  We add constants and methods, but haven't hooked it up with texture uploading yet.  Also, in order to check in constants.html, we need to remove out-dated constants, and update affected tests correspondingly.

        Test: fast/canvas/webgl/constants.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Move init code to initializeNewContext.
        (WebCore::WebGLRenderingContext::initializeNewContext): Ditto.
        (WebCore::WebGLRenderingContext::getParameter): Implement UNPACK_COLORSPACE_CONVERSION_WEBGL.
        (WebCore::WebGLRenderingContext::pixelStorei): Ditto.
        * html/canvas/WebGLRenderingContext.h: Add a member to track UNPACK_COLORSPACE_CONVERSION_WEBGL setting.
        * html/canvas/WebGLRenderingContext.idl: Update constants.
        * platform/graphics/GraphicsContext3D.h: Update constants.

2010-11-11  Chris Marrin  <cmarrin@apple.com>

        Reviewed by James Robinson.

        Add multisampling support to DrawingBuffer.
        https://bugs.webkit.org/show_bug.cgi?id=49206

        Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
        extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.

        This re-lands changes rolled out by http://trac.webkit.org/changeset/71839. It includes
        the change from http://trac.webkit.org/changeset/71831 and additional changes to 
        DrawingBufferChromium.cpp which cause the broken canvas tests to pass.

        * platform/graphics/Extensions3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        (WebCore::DrawingBuffer::didReset):
        (WebCore::DrawingBuffer::platformColorBuffer):
        * platform/graphics/chromium/Extensions3DChromium.h:
        (WebCore::Extensions3DChromium::blitFramebuffer):
        (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::commit):
        (WebCore::DrawingBuffer::bind):
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::multisample):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::didReset):
        (WebCore::DrawingBuffer::platformColorBuffer):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supports):
        (WebCore::Extensions3DOpenGL::blitFramebuffer):
        (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):

2010-11-11  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=48664
        
        Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
        
        This patch disables the layout state for flipped blocks, since the paint offset isn't right.
        
        Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
        now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
        the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
        aren't physical).
        
        offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
        This means at every step up you convert to the correct physical coordinate.  It also means these
        functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
        more or less ok.
        
        computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
        allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
        critical for incremental line layout repainting.
        
        Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
        of all the stale results and failures.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::absoluteBoundsForLocalRect):
        (WebCore::SelectionController::paintCaret):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
        (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::layout):
        (WebCore::RenderBox::mapLocalToContainer):
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::clippedOverflowRectForRepaint):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::flipForWritingMode):
        (WebCore::RenderBox::locationOffsetIncludingFlipping):
        * rendering/RenderBox.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layout):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::computeRectForRepaint):
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::layoutAsPart):

2010-11-11  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

        Renamed GraphicsLayerCA.* to GraphicsLayerMac.*

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/mac/GraphicsLayerCA.h: Removed.
        * platform/graphics/mac/GraphicsLayerCA.mm: Removed.
        * platform/graphics/mac/GraphicsLayerMac.h: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.h.
        * platform/graphics/mac/GraphicsLayerMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.mm.

2010-11-11  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        [chromium] Missing adoptPtr in GraphicsContext3DSkia.cpp
        https://bugs.webkit.org/show_bug.cgi?id=49359

        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-11-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        <rdar://problem/8113511> Enable auto-hyphenation

        * WebCore.vcproj/WebCore.vcproj: Included HyphenationCF.cpp instead of Hyphenation.cpp.
        * platform/text/cf/HyphenationCF.cpp: Added functions and definitions for Windows to look up CFStringGetHyphenationLocationBeforeIndex
        and CFStringIsHyphenationAvailableForLocale at runtime.
        (wkCFStringGetHyphenationLocationBeforeIndex):
        (wkCFStringIsHyphenationAvailableForLocale):
        (WebCore::lastHyphenLocation): Added a cast.

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

        Reviewed by Eric Seidel.

        video-pause-immediately.html sometimes fails
        https://bugs.webkit.org/show_bug.cgi?id=49397

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::playInternal): Don't bother calling invalidateCachedTime, it
        will be called from updatePlayState.
        (WebCore::HTMLMediaElement::pauseInternal): Don't bother calling refreshCachedTime, it
        will be called from updatePlayState.
        (WebCore::HTMLMediaElement::updatePlayState): Call refreshCachedTime after telling the media
        engine to pause so we cache the post-paused time.

2010-11-11  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed rollout. 
        
        Roll out r71827 and r71831, which caused many GPU canvas test failures.

        * platform/graphics/Extensions3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::bind):
        * platform/graphics/gpu/DrawingBuffer.h:
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supports):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):

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

        Restore the portion of the ChangeLog removed in my last commit.

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

        Unreviewed Leoaprd build fix.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::invalidateCachedTime): Make the const a double.

2010-11-11  Dirk Schulze  <krit@webkit.org>

        Unreviewed Qt build fix.

        SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
        https://bugs.webkit.org/show_bug.cgi?id=49284

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
        (WebCore::SVGAnimationElement::startedActiveInterval):

2010-11-11  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: signal IDBFactoryBackendInterface destruction to embedder
        https://bugs.webkit.org/show_bug.cgi?id=49313

        Define IDBFactoryBackendInterface destructor out-of-line to allow
        for embedder-specific implementation. For Chromium, have the
        destructor call ChromiumBridge::idbShutdown().

        * platform/chromium/ChromiumBridge.h:
        * storage/IDBFactoryBackendInterface.cpp:
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
        * storage/IDBFactoryBackendInterface.h:
        * storage/chromium/IDBFactoryBackendInterface.cpp:
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):

2010-11-11  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
        https://bugs.webkit.org/show_bug.cgi?id=49284

        Add support for from-to and from-by animations in combination with calcMode 'spline' for SVGAnimations.

        Tests: svg/animations/animate-calcMode-spline-by.html
               svg/animations/animate-calcMode-spline-from-by.html
               svg/animations/animate-calcMode-spline-from-to.html
               svg/animations/animate-calcMode-spline-to.html
               svg/animations/animate-calcMode-spline-values.html

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculateKeyTimesIndex): Added to share more code.
        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        (WebCore::SVGAnimationElement::startedActiveInterval):
        (WebCore::SVGAnimationElement::updateAnimation):
        * svg/SVGAnimationElement.h:

2010-11-10  Chris Marrin  <cmarrin@apple.com>

        Reviewed by James Robinson.

        Add multisampling support to DrawingBuffer.
        https://bugs.webkit.org/show_bug.cgi?id=49206

        Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
        extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.

        * platform/graphics/Extensions3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::platformColorBuffer):
        * platform/graphics/chromium/Extensions3DChromium.h:
        (WebCore::Extensions3DChromium::blitFramebuffer):
        (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::commit):
        (WebCore::DrawingBuffer::bind):
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::multisample):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::platformLayer):
        (WebCore::DrawingBuffer::platformColorBuffer):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supports):
        (WebCore::Extensions3DOpenGL::blitFramebuffer):
        (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):

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

        Build fix after r71824.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::invalidateCachedTime): Use an explicit cast from double to float.
        (WebCore::HTMLMediaElement::currentTime): Ditto.

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

        Reviewed by Antti Koivisto.

        Lots of time spent in MediaPlayerPrivate::currentTime() when playing multiple videos.
        https://bugs.webkit.org/show_bug.cgi?id=49009

        Make it possible for HTMLMediaElement to cache the movie time and report 'currentTime'
        as [cached time + elapsed wall time]. The media engine returns the maximum duration it 
        is safe to calculate time before resampling the actual movie time with the new
        maximumDurationToCacheMovieTime method. Because this may be different for different media
        engines the default return value is 0, making it an opt-in feature.

        No new tests were added because the existing tests already check currentTime, and because
        it is only possible to look for drift between the calculated and actual media time by 
        calculating the time AND getting the actual media time - which the defeats the purpose of
        the change. Building with LOG_CACHED_TIME_WARNINGS defined enables code that does both
        and logs warnings when the delta between calculated and observed is greater than 0.01.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member variables.
        (WebCore::HTMLMediaElement::prepareForLoad): Force a time resync before setting m_paused.
        (WebCore::HTMLMediaElement::seek): Force a time resync before getting the current time before
        seeking so there is no drift.
        (WebCore::HTMLMediaElement::refreshCachedTime): New, update the cached movie time and the
        wall clock time it was recorded.
        (WebCore::HTMLMediaElement::invalidateCachedTime): New, flag the cached time as invalid.
        (WebCore::HTMLMediaElement::currentTime): Use a cached movie time for as long as the media
        engine says it is safe. Lots of optional logging can be enabled to help ports fine tune
        the maximum cache interval.
        (WebCore::HTMLMediaElement::ended): Force a time resync before setting m_paused.
        (WebCore::HTMLMediaElement::endScrubbing): Fix a typo in the logging.
        (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Call currentTime() instead of calling
        MediaPlayer so we use the cached time as much as it possible.
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Invalidate cached time because the engine
        seeked.
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Ditto.
        (WebCore::HTMLMediaElement::updatePlayState): Invalidate cached time before changing m_paused.
        * html/HTMLMediaElement.h:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::maximumDurationToCacheMovieTime): New.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::maximumDurationToCacheMovieTime): New.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        (WebCore::MediaPlayerPrivate::maximumDurationToCacheMovieTime): New, say it is safe to cache
        time for five seconds (based on lots of experimenting with LOG_CACHED_TIME_WARNINGS enabled).

2010-11-11  Adam Roben  <aroben@apple.com>

        Windows build fix after r71816

        r71816 renamed
        WebCore/platform/graphics/cairo/FontPlatformDataCairoWin.h to
        WebCore/platform/graphics/win/FontPlatformData.h. This made Apple's
        Windows port pick up this header in preference to
        WebCore/platform/cg/FontPlatformData.h, thus breaking the build. I
        moved the file to
        WebCore/platform/graphics/win/cairo/FontPlatformData.h so it won't be
        picked up by Apple's Windows build.

        * WebCore.vcproj/WebCore.vcproj: Updated for file move and let VS
        re-sort the files.

        * WebCore.vcproj/WebCoreCairo.vsprops: Added
        platform/graphics/win/cairo to the include path.

        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy files from
        platform/graphics/win/cairo to $WebKitOutputDir.

        * platform/graphics/cg/FontPlatformData.h: Touched to force this file
        to be recopied for Apple's build.

        * platform/graphics/win/cairo/FontPlatformData.h: Renamed from
        WebCore/platform/graphics/win/FontPlatformData.h.

2010-11-11  Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Andreas Kling.

        [Qt][WK2] Implement BackingStore
        https://bugs.webkit.org/show_bug.cgi?id=49377
        No change in functionality so no tests.

        Add a way to hand off ownership of the QPainter and the underlying
        QPaintDevice to the GraphicsContext.
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::takeOwnershipOfPlatformContext):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::takeOwnershipOfPlatformContext):

2010-11-11  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Adam Barth.

        [GTK] Move font related files.
        https://bugs.webkit.org/show_bug.cgi?id=48116

        Move pango and freetype related files to share non-GTK+ platforms.

        No new tests because this is pure refactoring.

        * CMakeListsEfl.txt:
        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/cairo/FontCacheFreeType.cpp: Removed.
        * platform/graphics/cairo/FontCustomPlatformData.cpp: Removed.
        * platform/graphics/cairo/FontPlatformData.h: Removed.
        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Removed.
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Removed.
        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Removed.
        * platform/graphics/cairo/SimpleFontDataCairo.cpp: Removed.
        * platform/graphics/freetype: Added.
        * platform/graphics/freetype/FontCacheFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCacheFreeType.cpp.
        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCustomPlatformData.cpp.
        * platform/graphics/freetype/FontPlatformData.h: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.h.
        * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.cpp.
        * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: Copied from WebCore/platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp.
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/SimpleFontDataCairo.cpp.
        * platform/graphics/gtk/FontCachePango.cpp: Removed.
        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Removed.
        * platform/graphics/gtk/FontPlatformDataPango.cpp: Removed.
        * platform/graphics/gtk/FontPlatformDataPango.h: Removed.
        * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Removed.
        * platform/graphics/gtk/SimpleFontDataPango.cpp: Removed.
        * platform/graphics/pango: Added.
        * platform/graphics/pango/FontCachePango.cpp: Copied from WebCore/platform/graphics/gtk/FontCachePango.cpp.
        * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformDataPango.cpp.
        * platform/graphics/pango/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.h.
        * platform/graphics/pango/FontPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.cpp.
        * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodePango.cpp.
        * platform/graphics/pango/SimpleFontDataPango.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataPango.cpp.
        * platform/graphics/win/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformDataCairoWin.h.
        * platform/graphics/win/FontPlatformDataCairoWin.h: Removed.

2010-11-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: size of resources in summary is 0
        when there are redirects.
        https://bugs.webkit.org/show_bug.cgi?id=49242

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

2010-11-11  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Fisher.

        document.createTouch and document.createTouchList should specify EnabledAtRuntime
        https://bugs.webkit.org/show_bug.cgi?id=49324

        The createTouch and createTouchList APIs added to Document.idl in
        http://trac.webkit.org/changeset/70047 should have EnabledAtRuntime
        specified as touch related features are controlled by a
        RuntimeEnabledFeature flag in addition to a compile time guard.

        No new tests. This should have been part of r70047 and 
        that revision provided adequate tests of the new feature.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::createTouchEnabled):
        (WebCore::RuntimeEnabledFeatures::createTouchListEnabled):
        * dom/Document.idl: Add EnabledAtRuntime specifier to the
            idl methods.

2010-11-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Provide context menu item 'Reveal in Elements Panel'
        on elements in inspector UI.
        https://bugs.webkit.org/show_bug.cgi?id=49161

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired.revealElement):

2010-11-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Audit panel toolbar icon shifts left when clicked.
        https://bugs.webkit.org/show_bug.cgi?id=48766

        * inspector/front-end/Images/auditsIcon.png:

2010-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        chrome.dll!WebCore::SVGLengthInternal::valueInSpecifiedUnitsAttrGetter ReadAV@NULL (4cf97a4f3ebe8006a2f5ffcc5bc10aeb)
        https://bugs.webkit.org/show_bug.cgi?id=49331

        Test: svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html

        * svg/properties/SVGListProperty.h:
        (WebCore::SVGListProperty::replaceItemValuesAndWrappers): Avoid premature deletion of 'oldItem'.
        (WebCore::SVGListProperty::removeItemValuesAndWrappers): Ditto.

2010-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        Make it possible to override the visibleContentRect in the case the
        client is handling the scrolling. This is similar to what the iPhone does.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):
        * platform/ScrollView.h:
        (WebCore::ScrollView::setActualVisibleContentRect):

2010-11-11  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        FrameView: Don't clip to visibleContentRect in paintEntireContents mode
        https://bugs.webkit.org/show_bug.cgi?id=49375

        In paintEntireContents mode (used in combination with tiling) we
        cannot clip to the actual visibleContentRect as the clipped regions
        will not be updated again on scroll. If paintsEntireContents is
        enabled, return the actual content rect.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):

2010-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=49311

        Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept.
        Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now.

        Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg
               svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg
               svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg
               svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg
               svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
               svg/W3C-SVG-1.1-SE/types-dom-02-f.svg
               svg/W3C-SVG-1.1-SE/types-dom-03-b.svg
               svg/W3C-SVG-1.1-SE/types-dom-04-b.svg
               svg/W3C-SVG-1.1-SE/types-dom-05-b.svg
               svg/dom/SVGMatrix.html
               svg/dom/SVGTransform.html
               svg/dom/SVGTransformList.html

        * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp.
        * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp.
        * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. 
        * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp
        * bindings/js/JSSVGMatrixCustom.cpp: Removed.
        * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept.
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes.
        (WebCore::transformListFor):
        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
        * svg/SVGAnimatedTransformList.h: Added.
        * svg/SVGGradientElement.cpp: Ditto.
        (WebCore::SVGGradientElement::SVGGradientElement):
        (WebCore::SVGGradientElement::parseMappedAttribute):
        * svg/SVGGradientElement.h: Ditto.
        * svg/SVGLinearGradientElement.cpp: Ditto.
        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
        * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements.
        (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix.
        (WebCore::SVGMatrix::scale): Ditto.
        (WebCore::SVGMatrix::scaleNonUniform): Ditto.
        (WebCore::SVGMatrix::rotate): Ditto.
        (WebCore::SVGMatrix::flipX): Ditto.
        (WebCore::SVGMatrix::flipY): Ditto.
        (WebCore::SVGMatrix::skewX): Ditto.
        (WebCore::SVGMatrix::skewY): Ditto.
        (WebCore::SVGMatrix::multiply): Ditto.
        (WebCore::SVGMatrix::inverse): Ditto.
        (WebCore::SVGMatrix::rotateFromVector): Dittto.
        * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
        * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes.
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::parseMappedAttribute):
        (WebCore::SVGPatternElement::collectPatternAttributes):
        * svg/SVGPatternElement.h: Ditto.
        * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme.
        * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes.
        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
        * svg/SVGSVGElement.cpp: Ditto.
        (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
        (WebCore::SVGSVGElement::viewBoxToViewTransform):
        * svg/SVGSVGElement.h: Ditto.
        * svg/SVGStyledTransformableElement.cpp: Ditto.
        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
        * svg/SVGStyledTransformableElement.h: Ditto.
        * svg/SVGTextElement.cpp: Ditto.
        (WebCore::SVGTextElement::SVGTextElement):
        (WebCore::SVGTextElement::parseMappedAttribute):
        (WebCore::SVGTextElement::animatedLocalTransform):
        * svg/SVGTextElement.h: Ditto.
        * svg/SVGTransform.cpp: Modernize code, inlined some getters.
        (WebCore::SVGTransform::SVGTransform):
        (WebCore::SVGTransform::setMatrix):
        * svg/SVGTransform.h: Reindent header.
        (WebCore::SVGTransform::type):
        (WebCore::SVGTransform::svgMatrix):
        (WebCore::SVGTransform::matrix):
        (WebCore::SVGTransform::angle):
        (WebCore::SVGTransform::rotationCenter):
        (WebCore::SVGTransform::isValid):
        (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly.
        (WebCore::operator!=):
        * svg/SVGTransform.idl:
        * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>.
        (WebCore::SVGTransformList::createSVGTransformFromMatrix):
        (WebCore::SVGTransformList::consolidate):
        (WebCore::SVGTransformList::concatenate):
        (WebCore::SVGTransformList::valueAsString):
        * svg/SVGTransformList.h:
        (WebCore::SVGTransformList::SVGTransformList):
        * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
        * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes.
        (WebCore::SVGTransformable::parseTransformAttribute):
        * svg/SVGTransformable.h: Ditto.
        * svg/SVGViewSpec.cpp: Ditto.
        (WebCore::SVGViewSpec::SVGViewSpec):
        (WebCore::SVGViewSpec::setTransform):
        (WebCore::SVGViewSpec::parseViewSpec):
        * svg/SVGViewSpec.h: Ditto.
        (WebCore::SVGViewSpec::transform):
        * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected.
        * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros.
        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects.
        (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
        (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
        * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected.
        * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method.
        * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList.
        * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types
                                                               that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff).
        (WebCore::SVGStaticPropertyWithParentTearOff::create):
        (WebCore::SVGStaticPropertyWithParentTearOff::commitChange):
        (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
        * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix.
        (WebCore::SVGTransformListPropertyTearOff::create):
        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
        (WebCore::SVGTransformListPropertyTearOff::consolidate):
        (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):

2010-11-11  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Nikolas Zimmermann.

        Fixed WebKitGTK gtk3 compilation.

        * platform/gtk/WidgetRenderingContextGtk3.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext):

2010-11-11  Dan Bernstein  <mitz@apple.com>

        Reverted r71975:71976. That change was wrong, and the tests caught it.

        * platform/graphics/mac/ComplexTextController.h:
        (WebCore::ComplexTextController::ComplexTextRun::create):
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):

2010-11-11  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Dan Bernstein.

        Fix LayoutTests/canvas/philip/tests/2d.drawImage.null.html
        https://bugs.webkit.org/show_bug.cgi?id=48307

        There are no new tests because this is a fix for a pre-existing failing test.)

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Corrected expection throwing cases to match up with spec.

2010-11-10  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Adam Barth.

        [HTML5] 10.2.8.4 Scripts that modify the page as it is being parsed
        https://bugs.webkit.org/show_bug.cgi?id=49364

        Fixed HTMLScriptRunner's executeScript to use the ScriptController of the frame to which script element belongs
        as supposed to that of the frame associated with the HTMLScriptRunner.

        See also: http://www.whatwg.org/specs/web-apps/current-work/#scripts-that-modify-the-page-as-it-is-being-parsed

        Test: fast/parser/script-modify-page-outer.html

        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Calls executeScript.
        (WebCore::HTMLScriptRunner::executeScript): Uses the correct ScriptController instance.
        (WebCore::HTMLScriptRunner::runScript): Call executeScript.
        * html/parser/HTMLScriptRunner.h:

2010-11-10  Dan Bernstein  <mitz@apple.com>

        Style fix I said I’d make then forgot to make.

        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):

2010-11-10  Ned Holbrook  <nholbrook@apple.com>

        Reviewed by Dan Bernstein.

        Allow for the possibility of CoreText generating multiple runs for a single text run.
        https://bugs.webkit.org/show_bug.cgi?id=49353

        * platform/graphics/mac/ComplexTextController.h:
        (WebCore::ComplexTextController::ComplexTextRun::create):
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):

2010-10-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Widgets do not support CSS transformations
        https://bugs.webkit.org/show_bug.cgi?id=40139

        Instead of rendering directly onto the target drawable when rendering
        form controls on GTK+ 2.0, render onto an intermediate surface and use
        cairo to blit the result back to the target surface. This has two
        benefits. The first is that it always honors the current Cairo
        transformation. The second is that since the intermediate drawable is
        always a 32-bit GdkPixmap, we do not have to have a set of widgets
        per-colormap any longer.

        This change also begins the abstraction of widget rendering so that GTK+
        2 and GTK+ 3 can use the same code path. The WidgetRenderingContext will
        eventually hide all version differences from RenderThemeGtk, which can
        just focus on interpreting the GtkStyle properties. 

        * GNUmakefile.am: Add WidgetRenderinContext source files to the sources list.
        * platform/graphics/cairo/PlatformRefPtrCairo.cpp:
        (WTF::refPlatformPtr): Add a specialization for Cairo patterns.
        (WTF::derefPlatformPtr): Ditto.
        * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk): No longer keep a set of
        widgets per-colormap for GTK+, instead just determine if we can use RGBA
        colormaps and go from there.
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
        (WebCore::RenderThemeGtk::getIndicatorMetrics): Put the logic for
        getting toggle button indicator metrics into this helper.
        (WebCore::RenderThemeGtk::paintRenderObject): Now uses
        WidgetRenderingContext to do widget rendering.
        (WebCore::setToggleSize): Use the new getIndicatorMetrics helper.
        * platform/gtk/RenderThemeGtk.h: Added a member to track whether or not
          the widgets are using a RGBA colormap. Also remove a defunct Page*
          member.
        * platform/gtk/ScrollbarThemeGtk.cpp: Switch all widget drawing
        operations to use WidgetRenderingContext.
        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
        (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
        (WebCore::ScrollbarThemeGtk::paint): Ditto.
        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
        * platform/gtk/WidgetRenderingContext.h: Added.
        * platform/gtk/WidgetRenderingContextGtk2.cpp: Added.
        (WebCore::purgeScratchBuffer): Added, this is similar to the scratch
        buffer implementation from ContextShadow.
        (WebCore::PurgeScratchBufferTimer::fired): Ditto.
        (WebCore::scheduleScratchBufferPurge): Ditto.
        (WebCore::getExtraSpaceForWidget):
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Added.
        (WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
        * platform/gtk/WidgetRenderingContextGtk3.cpp: Added.
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
        (WebCore::~WidgetRenderingContext::WidgetRenderingContext): Added.
        (WebCore::WidgetRenderingContext::paintMozillaWidget): Added.

2010-11-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 
        -[WebView _scaleWebView:] should take and origin and scroll the 
        document
        -and corresponding-
        <rdar://problem/8643921>

        Apply the scale to the origin, and set a new scroll position.
        * page/Frame.cpp:
        (WebCore::Frame::scalePage):
        * page/Frame.h:
        * WebCore.exp.in:

2010-11-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
        https://bugs.webkit.org/show_bug.cgi?id=49295

        * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Reverted to r71565. Eliding bidi
        control characters from ATSUI is no longer necessary since ComplexTextController removes
        any glyphs corresponding to them.
        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):

2010-11-10  Pascal Massimino  <pascal.massimino@gmail.com>

        Reviewed by Adam Barth.

        Simplify the alpha-detection code in png's decoding loop.
        https://bugs.webkit.org/show_bug.cgi?id=49333

        Added a special test for this case: png_per_row_alpha_decoding.html

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable): modified loop.

2010-11-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8647848> REGRESSION (r68551): Spaces shown at soft hyphens with complex justification
        https://bugs.webkit.org/show_bug.cgi?id=49352

        Test: fast/text/justification-padding-mid-word.html

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to add justification padding
        and word spacing only at characters that are treated as space, instead of all characters that
        use the space glyph (which includes characters treated as zero-width space as well).

2010-11-10  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        Crash in documentWillBecomeInactive() when closing window with Reader showing content with SVG
        https://bugs.webkit.org/show_bug.cgi?id=49084

        Manual test added.

        * manual-tests/svg-deep-clone-to-new-doc.html: Added manual test for reproducing bug since an automated version proved to be a bit tough to craft up.
        * svg/SVGSVGElement.cpp: Added in necessary document ownership transfer calls.
        * svg/SVGSVGElement.h:

2010-11-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Red error bubbles don't fit content.
        https://bugs.webkit.org/show_bug.cgi?id=49305

        * inspector/front-end/textViewer.css:
        (.webkit-html-message-bubble):

2010-11-10  Alexey Proskuryakov  <ap@apple.com>

        Release build fix.

        * css/StyleSheet.cpp: isAcceptableStyleSheetParent() is a debug-only function.

2010-11-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=45205
        <rdar://problem/8391455> Detached elements shouldn't have style sheets.

        Tests: fast/dom/StyleSheet/detached-style-2.html
               fast/dom/StyleSheet/detached-style-pi.xhtml
               fast/dom/StyleSheet/detached-style.html
               fast/dom/StyleSheet/detached-style-pi-2.xhtml

        * bindings/js/JSStyleSheetCustom.cpp: (WebCore::JSStyleSheet::markChildren):
        There is no longer a need to mark owner nodes - StyleSheet->ownerNode() is only non-null when
        the node is in document.

        * css/StyleSheet.cpp: (WebCore::StyleSheet::StyleSheet): Added an assertion checking that
        all nodes that can be StyleSheet parents have been verified.

        * css/StyleSheet.h: (WebCore::StyleSheet::clearOwnerNode): Added.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::~ProcessingInstruction): Clear stylesheet's owner node. This
        shouldn't have observable effect, since a processing instruction that is in document can only
        be destroyed with document, and a reachable stylsheet keeps document alive.
        (WebCore::ProcessingInstruction::removedFromDocument): Clear the relationship between node and style sheet when removed.
        (WebCore::ProcessingInstruction::setCSSStyleSheet): If the element was removed during load, we still
        don't want to create a style sheet.

        * dom/StyleElement.cpp:
        (WebCore::StyleElement::sheet): There is no reason for lazy creation. It was a wrong fix for
        bug 14462, whose regression test still passes.
        (WebCore::StyleElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
        (WebCore::StyleElement::finishParsingChildren): Don't call sheet(), it doens't have side effects any more.
        (WebCore::StyleElement::createSheet): Assert that the element is in document. We never want
        to create a style sheet for an element that isn't.

        * dom/StyleElement.h: (WebCore::StyleElement::sheet): Made implementation inline, now that
        it's a simple getter.

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::~HTMLLinkElement): Clear stylesheet's owner node.
        (WebCore::HTMLLinkElement::process): Assert that there is no style sheet lingering for any reason.
        (WebCore::HTMLLinkElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
        (WebCore::HTMLLinkElement::setCSSStyleSheet): If the element was removed during load, we still
        don't want to create a style sheet.

        * html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::~HTMLStyleElement):
        * html/HTMLStyleElement.h:
        * svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::~SVGStyleElement):
        * svg/SVGStyleElement.h:
        Clear stylesheet's owner node. As above, this shouldn't have observable effect.

        * xml/XSLTProcessor.h:
        * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::~XSLTProcessor):
        * dom/Document.cpp: (WebCore::Document::~Document):
        * css/CSSParser.cpp: (WebCore::CSSParser::parseSelector):
        Assert that stylesheet won't outlive its owner node. We don't really use refcounting here.

2010-11-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
        https://bugs.webkit.org/show_bug.cgi?id=49295

        * platform/graphics/mac/ComplexTextController.h: Added m_indexOffset.
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Use m_indexOffset
        instead of computing the offset based on m_directionalOverride.
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Set m_indexOffset to
        the offset between indices in m_characters and indices in the text passed to ATSUI.

2010-11-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Gear menu floats to right edge and expands
        to bottom of "Styles" section.
        https://bugs.webkit.org/show_bug.cgi?id=49303

        This fixes computed style's option wrapping to the next line.

        * inspector/front-end/inspector.css:
        (.sidebar-pane-subtitle):

2010-11-10  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Fix canvas.putImageData(canvas.getImageData(...)) to be lossless.
        https://bugs.webkit.org/show_bug.cgi?id=49330

        These cycles should be lossless for valid colours.  A similar fix went
        into the CG port at r32878.

        Covered by canvas/philip/tests/2d.imageData.put.unchanged.html.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::mulDiv255Ceil):
        A helper function to do (a + b + 254) / 255 without a divide.
        (WebCore::putImageData):
        Use the above helper to round up when premultiplying alpha.

2010-11-10  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by David Hyatt.

        HTML5 Ruby support should be mandatory feature
        https://bugs.webkit.org/show_bug.cgi?id=49272

        Remove Ruby as optional feature.

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCorePrefix.h: Touch WebCorePrefix.h to avoid incremental build failure on Windows.
        * config.h: Touch config.h to avoid incremental build failure on Windows.
        * features.pri:
        * html/HTMLTagNames.in:
        * rendering/RenderBlock.cpp: Remove ENABLE_RUBY guard.
        (WebCore::canMergeContiguousAnonymousBlocks):
        * rendering/RenderObject.cpp: Remove ENABLE_RUBY guard.
        (WebCore::RenderObject::createObject):
        * rendering/RenderRuby.cpp: Remove ENABLE_RUBY guard.
        * rendering/RenderRuby.h: Remove ENABLE_RUBY guard.
        * rendering/RenderRubyBase.cpp: Remove ENABLE_RUBY guard.
        * rendering/RenderRubyBase.h: Remove ENABLE_RUBY guard.
        * rendering/RenderRubyRun.cpp: Remove ENABLE_RUBY guard.
        * rendering/RenderRubyRun.h: Remove ENABLE_RUBY guard.
        * rendering/RenderRubyText.cpp: Remove ENABLE_RUBY guard.
        * rendering/RenderRubyText.h: Remove ENABLE_RUBY guard.

2010-11-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Complex text does not have full CSS text-shadow support
        https://bugs.webkit.org/show_bug.cgi?id=45597

        Add ContextShadow support to FontGtk, which enables non-solid shadows
        for complex text rendering.

        Test: platform/gtk/fonts/complex-text-shadows.html

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::destroyPangoRegion): Added this helper, which helps reduce
        the number of #ifdefs when dealing with GTK+ region type differences.
        (WebCore::getPangoRegionExtents): Ditto.
        (WebCore::drawGlyphsShadow): Added this helper which either renders
        a solid shadow manually or uses ContextShadow to render a blurry shadow.
        (WebCore::Font::drawComplexText): Use the new helpers.

2010-11-10  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [gtk] The revision r71528 causes crashes in GObjectEventListener
        https://bugs.webkit.org/show_bug.cgi?id=49314

        Moved the addition of the event listener to the node after calling
        the constructor of the event listener. This is required beacuse
        the addEventListener API receives the EventListener inside a
        PassRefPtr.

        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::GObjectEventListener):
        * bindings/gobject/GObjectEventListener.h:
        (WebCore::GObjectEventListener::addEventListener):

2010-11-02  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Enable InspectorCSSAgent (not used by frontend for CSS editing yet)
        https://bugs.webkit.org/show_bug.cgi?id=48834

        Drive-by fix: use a single API method to retrieve all node-related styles instead of a bunch of separate calls.

        Test: inspector/styles-new-API.html

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        (WebCore::InspectorCSSAgent::setDOMAgent):
        (WebCore::InspectorCSSAgent::reset):
        (WebCore::InspectorCSSAgent::getStylesForNode2):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
        (WebCore::InspectorCSSAgent::addRule2):
        (WebCore::InspectorCSSAgent::querySelectorAll):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::cssAgent):
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::styleText):
        (WebCore::InspectorStyle::disableProperty):
        (WebCore::InspectorStyle::populateAllProperties):
        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
        (WebCore::InspectorStyleSheet::ensureSourceData):
        (WebCore::InspectorStyleSheetForInlineStyle::text):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorStyleProperty::setRawTextFromStyleDeclaration):
        (WebCore::InspectorStyleProperty::hasRawText):

2010-11-10  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Move CSSStyleDeclaration from DOMAgent.js into CSSStyleModel.js
        https://bugs.webkit.org/show_bug.cgi?id=49312

        No new tests, as it's just code motion.

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parsePayload):
        (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
        (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
        (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
        (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
        (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
        (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
        (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
        (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
        (WebInspector.CSSRule):
        (WebInspector.CSSRule.parsePayload):
        (WebInspector.CSSRule.prototype.get isUserAgent):
        (WebInspector.CSSRule.prototype.get isUser):
        (WebInspector.CSSRule.prototype.get isViaInspector):
        (WebInspector.CSSRule.prototype.get isRegular):
        (WebInspector.CSSProperty):
        (WebInspector.CSSProperty.parsePayload):
        (WebInspector.CSSProperty.prototype.get propertyText):
        (WebInspector.CSSProperty.prototype.get isLive):
        (WebInspector.CSSProperty.prototype.get active):
        (WebInspector.CSSProperty.prototype.get styleBased):
        (WebInspector.CSSProperty.prototype.get inactive):
        (WebInspector.CSSProperty.prototype.get disabled):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setValue):
        (WebInspector.CSSProperty.prototype.setDisabled.callback):
        (WebInspector.CSSProperty.prototype.setDisabled):
        * inspector/front-end/DOMAgent.js:

2010-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r71733.
        http://trac.webkit.org/changeset/71733
        https://bugs.webkit.org/show_bug.cgi?id=49319

        made qt bot crashy and sad (Requested by kling on #webkit).

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):

2010-11-10  Peter Rybin  <peter.rybin@gmail.com>

        Reviewed by Adam Barth.

        HTML parser should provide script column position within HTML document to JavaScript engine
        https://bugs.webkit.org/show_bug.cgi?id=45271

        Replaces line number with TextPosition struct so that script engine
        gets script starting line/column.

        * ForwardingHeaders/wtf/text/TextPosition.h: Added.
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerPosition):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::startLine):
        (WebCore::ScriptSourceCode::startPosition):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::V8LazyEventListener):
        (WebCore::V8LazyEventListener::prepareListenerObject):
        * bindings/v8/V8LazyEventListener.h:
        (WebCore::V8LazyEventListener::create):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::evaluate):
        (WebCore::V8Proxy::runScript):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::evaluate):
        (WebCore::WorkerContextExecutionProxy::runScript):
        * bindings/v8/WorkerContextExecutionProxy.h:
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * dom/PendingScript.cpp:
        (WebCore::PendingScript::releaseElementAndClear):
        * dom/PendingScript.h:
        (WebCore::PendingScript::PendingScript):
        (WebCore::PendingScript::operator=):
        (WebCore::PendingScript::startingPosition):
        * dom/ScriptableDocumentParser.h:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::textPosition):
        (WebCore::XMLDocumentParser::textPositionOneBased):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::textPosition):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
        (WebCore::HTMLDocumentParser::textPosition):
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::execute):
        (WebCore::HTMLScriptRunner::runScript):
        * html/parser/HTMLScriptRunner.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::uninitializedPositionValue1):
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        * html/parser/HTMLTreeBuilder.h:

2010-11-10  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Fix autofill popup height computation -- take icon heights into account.
        https://bugs.webkit.org/show_bug.cgi?id=49306

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):

2010-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        In paintEntireContents mode (used in combination with tiling) we
        cannot clip to the actual visibleContentRect as the clipped regions
        will not be updated again on scroll. If paintsEntireContents is
        enabled, return the actual content rect.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):

2010-11-10  Shinichiro Hamaji  <hamaji@chromium.org>

        Adding a manual test which I forgot to add in r71618.

        [Chromium] display:none has no effect on <option> element
        https://bugs.webkit.org/show_bug.cgi?id=49169

        * manual-tests/display-none-option.html: Added.

2010-11-10  Shane Stephens  <shanestephens@google.com>

        Reviewed by Dirk Schulze.

        SVGTextElement supplemental transforms pre-multiplied but should be 
        post-multiplied in animatedLocalTransform
        https://bugs.webkit.org/show_bug.cgi?id=48215

        Test: svg/animations/animate-text-nested-transforms.svg

        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::animatedLocalTransform):

        Switched order of multiplication.  Note that due to a bug in 
        AffineTransform's operator* implementation the order of arguments is
        reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).

2010-11-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        Fieldsets avoid floats. Legend elements are expected to have their parent
        as fieldset. When this not the case, floats get added incorrectly added to the
        legend blocks. This patch tries to prevent those floats addition.
        https://bugs.webkit.org/show_bug.cgi?id=49214

        Test: fast/blockflow/overhanging-float-legend-crash.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::avoidsFloats):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::isLegend):
        * rendering/RenderObject.h:

2010-11-10  Cris Neckar  <cdn@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Added check to ensure that svg viewport containers are not treated in the same way as generic svg containers.
        https://bugs.webkit.org/show_bug.cgi?id=49188

        Test: svg/dom/viewport-container-crash.svg

        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):

2010-11-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [WML] Fix build breaks when WML is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=49168

        The backForward() of Page class returns BackForwarddController class type. 
        So, WML classes need to include the BackForwardController.h file. And, select() 
        of RenderTextControl.h was removed. Thus, the select() should be replaced by 
        setSelectionRange().

        * wml/WMLDoElement.cpp: Includes BackForwardController.h.
        * wml/WMLDocument.cpp: ditto.
        * wml/WMLInputElement.cpp: 
        (WebCore::WMLInputElement::select): Replaced by setSelectionRange().
        * wml/WMLPageState.cpp: Includes BackForwardController.h.
        * wml/WMLPrevElement.cpp: ditto.

2010-11-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add JavaScriptAudioNode files
        https://bugs.webkit.org/show_bug.cgi?id=48875

        No new tests since audio API is not yet implemented.

        * webaudio/JavaScriptAudioNode.cpp: Added.
        (WebCore::JavaScriptAudioNode::create):
        (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
        (WebCore::JavaScriptAudioNode::~JavaScriptAudioNode):
        (WebCore::JavaScriptAudioNode::initialize):
        (WebCore::JavaScriptAudioNode::uninitialize):
        (WebCore::JavaScriptAudioNode::toJavaScriptAudioNode):
        (WebCore::JavaScriptAudioNode::process):
        (WebCore::JavaScriptAudioNode::fireProcessEventDispatch):
        (WebCore::JavaScriptAudioNode::fireProcessEvent):
        (WebCore::JavaScriptAudioNode::reset):
        (WebCore::JavaScriptAudioNode::scriptExecutionContext):
        * webaudio/JavaScriptAudioNode.h: Added.
        (WebCore::JavaScriptAudioNode::eventTargetData):
        (WebCore::JavaScriptAudioNode::ensureEventTargetData):
        (WebCore::JavaScriptAudioNode::bufferSize):
        (WebCore::JavaScriptAudioNode::doubleBufferIndex):
        (WebCore::JavaScriptAudioNode::swapBuffers):
        (WebCore::JavaScriptAudioNode::refEventTarget):
        (WebCore::JavaScriptAudioNode::derefEventTarget):
        * webaudio/JavaScriptAudioNode.idl: Added.

2010-11-09  Nico Weber  <thakis@chromium.org>

        Reviewed by Kenneth Russell.

        [Chromium] Text jitter during 2D CSS transform
        https://bugs.webkit.org/show_bug.cgi?id=49224

        Text subpixel rendering only works in AlphaPremultipliedFirst |
        kCGBitmapByteOrder32Host contexts:
        http://www.cocoabuilder.com/archive/cocoa/228931-sub-pixel-font-smoothing-with-cgbitmapcontext.html

        Changing this has the added benefit that the data layout now matches
        skia.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
        (WebCore::ContentLayerChromium::updateContents):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContents):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):

2010-11-09  Helder Correia  <helder@sencha.com>

        Reviewed by Darin Adler.

        Philip Canvas test 2d.path.rect.winding fails
        https://bugs.webkit.org/show_bug.cgi?id=49225

        Rect path direction is important for nonzero winding rule.

        The rect(x, y, w, h) method must create a new subpath containing just the four points
        (x, y), (x+w, y), (x+w, y+h), (x, y+h), with those four points connected by straight
        lines, and must then mark the subpath as closed.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::rect):

2010-11-09  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed build fix on Chromium/Win at r71711

        RefCound.h reported an error that it cannot access private member
        declared in class 'WebCore::FileWriterSync' at
        WebCore::FileWriterSync::~FileWriterSync.

        * fileapi/FileWriterSync.h: make destructor public

2010-11-09  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        AudioFileReaderMac.cpp must include <CoreServices/CoreServices.h>
        https://bugs.webkit.org/show_bug.cgi?id=49270

        * platform/audio/mac/AudioFileReaderMac.cpp:

2010-11-09  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Add idl and mock classes for FileWriterSync.
        https://bugs.webkit.org/show_bug.cgi?id=48693

        No new tests, as there's no functionality.

        Build file additions.
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorV8.pm:

        * fileapi/FileWriterSync.cpp: Added.
        * fileapi/FileWriterSync.h: Added.
        * fileapi/FileWriterSync.idl: Added.

2010-11-09  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] Improve accessibility of focusable lists
        https://bugs.webkit.org/show_bug.cgi?id=25679

        Emit the 'selected' and 'focused' events as needed.

        This is the last bit of a series of patches to fix bug 25679,
        which just ensures that the right signals are emmited whenever a
        selection inside a listbox object changes, that is, the signals
        'state-changed::selected', 'state-changed::focused' and
        'focus-event', along with the right detail for each of them to
        report if the focus/selection has been activated or not.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::notifyChildrenSelectionChange): New, takes care of
        emitting all the needed signals when children selection has
        changed, both from the point of view of the container and the
        selected/unselected items inside of it. It currently supports
        listboxes (html 'select' controls) only.
        (WebCore::AXObjectCache::postPlatformNotification): Replaced some
        old code with a simple call to notifyChildrenSelectionChange().

2010-11-09  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49202
        
        Make lists work with vertical text.
        
        (1) Patch all the CSS rules in html.css so that the margins are directionally abstract.
        (2) Add a transposedRect and transposedSize method to IntRect and IntSize for swapping x/y and width/height.
        (3) Add adjustLineDirectionPosition as a helper for moving a line box only in the line direction.
        (4) Fix a bug in addIntrudingFLoats uncovered by list test cases where the top margin of an element was being
        incorrectly added to a float's physical left side instead of its top side.
        (5) Make positioning and painting and selection of list markers account for all writing modes.
        (6) Add helpers for setting the start and end margins directly in a RenderStyle, since lists do this to hack
        marker margins before they have been calculated and set on the box.
        
        Cloned a bunch of fast/lists tests into fast/lists/*-vertical.html versions.
        
        * css/html.css:
        * platform/graphics/IntRect.h:
        (WebCore::IntRect::transposedRect):
        * platform/graphics/IntSize.h:
        (WebCore::IntSize::transposedSize):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::adjustLineDirectionPosition):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addIntrudingFloats):
        * rendering/RenderListItem.cpp:
        (WebCore::getParentOfFirstLineBox):
        (WebCore::RenderListItem::positionListMarker):
        (WebCore::RenderListItem::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::localSelectionRect):
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::layout):
        (WebCore::RenderListMarker::computePreferredLogicalWidths):
        (WebCore::RenderListMarker::updateMargins):
        (WebCore::RenderListMarker::getRelativeMarkerRect):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setMarginStart):
        (WebCore::RenderStyle::setMarginEnd):
        * rendering/style/RenderStyle.h:

2010-11-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Antti Koivisto.

        Call to SVGSMILElement::applyResultsToTarget can blow away the SVGSMILElement.
        Refptr the SVGSMILElement in the ResultElementMap to protect it.
        https://bugs.webkit.org/show_bug.cgi?id=49274

        Test: svg/animations/animate-update-crash.xhtml

        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):

2010-11-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49281
        Remove broken code for embedded CSS xml-stylesheet

        * dom/Document.cpp: (WebCore::Document::recalcStyleSelector): This made no sense, was untested,
        and didn't match Firefox.

2010-11-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
        Customizable context menu support in WebKit2.

        Various WebCore support to allow WebKit2 to create new ContextMenuItems with
        the information it has.

        * WebCore.exp.in:

        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:

        * platform/mac/ContextMenuItemMac.mm:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::setSubMenu):
        * platform/mac/ContextMenuMac.mm:
        (WebCore::platformMenuDescription):

        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::setSubMenu):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::platformMenuDescription):

        * platform/win/ContextMenuItemWin.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::setSubMenu):
        * platform/win/ContextMenuWin.cpp:
        (WebCore::platformMenuDescription):

2010-11-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Need WebKit2 mechanism for getting the visible page text
        <rdar://problem/8646928>
        https://bugs.webkit.org/show_bug.cgi?id=49275

        * WebCore.exp.in: Add necessary exports.

2010-11-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by James Robinson.

        Make showLayerTree() more useful for debugging
        https://bugs.webkit.org/show_bug.cgi?id=49273

        Three things to make showLayerTree() more useful when called from gdb:
        1. Add showLayerTree(RenderObject*)
        2. Make it not update layout, so you can call it when debugging layout code.
        3. Add output of the 'needs layout' flags for each renderer.

        * rendering/RenderLayer.cpp:
        (showLayerTree):
        * rendering/RenderLayer.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        (WebCore::externalRepresentation):
        * rendering/RenderTreeAsText.h:

2010-11-09  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        AudioChannel.h is including AudioFloatArray.h instead of AudioArray.h
        https://bugs.webkit.org/show_bug.cgi?id=49269

        * platform/audio/AudioChannel.h:

2010-11-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Made tables hit-test correctly in all writing modes.

        Part of: Make tables work with vertical text
        https://bugs.webkit.org/show_bug.cgi?id=46417

        Test: fast/blockflow/table-hit-test.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):

2010-11-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Caret fails to render with some combination of iframes and compositing
        https://bugs.webkit.org/show_bug.cgi?id=49079
        
        Because it's possible for the caret to jump between different
        compositing layers and the view, caret repainting currently dirties
        both the view and all compositing layers that intersect the caret rect,
        via repaintRectangleInViewAndCompositedLayers().
        
        When an iframe contained compositing layers, we erroneously skipped
        invalidating the compositing layer inside the iframe, which caused
        the caret to fail to blink.

        * manual-tests/compositing/caret-in-compositing-frame.html: Added.
        * manual-tests/compositing/resources/editable-compositing-subframe.html: Added.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):

2010-11-09  Peter Rybin  <peter.rybin@gmail.com>

        Reviewed by Adam Barth.

        XMLDocumentParser gets deleted and then used in LayoutTest/fast/frames/set-parent-src-synchronously.xhtml on QT/Linux
        https://bugs.webkit.org/show_bug.cgi?id=48643

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::doWrite):

2010-11-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=49197
        <rdar://problem/8642746>
        
        When starting an accelerated transform animation on a renderer, check
        that it's a RenderBox before allow transform animations (and before
        calling borderBoxRect()), because transforms are currently disallowed
        on inline elements.

        Test: animations/animation-on-inline-crash.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation):

2010-11-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=49204
        <rdar://problem/8643412>
        
        Add checks to the CSSStyleSelector code to ensure that the
        casts to the various CSSValue types are safe, and do more
        rigorous checking of the lengths of CSSValueLists, and
        non-null members of Pair in some cases.

        * css/CSSBorderImageValue.h:
        (WebCore::CSSBorderImageValue::isBorderImageValue):
        * css/CSSCursorImageValue.h:
        (WebCore::CSSCursorImageValue::isCursorImageValue):
        * css/CSSImageValue.h:
        (WebCore::CSSImageValue::isImageValue):
        * css/CSSReflectValue.h:
        (WebCore::CSSReflectValue::isReflectValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSRuleSet::addStyleRule):
        (WebCore::applyCounterList):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapFillSize):
        (WebCore::CSSStyleSelector::mapAnimationDelay):
        (WebCore::CSSStyleSelector::mapAnimationDirection):
        (WebCore::CSSStyleSelector::mapAnimationFillMode):
        (WebCore::CSSStyleSelector::mapAnimationName):
        (WebCore::CSSStyleSelector::mapAnimationPlayState):
        (WebCore::CSSStyleSelector::mapNinePieceImage):
        (WebCore::CSSStyleSelector::createTransformOperations):
        * css/CSSValue.h:
        (WebCore::CSSValue::isBorderImageValue):
        (WebCore::CSSValue::isCursorImageValue):
        (WebCore::CSSValue::isFontFamilyValue):
        (WebCore::CSSValue::isReflectValue):
        (WebCore::CSSValue::isShadowValue):
        * css/FontFamilyValue.h:
        (WebCore::FontFamilyValue::isFontFamilyValue):
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/ShadowValue.h:
        (WebCore::ShadowValue::isShadowValue):
        * platform/graphics/transforms/TransformOperations.h:
        (WebCore::TransformOperations::clear):

2010-11-09  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Android is missing implementation of V8GCController::checkMemoryUsage
        https://bugs.webkit.org/show_bug.cgi?id=49255

        This patch adds the necessary code to WebCore to implement the
        functionality. The implementation of the PlatformBridge on Android
        does not live upstream yet, so not patching that here.

        No new test as this is a platform specific change on Android.

        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::checkMemoryUsage): Implement on Android.
        * platform/android/PlatformBridge.h: Add necessary methods to read
            device specific memory usage and constraints.

2010-11-09  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        ScrollView::updateScrollbars() shouldn't do anything when scrolling is delegated.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):

2010-11-09  Steve Block  <steveblock@google.com>

        Reviewed by Andreas Kling.

        Unused parameter warning causes JSC build failure with deviceorientation
        https://bugs.webkit.org/show_bug.cgi?id=49251

        No new tests, build fix only.

        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::interval):
        * bindings/js/JSDeviceOrientationEventCustom.cpp:
        (WebCore::JSDeviceOrientationEvent::alpha):
        (WebCore::JSDeviceOrientationEvent::beta):
        (WebCore::JSDeviceOrientationEvent::gamma):

2010-11-09  Renata Hodovan  <reni@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFETileElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=49247

        The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.

        Tests: svg/dynamic-updates/SVGFETileElement-dom-in-attr.html
               svg/dynamic-updates/SVGFETileElement-svgdom-in-prop.html

        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::svgAttributeChanged):
        * svg/SVGFETileElement.h:

2010-11-09  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Dmitry Titov.

        Update ProgressTracker when moving a frame between documents
        https://bugs.webkit.org/show_bug.cgi?id=48368

        No new tests. andersca informs me it's not possible to test
        ProgressTracker changes via layouttests. Review extra carefully...

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
        Changed to use FrameLoader to deliver the notification to the
        client via the notifier.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader:;transferLoadingResourcesFromPage):
        Update old and new progress tracker about frame progress.
        (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
        Added to route notification via the notifier.
        * loader/FrameLoader.h:
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::completeProgress):
        Comment change only.
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
        Added to provide one place to notify client and progress tracker -
        and probably inspector controller (separate patch).
        * loader/ResourceLoadNotifier.h:

2010-11-09  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Too precise serialization from floating point number to string for "number" input elements
        https://bugs.webkit.org/show_bug.cgi?id=48308

        Modified to consider decimal places when handling step and base in applyStep().

        * html/HTMLInputElement.cpp: Considering decimal places of the given "step" attribtue.
        (WebCore::HTMLInputElement::getAllowedValueStep):
        (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
        (WebCore::HTMLInputElement::applyStep):
        * html/HTMLInputElement.h:
        * html/InputType.cpp: Added virtual functions for decimal places and an acceptable error.
        (WebCore::InputType::stepBaseWithDecimalPlaces):
        (WebCore::InputType::acceptableError):
        (WebCore::InputType::parseToDoubleWithDecimalPlaces):
        * html/InputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::stepMismatch): Using the virtual function acceptableError().
        (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Considering decimal places of the given "base" attribute.
        (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces):
        (WebCore::NumberInputType::acceptableError): Concrete acceptableError() for the number type.
        * html/NumberInputType.h:
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Parsing numbers with decimal places.
        * html/parser/HTMLParserIdioms.h:

2010-11-09  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Fix for Bug 48984 - [Chromium] @media print crash due to paged media support
        Page context has been inheriting from document element style that becomes null if display property is none.
        It should inherit from document style instead to properly handle direction property (and to avoid the null reference).
        https://bugs.webkit.org/show_bug.cgi?id=48984

        Test: printing/page-format-data-display-none.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForPage): Page context inherits from
        document style.

2010-11-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add custom bindings for AudioContext
        https://bugs.webkit.org/show_bug.cgi?id=49115

        No new tests since audio API is not yet implemented.

        * bindings/js/JSAudioContextCustom.cpp: Added.
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/v8/custom/V8AudioContextCustom.cpp: Added.
        (WebCore::V8AudioContext::constructorCallback):

2010-11-09  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] display:none has no effect on <option> element
        https://bugs.webkit.org/show_bug.cgi?id=49169

        Added a manual test because it's hard to test the content of
        <option> element.

        * manual-tests/display-none-option.html: Added.
        * platform/PopupMenuStyle.h:
        (WebCore::PopupMenuStyle::PopupMenuStyle):
        (WebCore::PopupMenuStyle::isDisplayNone):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::getRowHeight):
        (WebCore::PopupListBox::layout):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemStyle):
        (WebCore::RenderMenuList::menuStyle):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::menuStyle):

2010-11-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: add audio resources abstraction
        https://bugs.webkit.org/show_bug.cgi?id=34660

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioBus.h:
        * platform/audio/HRTFElevation.cpp:
        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
        (WebCore::HRTFElevation::createByInterpolatingSlices):
        * platform/audio/mac/AudioBusMac.mm: Added.
        (WebCore::AudioBus::loadPlatformResource):

2010-11-09  James Simonsen  <simonjam@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Web Timing] Remove requestEnd
        https://bugs.webkit.org/show_bug.cgi?id=48924

        * page/Timing.cpp:
        * page/Timing.h:
        * page/Timing.idl:

2010-11-09  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Andreas Kling.

        [Qt] image borders do not render correctly
        https://bugs.webkit.org/show_bug.cgi?id=49191

        Test: fast/borders/border-image-01.html

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

2010-11-08  James Simonsen  <simonjam@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Web Timing] Split domContentLoaded into start/end
        https://bugs.webkit.org/show_bug.cgi?id=48920

        * dom/Document.cpp:
        (WebCore::Document::finishedParsing):
        * dom/DocumentTiming.h:
        (WebCore::DocumentTiming::DocumentTiming):
        * page/Timing.cpp:
        (WebCore::Timing::domContentLoadedStart):
        (WebCore::Timing::domContentLoadedEnd):
        * page/Timing.h:
        * page/Timing.idl:

2010-11-08  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Call ApplicationCacheHost::maybeLoadResource() in
        ResourceLoader::start() instead of ResourceLoader::load().
        maybeLoadResource() might mutate the ResourceRequest, and
        in its current location any modifications are lost.

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

        Fixes a couple of http/tests/appcache tests
        failing on chromium.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::start):

2010-11-08  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        [GTK] Use Space to toggle arrow key handling for selection change or
        spatial navigation. Put the logic in common code to pass both Qt and
        GTK. Mac won't work because arrow keys trigger the popup.
        https://bugs.webkit.org/show_bug.cgi?id=49150

        Existing test: fast/events/spatial-navigation/snav-single-select.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler):

2010-11-08  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Pavel Feldman.

        _bindResourceURL in ResourceManager.js may not add resource to map
        https://bugs.webkit.org/show_bug.cgi?id=49088

        No new tests. pfeldman working on better test harness and tests.

        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype._bindResourceURL):

2010-11-08  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Steve Block.

        Convert to and from DOMTimeStamp with converter functions.
        This is a refactoring only, covered by existing layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=49066 

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMTimeStamp.h: Added.
        (WebCore::convertSecondsToDOMTimeStamp):
        (WebCore::convertDOMTimeStampToSeconds):
        * dom/Event.cpp:
        (WebCore::Event::Event):
        * dom/Event.h:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::haveSuitableCachedPosition):
        * platform/android/GeolocationServiceAndroid.cpp:
        (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):

2010-11-08  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed build fix for Chromium Mac for r71590.

        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::provideStringAndAttributes):

2010-11-08  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] Get rid of automatically generated named property getter for classes with namedItem method
        https://bugs.webkit.org/show_bug.cgi?id=48770

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:

2010-11-08  Ned Holbrook  <nholbrook@apple.com>

        Reviewed by Adam Barth.

        Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
        https://bugs.webkit.org/show_bug.cgi?id=48886

        * WebCore.exp.in:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::provideStringAndAttributes):
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2010-11-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=49228
        
        REGRESSION: caret too short when a positive line height is specified.  Now that lineTop no longer
        accidentally incorporates the top leading, we need to use selectionTop/Bottom for the caret rect.

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

2010-11-08  Pierre-Antoine LaFayette  <pierre.lafayette@gmail.com>

        Reviewed by Darin Fisher.

        [chromium] Adding hasUserGesture flag to the ResourceRequest
        https://bugs.webkit.org/show_bug.cgi?id=37057

        This flag is to be used on the browser side to indicate when a
        download has been user initiated.

        No new tests. This change will be tested through a browser UI test.

        * platform/network/chromium/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::hasUserGesture):
        (WebCore::ResourceRequest::setHasUserGesture):

2010-11-08  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Remove obsolete PASSTHROUGH and MATRIXMIX panner mode
        https://bugs.webkit.org/show_bug.cgi?id=49087

        No new tests since audio API is not yet implemented.

        * platform/audio/Panner.cpp:
        (WebCore::Panner::create):
        * platform/audio/Panner.h:
        * webaudio/AudioPannerNode.h:
        * webaudio/AudioPannerNode.idl:

2010-11-08  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Merge EditorWinCE.cpp into EditorWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=49095

        * platform/win/EditorWin.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/wince/EditorWinCE.cpp: Removed.

2010-11-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=49217
        
        Fix coordinate space mismatch in RenderReplaced and make sure RenderText retains its old behavior of
        preferring later lines when there is overlap.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::positionForPoint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):

2010-11-08  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Building for Android generates several compiler warnings
        https://bugs.webkit.org/show_bug.cgi?id=49175

        Fixes these warnings, most of which are trivial.
        - PREFIX_FOR_WEBCORE was previously required for STL's algorithm, but is no
          longer. See
          http://android.git.kernel.org/?p=platform/external/webkit.git;a=commit;h=a47ab5294213cca2741f453b450b02666e08cac8
        - The definition of EXPORT is required only for the JNI entry point in
          WebKit/android, so does not need to be in WebCorePrefix.h

        No new tests, fixes compile warnings only.

        * WebCorePrefix.h:
        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
        (JSC::Bindings::convertValueToJValue):
        * platform/android/FileSystemAndroid.cpp:
        (WebCore::listDirectory):

2010-11-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8119781> Crash zooming into Word document at office.live.com
        https://bugs.webkit.org/show_bug.cgi?id=49203

        Test: fast/css/zoom-change-triggering-layout.html

        RenderBox::styleDidChange() was calling scrollLeft() and scrollTop(), whose RenderTextControlSingleLine
        overrides can trigger layout.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange): Use the layer directly for updating the scroll offsets when
        the zoom factor changes.

2010-11-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=48587
        
        Make Ruby work with vertical text.  Ruby already nearly does work.  The only big issue I found was with
        flipped lines writing modes.  Make sure to mutate the writing-mode of the RenderRubyRun to ensure that
        the ruby text is on the correct side of the ruby base.

        Added fast/blockflow tests of the various writing modes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::firstLineBoxBaseline):
        (WebCore::RenderBlock::lastLineBoxBaseline):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::staticCreateRubyRun):

2010-11-08  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build correction after @70369/@70846.

        Please use PLATFORM(CG) to define CG-specific code, not
        PLATFORM(CF).

        * platform/image-decoders/ImageDecoder.cpp:
        * platform/image-decoders/ImageDecoder.h:

2010-11-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        Input element with inner spin button set to display:none causes crash
        https://bugs.webkit.org/show_bug.cgi?id=49121

        Null check the inner spin button's renderer before dereferencing it.

        Test: fast/forms/input-number-spinbutton-crash.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::forwardEvent):

2010-11-08  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix Unicode explicit bidi control characters are removed in editing operations,
        such as insert/copy/cut/paste.
        https://bugs.webkit.org/show_bug.cgi?id=25321

        Unicode explicit bidi control characters were excluded in BidiRun and
        consequently from InlineTextBoxes due to their effect on rendering complex
        text with ATSUI.
        The fix is including those characters in BidiRun and remove them from
        ComplexTextRun with ATSUI.

        Test: editing/inserting/insert-paste-bidi-control.html
               fast/text/atsui-bidi-control.html

        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        * platform/text/BidiResolver.h:
        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
        (WebCore::::lowerExplicitEmbeddingLevel):
        (WebCore::::raiseExplicitEmbeddingLevel):
        (WebCore::::createBidiRunsForLine):

2010-11-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=49126
        
        RenderBlock::positionForPoint is not writing-mode aware.  Patch the function to examine lines in the correct
        writing-mode direction.  Patched and renamed a number of helpers used by positionForPoint.
        
        Fixed a bug with RenderReplaced's positionForPoint. There was a coordinate space mismatch between what the
        function expected (local coordinates) and what was passed in (containing block coords), which meant the function didn't even work.
        
        Fixed a bug with the propagation of selection state on RenderReplaced to its containing block.  The bit double propagated
        because both the base class function and the derived class function did the propagation, and the setter function did not
        do the right thing if this happened.
        
        Patched the localSelectionRect method on RenderReplaced so that selection draws in the right place in all writing modes.
        
        Added new tests of positionForPoint and replaced elements in fast/blockflow.

        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        * platform/graphics/IntPoint.h:
        (WebCore::IntPoint::transpose):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::positionForPointRespectingEditingBoundaries):
        (WebCore::RenderBlock::positionForPointWithInlineChildren):
        (WebCore::RenderBlock::positionForPoint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::positionForPoint):
        (WebCore::RenderReplaced::localSelectionRect):
        (WebCore::RenderReplaced::setSelectionState):
        * rendering/RenderReplaced.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition):
        * rendering/RootInlineBox.h:

2010-11-08  Nate Chapin  <japhet@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Move connection-per-host counting and request prioritization out
        of Loader and down to the ResourceLoader level.

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

        Refactor only, so no new tests.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::suspendPostAttachCallbacks):
        (WebCore::ContainerNode::resumePostAttachCallbacks):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::loadNow):
        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::create):
        * loader/NetscapePlugInStreamLoader.h:
        * loader/ResourceLoadScheduler.cpp: Added.
        (WebCore::ResourceLoadScheduler::hostForURL):
        (WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
        (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
        (WebCore::ResourceLoadScheduler::addMainResourceLoad):
        (WebCore::ResourceLoadScheduler::scheduleLoad):
        (WebCore::ResourceLoadScheduler::remove):
        (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
        (WebCore::ResourceLoadScheduler::servePendingRequests):
        (WebCore::ResourceLoadScheduler::suspendPendingRequests):
        (WebCore::ResourceLoadScheduler::resumePendingRequests):
        (WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
        (WebCore::ResourceLoadScheduler::requestTimerFired):
        (WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
        (WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
        (WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
        (WebCore::ResourceLoadScheduler::HostInformation::schedule):
        (WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
        (WebCore::ResourceLoadScheduler::HostInformation::remove):
        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
        * loader/ResourceLoadScheduler.h: Added.
        (WebCore::ResourceLoadScheduler::HostInformation::name):
        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
        (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
        (WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
            correctly.
        * loader/ResourceLoader.h:
        (WebCore::ResourceLoader::url):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::startLoading):
        * loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
            and make Loader the SubresourceLoaderClient instead.
        (WebCore::determinePriority):
        (WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
            doing it immediately.
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::didFinishLoading):
        (WebCore::Loader::didFail):
        (WebCore::Loader::didReceiveResponse):
        (WebCore::Loader::didReceiveData):
        (WebCore::Loader::didReceiveCachedMetadata):
        * loader/loader.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::connect):
        (WebCore::EventSource::endRequest):
        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::start):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::didFail):
        (WebCore::XMLHttpRequest::didFinishLoading):
        * xml/XMLHttpRequest.h:

2010-11-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Remove the remaining editing-style functions from ApplyStyleCommand
        https://bugs.webkit.org/show_bug.cgi?id=49155

        Replaced removeNonEditingProperties, editingStyleAtPosition, prepareEditingStyleToApplyAt,
        and removeStylesAddedByNode in ApplyStyleCommand.cpp by removeNonEditingProperties, EditingStyle::create,
        prepareToApplyAt, and removeStyleAddedByNode in EditingStyle.cpp.

        Also removed unnecessary header includes from various cpp files.

        No tests are added since this is a cleanup.

        * editing/ApplyStyleCommand.cpp: Removed removeNonEditingProperties, editingStyleAtPosition,
        prepareEditingStyleToApplyAt, and removeStylesAddedByNode.
        * editing/ApplyStyleCommand.h: Ditto.
        * editing/DeleteSelectionCommand.cpp: Removed removeEnclosingAnchorStyle.
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Calls removeStylesAddedByNode instead.
        * editing/EditingStyle.cpp:
        (WebCore::copyEditingProperties): Moved and renamed ApplyStyleCommand::removeNonEditingProperties.
        (WebCore::editingStyleFromComputedStyle): Calls copyEditingProperties. Changed the argument to PassRefPtr
        as supposed to a raw pointer for convenience.
        (WebCore::EditingStyle::init): Calls editingStyleFromComputedStyle.
        (WebCore::EditingStyle::removeStyleAddedByNode): Added.
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added.
        (WebCore::EditingStyle::removeNonEditingProperties): Added.
        (WebCore::editingStyleIncludingTypingStyle): Calls copyEditingProperties.
        * editing/EditingStyle.h: Added prototypes.
        * editing/Editor.cpp:
        (WebCore::Editor::selectionComputedStyle): Uses EditingStyle.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
        * editing/InsertParagraphSeparatorCommand.h:
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Ditto.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::handleStyleSpansBeforeInsertion): Ditto.
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
        * editing/ReplaceSelectionCommand.h:
        * editing/markup.cpp: Removed removeEnclosingMailBlockquoteStyle and removeDefaultStyles.
        (WebCore::createMarkup): Uses EditingStyle.

2010-11-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Media objects in nested iframes showing above everything else in TinyMCE
        https://bugs.webkit.org/show_bug.cgi?id=44877

        Tests: compositing/iframes/become-composited-nested-iframes.html
               compositing/iframes/overlapped-nested-iframes.html
        
        The overlap testing logic that connects compositing across iframe boundaries
        needed to be educated about nestd iframes, for platforms (i.e. Mac) where iframes
        are allowed to be independently composited.
        
        Also fix a bug that could cause iframes (and possibly other elements) that share
        style to fail to become composited.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Disable style sharing for elements
        that force synethetic style updates in order to gain RenderLayers, so they can become
        composited. This is tested by become-composited-nested-iframes.html, though it is very
        timing-dependent.
        
        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::hasCompositedContentIncludingDescendants): New method that
        is a "deep" version of hasCompositedContent() on platforms where that is necessary to ask.
        
        (WebCore::FrameView::hasCompositingAncestor): New method.
        (WebCore::FrameView::setIsOverlapped): If we can have independently composited iframes,
        we need to force all descendant iframes to update so that compositing gets hooked up across
        nested iframes.
        
        (WebCore::FrameView::isOverlappedIncludingAncestors): New method, only called on platforms
        where allowsIndependentlyCompositedIFrames() is true.

        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedIFrames): Utility method that
        returns true if an iframe can be a compositing root.
        
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Make use of
        allowsIndependentlyCompositedIFrames().
        
        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): We need to notify all
        descendant frames, not just children.
        
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Add assert to ensure that we don't do style sharing
        for elements that play tricks with synthetic style changes.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint): Run overlap testing if a frame has any composited
        descendants.

2010-11-08  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Incorrect image map used when multiple maps have the same name
        https://bugs.webkit.org/show_bug.cgi?id=49086

        Tests: fast/images/image-map-multiple.html
               fast/images/image-map-multiple-xhtml.xhtml

        Factored out the code used to look up elements by id and reused it
        to look up maps by name. It handles multiple elements efficiently.

        * dom/Document.cpp:
        (WebCore::Document::DocumentOrderedMap::clear): Added.
        (WebCore::Document::DocumentOrderedMap::add): Added. Has code that
        was formerly in addElementById.
        (WebCore::Document::DocumentOrderedMap::remove): Added. Has code that
        was formerly in removeElementById.
        (WebCore::Document::DocumentOrderedMap::get): Added. Has code that
        was formerly in getElementById.
        (WebCore::keyMatchesId): Added.
        (WebCore::Document::getElementById): Use DocumentOrderedMap::get.
        (WebCore::Document::addElementById): Use DocumentOrderedMap::add.
        (WebCore::Document::removeElementById): Use DocumentOrderedMap::remove.
        (WebCore::Document::addImageMap): Use DocumentOrderedMap::add.
        (WebCore::Document::removeImageMap): Use DocumentOrderedMap::remove.
        (WebCore::keyMatchesMapName): Added.
        (WebCore::keyMatchesLowercasedMapName): Added.
        (WebCore::Document::getImageMap): Use DocumentOrderedMap::get.

        * dom/Document.h: Added DocumentOrderedMap class, used inside the
        Document class. Changed m_imageMapsByName to be a DocumentOrderedMap.
        Changed m_elementsById to be a DocumentOrderedMap. Eliminated
        m_duplicateIds, since DocumentOrderedMap now has that internally.

2010-11-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=48685
        Notify UI process about focused frame

        * WebCore.xcodeproj/project.pbxproj: Adding developmentRegion back.

        * loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedFrameChanged):
        * page/Chrome.cpp: (WebCore::Chrome::focusedFrameChanged):
        * page/Chrome.h:
        * page/ChromeClient.h:
        Added a new Chrome client notification.

        * page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): Notify chrome.

2010-11-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        Remove use of HIGetScaleFactor
        https://bugs.webkit.org/show_bug.cgi?id=49186
        <rdar://problem/8618410>

        Scale factors can vary on a display-by-display basis and it doesn't make sense
        to compute scale factor event coordinates like this.

        * plugins/mac/PluginViewMac.mm:
        (WebCore::PluginView::globalMousePosForPlugin):

2010-11-08  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap] [Qt] Texture mapper initial implementation
        https://bugs.webkit.org/show_bug.cgi?id=47070

        Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it
        from a different thread.
        The main problematic part was the cache, which made it so that textures can become invalid and have to
        be rerendered from content during paint. This is solved here by creating a pack/unpack function for
        textures, which lets a texture archive its data away from video memory, or do whatever the platform
        thinks is right for freeing memory without needing to re-render again from content (which cannot be
        made thread safe).

        After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState.
        The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different
        thread, and they should block each other.

        The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it
        kicks in.

        Test: compositing/layer-creation/many-layers.html

        * WebCore.pro:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::~BitmapTextureGL):
        (WebCore::BitmapTextureGL::BitmapTextureGL):
        (WebCore::TextureMapperGL::TextureMapperGL):
        (WebCore::TextureMapperGL::drawTexture):
        * platform/graphics/opengl/TextureMapperGL.h:
        (WebCore::TextureMapperGL::create):
        * platform/graphics/qt/TextureMapperQt.cpp:
        (WebCore::BitmapTextureQt::pack):
        (WebCore::BitmapTextureQt::unpack):
        (WebCore::TextureMapper::create):
        (WebCore::BitmapTextureQt::BitmapTextureQt):
        * platform/graphics/qt/TextureMapperQt.h: Added.

2010-11-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Allow applets to participate in accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=49117
        <rdar://problem/8625819>
        
        Add RenderApplet to the list of renderers that can optionally get RenderLayers,
        and be composited for some reason.

        Not currently testable.

        * rendering/RenderApplet.h: Outdented the class declaration.

        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::requiresLayer): Return true if the underlying widget
        has a platform layer.
        (WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see
        if it has a platform layer.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet().
        (WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet().
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable
        for efficiency. Now check for embedded objects and applets.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets.

2010-11-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * GNUmakefile.am: add missing files to fix distcheck.

2010-11-08  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by David Hyatt.

        getPropertyValue("background") causes crash
        https://bugs.webkit.org/show_bug.cgi?id=49055

        Test: fast/css/background-norepeat-crash.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):

2010-11-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die
        https://bugs.webkit.org/show_bug.cgi?id=49136

        When GObjects are finalized and freed, disconnect their event listeners, so that
        WebCore does not try to fire signals on dead GObjects. We do this by holding a weak
        reference to the GObject in the signal listener. When the weak reference notification
        callback is executed, we disconnect the event listener.

        No new tests; this fix is proved by prevention of crashes in soon to be
        landed editing delegate signals, which are covered by the layout tests.

        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor.
        (WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference
        if the GObject is still alive.
        (WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed,
        disconnect the appropriate event listener.
        (WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString
        instead of WebCore string.
        * bindings/gobject/GObjectEventListener.h:
        (WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener,
        so that the connection and disconnection is an internal contract to the class.
        (WebCore::GObjectEventListener::gobjectDestroyedCallback): Added.
        * bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use
        GObjectEventListener::addEventListener and no longer call addEventListener on
        its own.

2010-11-08  Adam Roben  <aroben@apple.com>

        Windows Release build fix after r71514

        The build was failing due to an alignment error. Strangely, depending
        on the order of SVGStaticPropertyTearOff's members, the build will
        either fail in Release (as it does before this change), or Debug (as it
        did before r71514), but not both.

        * svg/properties/SVGStaticPropertyTearOff.h:
        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied
        the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar
        issues.

2010-11-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: decouple ScriptArguments from ScriptCallStack
        https://bugs.webkit.org/show_bug.cgi?id=48058

        ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
        The factory functions that allow to create ScriptCallStack from VM-specific
        objects are defined in ScriptCallStackFactory.cpp.

        ScriptArguments class is used for passing arguments from JS code to the native
        part.

        No new tests. This refactoring is covered with existing Console tests.

        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::profile):
        (WebCore::JSConsole::profileEnd):
        * bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp.
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
        * bindings/js/ScriptState.cpp:
        (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
        (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
        (WebCore::ScriptStateProtectedPtr::get):
        * bindings/js/ScriptState.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        * bindings/v8/ScriptCallFrame.h: Removed.
        * bindings/v8/ScriptCallStack.h: Removed.
        * bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp.
        (WebCore::toScriptCallFrame):
        (WebCore::toScriptCallFramesVector):
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/v8/ScriptState.h:
        (WebCore::ScriptStateProtectedPtr::get):
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::handler):
        (WebCore::V8ConsoleMessage::dispatchNow):
        * bindings/v8/V8ConsoleMessage.h:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        (WebCore::V8Console::assertCallback):
        (WebCore::V8Console::profileCallback):
        (WebCore::V8Console::profileEndCallback):
        * dom/NodeFilter.h:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::startGroup):
        * inspector/InspectorController.h:
        * inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp.
        (WebCore::ScriptArguments::ScriptArguments):
        (WebCore::ScriptArguments::~ScriptArguments):
        (WebCore::ScriptArguments::argumentAt):
        (WebCore::ScriptArguments::globalState):
        (WebCore::ScriptArguments::getFirstArgumentAsString):
        (WebCore::ScriptArguments::isEqual):
        * inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h.
        (WebCore::ScriptArguments::argumentCount):
        * inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp.
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        (WebCore::ScriptCallFrame::~ScriptCallFrame):
        (WebCore::ScriptCallFrame::isEqual):
        (WebCore::ScriptCallFrame::buildInspectorObject):
        * inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h.
        (WebCore::ScriptCallFrame::functionName):
        (WebCore::ScriptCallFrame::sourceURL):
        (WebCore::ScriptCallFrame::lineNumber):
        * inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp.
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::~ScriptCallStack):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        (WebCore::ScriptCallStack::isEqual):
        (WebCore::ScriptCallStack::buildInspectorObject):
        * inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h.
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::debug):
        (WebCore::Console::error):
        (WebCore::Console::info):
        (WebCore::Console::log):
        (WebCore::Console::dir):
        (WebCore::Console::dirxml):
        (WebCore::Console::trace):
        (WebCore::Console::assertCondition):
        (WebCore::Console::count):
        (WebCore::Console::markTimeline):
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):
        (WebCore::Console::timeEnd):
        (WebCore::Console::group):
        (WebCore::Console::groupCollapsed):
        (WebCore::Console::shouldCaptureFullStackTrace):
        (WebCore::Console::warn):
        * page/Console.h:
        (WebCore::Console::profiles):
        * page/Console.idl:

2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Build fix.
        
        Attempt to fix windows builds after r71512. Swap order of members to avoid warning C4121.

        * svg/properties/SVGStaticPropertyTearOff.h:
        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):

2010-11-08  Mikhail Naganov  <mnaganov@chromium.org>

        Unreviewed. Fix Qt build after r71511.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):

2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=49067

        Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that
        now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual
        calls in SVGPolylineElement/SVGPolygonElement.

        Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create
        SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other
        animated properties.

        Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList
        is now a plain Vector<FloatPoint>. Enable StrictTypeChecking for SVGPoint.

        Test: svg/dom/SVGPoint.html

        * Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation).
        * Android.mk: Ditto.
        * CMakeLists.txt: Ditto.
        * DerivedSources.make: Ditto.
        * GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.order: Remove SVGAnimatedPoints symbols.
        * WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include.
        * bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts.
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now).
        (WebCore::operator<<):
        * svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp.
        * svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimateElement.h:  Ditto.
        * svg/SVGAnimatedPoints.cpp: Removed.
        * svg/SVGAnimatedPoints.h: Removed.
        * svg/SVGAnimatedPoints.idl: Removed.
        * svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
        (WebCore::pointsListFromSVGData):
        * svg/SVGParserUtilities.h: Ditto.
        * svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes.
        * svg/SVGPointList.cpp: SVGPointList is now a plain Vector<FloatPoint>, rewrite.
        (WebCore::SVGPointList::valueAsString):
        (WebCore::SVGPointList::createAnimated):
        * svg/SVGPointList.h: Ditto.
        (WebCore::SVGPointList::SVGPointList):
        * svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept.
        (WebCore::SVGPolyElement::parseMappedAttribute):
        (WebCore::SVGPolyElement::svgAttributeChanged):
        (WebCore::SVGPolyElement::synchronizeProperty):
        (WebCore::SVGPolyElement::synchronizePoints):
        (WebCore::SVGPolyElement::points):
        (WebCore::SVGPolyElement::animatedPoints):
        * svg/SVGPolyElement.h: Reindented.
        (WebCore::SVGPolyElement::pointList):
        (WebCore::SVGPolyElement::isValid):
        (WebCore::SVGPolyElement::supportsMarkers):
        * svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change.
        (WebCore::SVGPolygonElement::toPathData):
        * svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance.
        * svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change.
        (WebCore::SVGPolylineElement::toPathData):
        * svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate().
        (WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object.
        * svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation.
        * svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it.
        (WebCore::SVGPropertyTearOff::commitChange):
        * svg/properties/SVGPropertyTraits.h: Add SVGPointList handing.
        * svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate).
        (WebCore::SVGStaticPropertyTearOff::create):
        (WebCore::SVGStaticPropertyTearOff::commitChange):
        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):

2010-11-08  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Adam Barth.

        Web Inspector [Chromium]: Make CPU profiling to survive navigation.

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

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::reuseFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::restoreProfiler):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::startProfiling):
        (WebCore::InspectorController::stopProfiling):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.hasTemporaryProfile):
        (WebInspector.ProfilesPanel.prototype.hasProfile):
        * inspector/front-end/inspector.js:
        (WebInspector.setRecordingProfile):

2010-11-08  Renata Hodovan  <reni@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFEConvolveMatrixElement doesn't support dynamic invalidation
        https://bugs.webkit.org/show_bug.cgi?id=47660

        Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
        The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
        properly the orderX and orderY components of order property from SVG DOM.

        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html

        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
        (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/svgattrs.in:

2010-11-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Antti Koivisto.

        Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document
        https://bugs.webkit.org/show_bug.cgi?id=49163

        The usual convention is to use "document", not "doc" to refer to the
        document.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::cachedImage):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::shouldAllowExternalLoad):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::frame):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
        (WebCore::CachedResourceLoader::preload):
        (WebCore::CachedResourceLoader::checkForPendingPreloads):
        (WebCore::CachedResourceLoader::requestPreload):
        * loader/cache/CachedResourceLoader.h:
        (WebCore::CachedResourceLoader::document):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::requestResource):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::Host::servePendingRequests):
        (WebCore::Loader::Host::didFinishLoading):
        (WebCore::Loader::Host::didFail):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::docLoaderFunc):

2010-11-07  Adam Barth  <abarth@webkit.org>

        Unreviewed.  Remove some unneeded includes.

        * loader/FrameLoader.cpp:
        * loader/PlaceholderDocument.cpp:

2010-11-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename Cache to MemoryCache
        https://bugs.webkit.org/show_bug.cgi?id=49159

        So sayeth the diagram.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSImageValue.cpp:
        * dom/ContainerNode.cpp:
        * history/PageCache.cpp:
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorResourceAgent.cpp:
        * loader/FrameLoader.cpp:
        * loader/archive/cf/LegacyWebArchive.cpp:
        * loader/cache/Cache.cpp: Removed.
        * loader/cache/Cache.h: Removed.
        * loader/cache/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::allClientsRemoved):
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedFont.h:
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::destroyDecodedData):
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::destroyDecodedData):
        * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
        (WebCore::cache):
        (WebCore::MemoryCache::MemoryCache):
        (WebCore::MemoryCache::requestResource):
        (WebCore::MemoryCache::requestUserCSSStyleSheet):
        (WebCore::MemoryCache::revalidateResource):
        (WebCore::MemoryCache::revalidationSucceeded):
        (WebCore::MemoryCache::revalidationFailed):
        (WebCore::MemoryCache::resourceForURL):
        (WebCore::MemoryCache::deadCapacity):
        (WebCore::MemoryCache::liveCapacity):
        (WebCore::MemoryCache::pruneLiveResources):
        (WebCore::MemoryCache::pruneDeadResources):
        (WebCore::MemoryCache::setCapacities):
        (WebCore::MemoryCache::makeResourcePurgeable):
        (WebCore::MemoryCache::evict):
        (WebCore::MemoryCache::addCachedResourceLoader):
        (WebCore::MemoryCache::removeCachedResourceLoader):
        (WebCore::MemoryCache::lruListFor):
        (WebCore::MemoryCache::removeFromLRUList):
        (WebCore::MemoryCache::insertInLRUList):
        (WebCore::MemoryCache::resourceAccessed):
        (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
        (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
        (WebCore::MemoryCache::addToLiveResourcesSize):
        (WebCore::MemoryCache::removeFromLiveResourcesSize):
        (WebCore::MemoryCache::adjustSize):
        (WebCore::MemoryCache::TypeStatistic::addResource):
        (WebCore::MemoryCache::getStatistics):
        (WebCore::MemoryCache::setDisabled):
        (WebCore::MemoryCache::dumpStats):
        (WebCore::MemoryCache::dumpLRULists):
        * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
        (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
        * loader/loader.cpp:
        * page/EventSource.cpp:
        * page/Settings.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):

2010-11-07  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempt to fix the windows build.

        Move the rest of the cache-related files into loader/cache
        https://bugs.webkit.org/show_bug.cgi?id=49156

        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/copyForwardingHeaders.cmd:

2010-11-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move the rest of the cache-related files into loader/cache
        https://bugs.webkit.org/show_bug.cgi?id=49156

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/CachePolicy.h: Removed.
        * loader/CachedCSSStyleSheet.cpp: Removed.
        * loader/CachedCSSStyleSheet.h: Removed.
        * loader/CachedFont.cpp: Removed.
        * loader/CachedFont.h: Removed.
        * loader/CachedImage.cpp: Removed.
        * loader/CachedImage.h: Removed.
        * loader/CachedResource.cpp: Removed.
        * loader/CachedResource.h: Removed.
        * loader/CachedResourceClient.h: Removed.
        * loader/CachedResourceClientWalker.cpp: Removed.
        * loader/CachedResourceClientWalker.h: Removed.
        * loader/CachedResourceHandle.cpp: Removed.
        * loader/CachedResourceHandle.h: Removed.
        * loader/CachedResourceLoader.cpp: Removed.
        * loader/CachedResourceLoader.h: Removed.
        * loader/CachedScript.cpp: Removed.
        * loader/CachedScript.h: Removed.
        * loader/CachedXSLStyleSheet.cpp: Removed.
        * loader/CachedXSLStyleSheet.h: Removed.
        * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
        * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
        * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
        * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
        * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
        * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
        * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
        * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
        * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
        * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
        * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
        * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
        * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
        * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
        * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
        * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
        * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
        * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
        * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
        * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.

2010-11-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename X-Purpose to Purpose
        https://bugs.webkit.org/show_bug.cgi?id=47802

        As requested by IETF HTTP WG.  This patch is part of a larger movement
        in the HTTP community to move away from X- headers.  Various senior
        folks at the IETF believe they're a failed experiment:

        http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests):

2010-11-07  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        Assert that a non-null PassRefPtr<Document> has a non-null frame in Frame::setDocument()
        https://bugs.webkit.org/show_bug.cgi?id=49152

        Add an ASSERT to ensure that a non-null Document has a non-null Frame
        in Frame::setDocument().

        Currently, whenever Frame::setDocument() is called with a non-null
        Document the Document has a non-null Frame. We should assert this
        invariant.

        * page/Frame.cpp:
        (WebCore::Frame::setDocument):

2010-11-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move Cache.* into loader/cache in as a start to cleaning up loader/
        https://bugs.webkit.org/show_bug.cgi?id=49153

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
        (WebCore::cache):
        (WebCore::Cache::Cache):
        (WebCore::createResource):
        (WebCore::Cache::requestResource):
        (WebCore::Cache::requestUserCSSStyleSheet):
        (WebCore::Cache::revalidateResource):
        (WebCore::Cache::revalidationSucceeded):
        (WebCore::Cache::revalidationFailed):
        (WebCore::Cache::resourceForURL):
        (WebCore::Cache::deadCapacity):
        (WebCore::Cache::liveCapacity):
        (WebCore::Cache::pruneLiveResources):
        (WebCore::Cache::pruneDeadResources):
        (WebCore::Cache::setCapacities):
        (WebCore::Cache::makeResourcePurgeable):
        (WebCore::Cache::evict):
        (WebCore::Cache::addCachedResourceLoader):
        (WebCore::Cache::removeCachedResourceLoader):
        (WebCore::fastLog2):
        (WebCore::Cache::lruListFor):
        (WebCore::Cache::removeFromLRUList):
        (WebCore::Cache::insertInLRUList):
        (WebCore::Cache::resourceAccessed):
        (WebCore::Cache::removeFromLiveDecodedResourcesList):
        (WebCore::Cache::insertInLiveDecodedResourcesList):
        (WebCore::Cache::addToLiveResourcesSize):
        (WebCore::Cache::removeFromLiveResourcesSize):
        (WebCore::Cache::adjustSize):
        (WebCore::Cache::TypeStatistic::addResource):
        (WebCore::Cache::getStatistics):
        (WebCore::Cache::setDisabled):
        (WebCore::Cache::dumpStats):
        (WebCore::Cache::dumpLRULists):
        * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
        (WebCore::Cache::LRUList::LRUList):
        (WebCore::Cache::TypeStatistic::TypeStatistic):
        (WebCore::Cache::loader):
        (WebCore::Cache::disabled):
        (WebCore::Cache::setPruneEnabled):
        (WebCore::Cache::prune):
        (WebCore::Cache::setDeadDecodedDataDeletionInterval):
        (WebCore::Cache::deadDecodedDataDeletionInterval):
        (WebCore::Cache::remove):
        (WebCore::Cache::shouldMakeResourcePurgeableOnEviction):

2010-11-05  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] box-shadow does not blur (is solid) when using border-radius
        https://bugs.webkit.org/show_bug.cgi?id=46327

        Implement blurred box-shadow when styling with border-radius.
        This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488

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

2010-11-07  John Reck  <jreck@google.com>

        Reviewed by Steve Block.

        Implements navigator.language for Android
        https://bugs.webkit.org/show_bug.cgi?id=49099
        
        Android was previously hardcoding the value for WebCore::platformDefaultLanguage().
        This patch removes the hardcoding and calls into the PlatformBridge to get the
        correct language based off of the user's settings.

        No new tests needed, this is already covered

        * Android.mk:
        * platform/android/LanguageAndroid.cpp: Added.
        (WebCore::platformDefaultLanguage):
        * platform/android/PlatformBridge.h:
        * platform/android/TemporaryLinkStubs.cpp:

2010-11-07  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [qt] screenDepthPerComponent returns the wrong value

        Return best estimate of the number of bits per color
        rather than screen depth.

        Add a layout test to sanity check screenDepthPerComponent.

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

        Test: fast/css/media-rule-screenDepthPerComponent.html

        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenDepthPerComponent):

2010-11-07  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        Add a helper function to avoid duplicated code.
        https://bugs.webkit.org/show_bug.cgi?id=49085

        * dom/SelectElement.cpp:
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultArrowEventHandler):
        * page/SpatialNavigation.cpp:
        (WebCore::isSpatialNavigationEnabled):
        * page/SpatialNavigation.h:

2010-11-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Simon Fraser.

        Web Inspector: Some image resources don't display the image when selected in the Resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=48935

        Marked resources loaded from memory cache as finished.

        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):

2010-11-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: XHR logging is not checked in context menu after browser restart.
        https://bugs.webkit.org/show_bug.cgi?id=49133

        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):

2010-11-06  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Windows build fix.

        * editing/EditingAllInOne.cpp: Added EditingStyle.cpp

2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Bug 46335 - Add EditingStyle
        https://bugs.webkit.org/show_bug.cgi?id=46335

        Added EditingStyle to WebCore/editing.  This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
        editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
        Deployed it in typing styles.

        No new tests are added since this is a refactoring in progress.

        * CMakeLists.txt: Added EditingStyle.cpp
        * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
        * editing/DeleteSelectionCommand.h:
        * editing/EditingStyle.cpp: Added.
        (WebCore::editingStyleFromComputedStyle): Added.
        (WebCore::EditingStyle::EditingStyle): Added.
        (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
        (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
        (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
        (WebCore::EditingStyle::isEmpty): Added.
        (WebCore::EditingStyle::setStyle): Added.
        (WebCore::EditingStyle::clear): Added.
        (WebCore::EditingStyle::removeBlockProperties): Added.
        (WebCore::EditingStyle::prepareToApplyAt): Added.
        (WebCore::editingStyleIncludingTypingStyle): Added.
        * editing/EditingStyle.h: Added.
        (WebCore::EditingStyle::create): Added.
        (WebCore::EditingStyle::style): Added.
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
        * editing/SelectionController.h:
        (WebCore::SelectionController::typingStyle): Uses EditingStyle.
        (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
        (WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
        * rendering/style/RenderStyle.h: Added EditingStyle as a friend.

2010-11-05  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein and Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=47237
        
        Make selection work with vertical text.  This patch fixes a bug in the computation of lineTop.  For lines
        with positive leading, lineTop was incorrectly including the top leading.  Since the flipping of lines
        for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant
        that those modes were mis-rendering.  This is why the Japanese "lr" text examples have the first line smushed
        too far against the border.
        
        Fixing lineTop to no longer incorrectly include top leading has implications for editing.  I ended up
        rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive
        behavior.  I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom
        instead of lineTop and lineBottom.  I am pretty sure the code used selectionTop in a previous incarnation
        anyway and that I moved away from it when I implemented lineTop and lineBottom.  The code then grew
        more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop
        and selectionBottom is the right behavior I think.  One editing test has been updated after this change
        (editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the
        bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html).
        
        I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used
        for "lr" and "bt" modes instead of the previous box.  This makes sense for English text, but we may want
        a different policy for Japanese text eventually (possibly just splitting the difference instead).  Leaving it
        this way for now, and we can collect feedback on the design.
        
        I rewrote all of the selection gap painting code to be writing-mode aware.  During the course of rewriting this
        code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there
        was a coordinate space mismatch on a comparison.  Fixing this improves the repaint/selection-clear.html test.

        Added new tests in fast/blockflow/.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionBottom):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintCompositionBackground):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        (WebCore::RenderBlock::paintSelection):
        (WebCore::clipOutPositionedObjects):
        (WebCore::blockDirectionOffset):
        (WebCore::inlineDirectionOffset):
        (WebCore::RenderBlock::logicalRectToPhysicalRect):
        (WebCore::RenderBlock::selectionGaps):
        (WebCore::RenderBlock::inlineSelectionGaps):
        (WebCore::RenderBlock::blockSelectionGaps):
        (WebCore::RenderBlock::blockSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionGap):
        (WebCore::RenderBlock::logicalRightSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionOffset):
        (WebCore::RenderBlock::logicalRightSelectionOffset):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::flipForWritingMode):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::logicalBottom):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        (WebCore::RootInlineBox::lineSelectionGap):
        (WebCore::RootInlineBox::selectionTop):
        (WebCore::RootInlineBox::selectionBottom):
        * rendering/RootInlineBox.h:

2010-11-05  Simon Fraser  <simon.fraser@apple.com>

        Just put things back the way they were. Too many mysterious linker errors.

2010-11-05  Simon Fraser  <simon.fraser@apple.com>

        Undo most of the previous commit since the compiler seems to have trouble
        with an inlined operator++ in debug builds.

        * platform/DeprecatedPtrListImpl.cpp:
        (WebCore::DeprecatedPtrListImplIterator::operator++):
        * platform/DeprecatedPtrListImpl.h:

2010-11-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Inline some DeprecatedPtrListImplIterator methods for performance
        https://bugs.webkit.org/show_bug.cgi?id=49124

        This is a ~4% performance improvement on some Peacekeepr "Community" tests.

        * platform/DeprecatedPtrListImpl.cpp:
        * platform/DeprecatedPtrListImpl.h:
        (WebCore::DeprecatedListNode::DeprecatedListNode):
        (WebCore::DeprecatedPtrListImplIterator::current):
        (WebCore::DeprecatedPtrListImplIterator::operator++):

2010-11-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Gray-scale PNGs with color profiles don't decode properly on Chromium Mac
        https://bugs.webkit.org/show_bug.cgi?id=49110

        Applying the color profile from this PNG was causing the image to
        triple in width.  This seems to be because both the PNG decoder and
        CoreGraphics were trying to expand the gray-scale image to RGB.  To fix
        this issue, I've disabled color profile support for gray-scale PNGs.

        Test: fast/images/gray-scale-png-with-color-profile.html

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):

2010-11-05  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash
        https://bugs.webkit.org/show_bug.cgi?id=49116

        The fix is to add the check.

        * page/Frame.cpp:
        (WebCore::Frame::transferChildFrameToNewDocument):

2010-11-04  Enrica Casucci  <enrica@apple.com>

        Reviewed by Adele Peterson.

        Pasting large amounts of plain text in a text area is very slow
        https://bugs.webkit.org/show_bug.cgi?id=49040
        <rdar://problem/7640912>
        
        The optimization consists in skipping the ApplyStyle command when
        pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only.
        The biggest performance hit comes from iterating through
        a large number of paragraph when no style change is needed.
        A further step will be to improve the paragraph iteration when it
        can't be avoided.
        
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Check if the selection
        is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only
        and force no style matching.

2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by David Levin.

        JSCallbackData::invokeCallback triggers layout from a worker thread
        https://bugs.webkit.org/show_bug.cgi?id=49096

        Fixed the bug by only calling updateStyleForAllDocuments when the context is document in
        JSCallbackData::invokeCallback.

        No new tests are added since many of existing workers tests hit the added assertion in debug builds.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally.
        * dom/Document.cpp:
        (WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()).
        (WebCore::Document::updateStyleForAllDocuments): Ditto.
        (WebCore::Document::updateLayout): Ditto.

2010-11-05  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Simon Fraser.

        Querying selection start and end should be const
        https://bugs.webkit.org/show_bug.cgi?id=48786

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selectionStart):
        (WebCore::RenderTextControl::selectionEnd):
        (WebCore::RenderTextControl::visiblePositionForIndex):
        (WebCore::RenderTextControl::indexForVisiblePosition):
        * rendering/RenderTextControl.h:

2010-11-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Move resumeAnimations/suspendAnimations from Frame to AnimationController.
        https://bugs.webkit.org/show_bug.cgi?id=49073

        Changed the name of suspendAnimations/resumeAnimations to
        suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
        longer exported, but have the same functionality as before. I then
        added new suspendAnimations/resumeAnimations function which take
        no params and suspend/resume on the frame owning the animation
        controller and all its child frames. These are the functions that
        are now exported. I then changed all the platform specific WebKit
        code to use these functions.

        * WebCore.exp.in:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::suspendAnimations):
        (WebCore::AnimationControllerPrivate::resumeAnimations):

2010-11-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
        https://bugs.webkit.org/show_bug.cgi?id=49020

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture.
        (WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not.
        (WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete.
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment.
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist.
        (WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8.
        * platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level.

2010-11-05  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Keep a reference to the scrollbar in accessibility scrollbar.
        https://bugs.webkit.org/show_bug.cgi?id=48896

        * accessibility/AccessibilityScrollbar.h:
        (WebCore::AccessibilityScrollbar::scrollbar):

2010-11-05  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        Add support for <select> element in single selection mode. We use space to
        trigger arrow key handling for selection change or spatial navigation.
        https://bugs.webkit.org/show_bug.cgi?id=48937

        * dom/SelectElement.cpp:
        (WebCore::isSpatialNavigationEnabled):
        (WebCore::SelectElement::menuListDefaultEventHandler):
        (WebCore::SelectElement::listBoxDefaultEventHandler):

2010-11-05  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Fisher.

        Need to expose HistoryController::previousItem() for Chromium WebKit API.
        https://bugs.webkit.org/show_bug.cgi?id=48809

        * loader/HistoryController.h:

2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Crash in ApplyStyleCommand::surroundNodeRangeWithElement
        https://bugs.webkit.org/show_bug.cgi?id=48581

        The crash was caused by a false assertion that we can always recover selection in
        ApplyStyleCommand::removeInlineStyle.  Fixed the crash by removing the assertion
        and adding an early exit to the call site.  Also converted raw pointers to RefPtr
        in surroundNodeRangeWithElement and addInlineStyleIfNeeded.

        Test (non-Mac platforms): editing/style/iframe-onload-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/ApplyStyleCommand.h:

2010-11-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=49008
        <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp

        Instance::m_runtimeObject used to be zeroed out by RuntimeObject destructor. But the
        destructor may not be called immediately - GC first marks an object as dead, and only 
        destroys it when its cell is overwritten. So, m_runtimeObject would keep pointing to a dead
        object.

        Functions in JSPluginElementFunctions.cpp put the RuntimeObject on stack for later use,
        but if it's already dead, it can be overwritten before use.

        The solution is of course to use WeakGCPtr, which returns 0 for dead objects.

        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::Instance):
        (JSC::Bindings::Instance::~Instance):
        (JSC::Bindings::Instance::createRuntimeObject):
        (JSC::Bindings::Instance::willDestroyRuntimeObject):
        (JSC::Bindings::Instance::willInvalidateRuntimeObject):
        * bridge/jsc/BridgeJSC.h:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::~RuntimeObject):
        (JSC::Bindings::RuntimeObject::invalidate):

2010-11-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
        https://bugs.webkit.org/show_bug.cgi?id=46945

        Add new funtions to suspend and resume animations. The go through all subframes and suspend or resume them
        recursively.

        Test: animations/stop-animation-on-suspend.html

        * WebCore.exp.in:
        * page/Frame.cpp:
        (WebCore::Frame::suspendAnimations):
        (WebCore::Frame::resumeAnimations):
        * page/Frame.h:

2010-11-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Crash in InspectorDOMAgent::innerParentNode.
        https://bugs.webkit.org/show_bug.cgi?id=49054

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):

2010-11-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: XHR logging in console should give complete view of resource.
        https://bugs.webkit.org/show_bug.cgi?id=48998

        Drive-by fixes: linkify line number to scripts panel, fall back to resources;
        enable multiline console entry on shift modifier as well.
        
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype.refreshResource):
        (WebInspector.NetworkPanel.prototype.canShowSourceLine):
        (WebInspector.NetworkPanel.prototype.showSourceLine):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.show):
        (WebInspector.StoragePanel.prototype.showSourceLine):
        * inspector/front-end/inspector.js:
        (WebInspector.showPanel):
        (WebInspector.linkifyStringAsFragment):

2010-10-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Clean up IDBTransactionBackend/Coordinator
        https://bugs.webkit.org/show_bug.cgi?id=48425

        Get rid of obsolete id and thus we don't need the factory method
        on IDBTransactionCoordinator that creates IDBTransactionBackends.

        Add an assert to IDBTransactionBackend to make sure we're not in
        the coordinator and then remove the coordinators ref counting link
        to the transaction.

        Have the transaction backend zero out refs to the database when its
        done using it.

        Existing tests provide coverage for this refactoring.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::create):
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::commit):
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionBackendInterface.h:
        * storage/IDBTransactionCoordinator.cpp:
        (WebCore::IDBTransactionCoordinator::didStartTransaction):
        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
        (WebCore::IDBTransactionCoordinator::isActive):
        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
        * storage/IDBTransactionCoordinator.h:

2010-10-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        IDBFactoryBackend's reference to IDBDatabaseBackend should be weak
        https://bugs.webkit.org/show_bug.cgi?id=48416

        The factory's lifetime is that of the application, so without making
        this weak, IDBDatabaseBackend's will never be closed until the app
        terminates.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::create):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::removeIDBDatabaseBackend):
        (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h:

2010-10-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        IDBObjectStoreBackend and IDBIndexBackend should not depend on IDBDatabaseBackend
        https://bugs.webkit.org/show_bug.cgi?id=48410

        Break dependency cyles between IDBDatabaseBackend and the other classes listed.
        This was causing memory leaks.

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::updateInternal):
        (WebCore::IDBCursorBackendImpl::removeInternal):
        (WebCore::IDBCursorBackendImpl::database):
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        (WebCore::IDBIndexBackendImpl::storeName):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
        * storage/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::create):

2010-11-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: inspector lags on large resources with numerous <script> tags.
        https://bugs.webkit.org/show_bug.cgi?id=49060

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):

2010-11-05  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Kilzer.

        Replace ARRAYSIZE with WTF_ARRAY_LENGTH
        https://bugs.webkit.org/show_bug.cgi?id=48903

        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString):
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getLastResortFallbackFont):
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFiles):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::getWebLocData):
        * platform/win/ClipboardWin.cpp:
        (WebCore::createGlobalHDropContent):
        (WebCore::createGlobalImageFileDescriptor):
        (WebCore::ClipboardWin::files):
        (WebCore::ClipboardWin::writeURL):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::asFilenames):
        * platform/win/FileSystemWin.cpp:
        (WebCore::safeCreateFile):

2010-11-05  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dirk Schulze.

        Bug 48979 - [Chromium] SVGListPropertyTearOff.h: function commitChange ASSERTs on Win & Mac
        https://bugs.webkit.org/show_bug.cgi?id=48979

        Function removeItemValuesAndWrappers(): Move code out of 'if' statement so that
        'wrappers' and 'values' stay synced.

        test: svg/dom/baseVal-animVal-crash.html doesn't ASSERT

        * svg/properties/SVGListProperty.h:
        (WebCore::SVGListProperty::removeItemValuesAndWrappers):

2010-11-05  John Reck  <jreck@google.com>

        Reviewed by Nikolas Zimmermann.

        The change to SVGPropertyTearOff by CodeGeneratorV8.pm caused two build failures
        for Android. One was a missing SVGPropertyTearOff.h include, the other was a 
        missing forward declaration of FloatRect. Seems to be the result of:
        https://bugs.webkit.org/show_bug.cgi?id=48204

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

        No tests needed, fixes build issue.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-11-05  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by David Hyatt.

        CSSRule#parentRule always null
        https://bugs.webkit.org/show_bug.cgi?id=46228

        Ensure MediaList child rules have the MediaList set as parent
        in order to correct their parentRule correctness.

        Test: fast/dom/css-mediarule-parentRule.html

        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):

2010-11-04  Xan Lopez  <xlopez@igalia.com>

        Fix the GTK+ build.

        * GNUmakefile.am:

2010-10-20  Chang Shu  <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        [Qt] Makes <input type=text> and <textarea> functional with
        Spatial Navigation enabled. Before this patch, the focus cannot
        move away from input box once it is in. This patch allows focus
        move to neighbor nodes when the caret reaches the edge of the texts.
        This patch does not support yet cases where the focused <input>
        has a JS handler for the arrow keys.
        https://bugs.webkit.org/show_bug.cgi?id=37153

        Tests: fast/events/spatial-navigation/snav-input.html
               fast/events/spatial-navigation/snav-textarea.html

        * editing/EditorCommand.cpp:
        (WebCore::executeMoveDown):
        (WebCore::executeMoveLeft):
        (WebCore::executeMoveRight):
        (WebCore::executeMoveUp):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify):

2010-11-04  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * editing/Editor.cpp:
        (WebCore::Editor::dismissCorrectionPanel):

2010-11-04  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        reversion bubble in WebViews
        https://bugs.webkit.org/show_bug.cgi?id=47630
        <rdar://problem/8530960>

        Added manual test:
        manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html
        manual-tests/autocorrection/delete-to-dismiss-reversion.html
        manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
        manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html
        manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html

        We can only manully test this feature for two reasons:
        1. On Mac OS X, the result of spell checking is partly determined by past user usage. We can't
           realiably generating test cases until we can disable user custom data during spell checking.
        2. To exerciese this feature, we need a minimum of 0.3 second delay using WebCore timer.

        This patch is to add reversion to correction panel. It consists of following major code changes:
        1. Collected all autocorrection related member variables in Editor into a CorrectionPanelInfo
           class to improve readability.
        2. Changed signature of Editor::startCorrectionPanelTimer() to allow caller to specify the
           type of correction panel--regular correction or reversion.
        3. Made necessary changes to adopt reversion API in AppKit.
        4. Use SUPPORT_CORRECTION_PANEL macro to improve readability.

        * GNUmakefile.am: Added CorrectionPanelInfo.h.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj:
        * editing/CorrectionPanelInfo.h: Added.
        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection): Start correction panel timer for reversion when
          the new selection is a caret selection at end of a previously corrected word.
        (WebCore::Editor::appliedEditing): Stop timer at the beginning of the method instead of at the end.
        (WebCore::Editor::~Editor): Adopted new method dismissCorrectionPanel().
        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new method applyCorrectionPanelInfo().
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Code change for new m_correctionPanelInfo
          member variable.
        (WebCore::Editor::correctionPanelTimerFired): Change to handle reversion panel type.
        (WebCore::Editor::handleRejectedCorrection): Ditto.
        (WebCore::Editor::startCorrectionPanelTimer): Changed signature to allow passing in panel type.
        (WebCore::Editor::stopCorrectionPanelTimer): Adopted macro SUPPORT_CORRECTION_PANEL.
        (WebCore::Editor::handleCancelOperation): Ditto.
        (WebCore::Editor::isShowingCorrectionPanel): Ditto.
        (WebCore::Editor::dismissCorrectionPanel): Update m_correctionPanelInfo when correction panel
          is dismissed.
        (WebCore::Editor::applyCorrectionPanelInfo): Factored out code that applies autocorrection.
        (WebCore::Editor::changeSelectionAfterCommand): Adopt macro SUPPORT_CORRECTION_PANEL.
        * editing/Editor.h: Adopted CorrectionPanelInfo and add new member methods.
        * editing/EditorCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL
        (WebCore::createCommandMap):
        * editing/TypingCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL and new signature of
          startCorrectionPanelTimer().
        (WebCore::TypingCommand::markMisspellingsAfterTyping):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature of base class method.
        (WebCore::EmptyEditorClient::dismissCorrectionPanel):  Ditto.
        * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Added.
        * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Added.
        * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Added.
        * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Added.
        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Added.
        * page/EditorClient.h: Changed signature of showCorrectionPanel() and dismissCorrectionPanel().
        * platform/graphics/mac/GraphicsContextMac.mm: Added comment to improve readability.
        (WebCore::GraphicsContext::drawLineForTextChecking):

2010-11-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Made table layout and painting work with all writing modes. Hit-testing, repainting, tables
        where some elements have their own layers, and cells whose writing mode differs from the
        table’s are not supported yet.

        Part of: Make tables work with vertical text
        https://bugs.webkit.org/show_bug.cgi?id=46417

        Tests: fast/table/027-vertical.html
               fast/table/028-vertical.html
               fast/table/035-vertical.html
               fast/table/038-vertical.html
               fast/table/040-vertical.html
               fast/table/auto-with-percent-height-vertical.html
               fast/table/border-collapsing/001-vertical.html
               fast/table/border-collapsing/002-vertical.html
               fast/table/border-collapsing/003-vertical.html
               fast/table/border-collapsing/004-vertical.html
               fast/table/border-collapsing/border-collapsing-head-foot-vertical.html
               fast/table/border-collapsing/equal-precedence-resolution-vertical.html
               fast/table/border-collapsing/rtl-border-collapsing-vertical.html
               fast/table/colspanMinWidth-vertical.html
               fast/table/fixed-with-auto-with-colspan-vertical.html
               fast/table/growCellForImageQuirk-vertical.html
               fast/table/height-percent-test-vertical.html
               fast/table/percent-widths-stretch-vertical.html
               fast/table/rowspan-paint-order-vertical.html
               fast/table/table-display-types-vertical.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables,
        make row groups, rows, column groups and columns inherit the table’s writing mode. For now,
        make cells do this too.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd.
        (WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look
        at the logical width instead of the width.
        (WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular
        containing blocks.
        (WebCore::RenderTable::layout): Use logical lengths.
        (WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for
        the renaming of RenderTableSection::setCellWidths().
        (WebCore::RenderTable::paintObject): Account for flipped modes.
        (WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes.
        (WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect().
        (WebCore::RenderTable::paintMask): Ditto.
        (WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of
        recalcHorizontalBorders().
        (WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use
        borderStart(). Splits odd number of pixels based on the physical side.
        (WebCore::RenderTable::calcBorderEnd): Similar.
        (WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this
        and updated for other renames.
        (WebCore::RenderTable::borderBefore): Replaced borderTop() with this.
        (WebCore::RenderTable::borderAfter): Similar.
        (WebCore::RenderTable::outerBorderBefore): Similar.
        (WebCore::RenderTable::outerBorderAfter): Similar.
        (WebCore::RenderTable::outerBorderStart): Similar.
        (WebCore::RenderTable::outerBorderEnd): Similar.
        (WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights.
        (WebCore::RenderTable::overflowClipRect): Account for writing modes.
        * rendering/RenderTable.h:
        (WebCore::RenderTable::borderStart):
        (WebCore::RenderTable::borderEnd):
        (WebCore::RenderTable::borderLeft):
        (WebCore::RenderTable::borderRight):
        (WebCore::RenderTable::borderTop):
        (WebCore::RenderTable::borderBottom):
        (WebCore::RenderTable::outerBorderLeft):
        (WebCore::RenderTable::outerBorderRight):
        (WebCore::RenderTable::outerBorderTop):
        (WebCore::RenderTable::outerBorderBottom):
        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height.
        * rendering/RenderTableSection.cpp:
        (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use
        logical heights.
        (WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables.
        (WebCore::RenderTableSection::addChild): Updated for rename.
        (WebCore::RenderTableSection::ensureRows): Ditto.
        (WebCore::RenderTableSection::addCell): Ditto. Also use logical heights.
        (WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed
        to use logical widths.
        (WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with
        logical heights.
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderBefore):
        (WebCore::RenderTableSection::calcOuterBorderAfter):
        (WebCore::RenderTableSection::calcOuterBorderStart):
        (WebCore::RenderTableSection::calcOuterBorderEnd):
        (WebCore::RenderTableSection::recalcOuterBorder):
        (WebCore::RenderTableSection::firstLineBoxBaseline):
        (WebCore::RenderTableSection::paintCell):
        (WebCore::RenderTableSection::recalcCells):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::outerBorderBefore):
        (WebCore::RenderTableSection::outerBorderAfter):
        (WebCore::RenderTableSection::outerBorderStart):
        (WebCore::RenderTableSection::outerBorderEnd):

2010-11-04  Kent Tamura  <tkent@chromium.org>

        Unreviewed, trivial test fix.

        Fix GTK build for http://trac.webkit.org/changeset/71373 .

        * GNUmakefile.am: Add HTMLOutputElement.{cpp,h}

2010-11-04  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Stale reference to RenderObject held as FrameView layoutRoot
        https://bugs.webkit.org/show_bug.cgi?id=48019
        
        <progress> and <meter> shouldn't have children of its RenderObject,
        which caused unexpected result.
        This change suppresses child creation to prevent it.

        Tests: fast/dom/HTMLMeterElement/meter-element-with-child-crash.html
               fast/dom/HTMLProgressElement/progress-element-with-child-crash.html

        * rendering/RenderIndicator.h:
        (WebCore::RenderIndicator::canHaveChildren):

2010-11-04  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        [HTML5][Forms] Support for <output> element
        https://bugs.webkit.org/show_bug.cgi?id=29363

        Support for <output> element.

        Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
               fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
               fast/dom/HTMLOutputElement/htmloutputelement-validity.html
               fast/dom/HTMLOutputElement/htmloutputelement-value.html
               fast/dom/HTMLOutputElement/htmloutputelement.html

        * Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
        * Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
        * Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
        * Android.mk: Added HTMLOutputElement.cpp.
        * Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
        * CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
        * DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
        * DerivedSources.make: Added HTMLOutputElement entry.
        * GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
        * WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
        * WebCore.pri: Added HTMLOutputElement.idl.
        * WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
        * WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
        * WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
        * bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
        * bindings/js/JSHTMLOutputElementCustom.cpp: Added.
        (WebCore::JSHTMLOutputElement::htmlFor):
        (WebCore::JSHTMLOutputElement::setHtmlFor):
        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
        (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
        * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
        (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
        (WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
        * css/html.css: Added a default style of output element.
        (output):
        * html/DOMSettableTokenList.cpp: Fix bugs.
        (WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
        (WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
        (WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
        * html/HTMLOutputElement.cpp: Added.
        (WebCore::HTMLOutputElement::HTMLOutputElement):
        (WebCore::HTMLOutputElement::create):
        (WebCore::HTMLOutputElement::formControlType):
        (WebCore::HTMLOutputElement::parseMappedAttribute):
        (WebCore::HTMLOutputElement::htmlFor):
        (WebCore::HTMLOutputElement::setFor):
        (WebCore::HTMLOutputElement::setForm):
        (WebCore::HTMLOutputElement::childrenChanged):
        (WebCore::HTMLOutputElement::reset):
        (WebCore::HTMLOutputElement::value):
        (WebCore::HTMLOutputElement::setValue):
        (WebCore::HTMLOutputElement::defaultValue):
        (WebCore::HTMLOutputElement::setDefaultValue):
        (WebCore::HTMLOutputElement::setTextContentInternal):
        * html/HTMLOutputElement.h: Added.
        (WebCore::HTMLOutputElement::isEnumeratable):
        (WebCore::HTMLOutputElement::willValidate):
        * html/HTMLOutputElement.idl: Added.
        * html/HTMLTagNames.in: Added "output".
        * page/DOMWindow.idl: Added an attribute for HTMLOutputElement.

2010-11-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
        https://bugs.webkit.org/show_bug.cgi?id=48938

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::readPixels):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getIntegerv):

2010-11-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        TypedArray should throw exception if length not a multiple of element size
        https://bugs.webkit.org/show_bug.cgi?id=45487

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):

2010-11-04  Kenneth Russell  <kbr@google.com>

        Reviewed by Adam Barth.

        [chromium] Mac: WebGL: all textured content is blue
        https://bugs.webkit.org/show_bug.cgi?id=49021

        Added support for 8-bit, little-endian CGImages. The previous
        image decode path used the default byte order, which is apparently
        big-endian.

        Tested with various WebGL content and layout tests in Chromium.
        Ran layout tests in WebKit and tested various WebGL content in
        Safari. Was not able to run layout tests with Chromium port of
        DumpRenderTree due to build failures currently in the tree.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::doPacking):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::getSourceDataFormat):
        (WebCore::GraphicsContext3D::getImageData):

2010-11-03  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        renderbufferStorage(DEPTH_STENCIL) shouldn't generate an error
        https://bugs.webkit.org/show_bug.cgi?id=48891

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::isIncomplete): Considering the case where DEPTH_STENCIL is not supported.
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
        * html/canvas/WebGLRenderbuffer.h: Add members and accessor functions.
        (WebCore::WebGLRenderbuffer::setInternalFormat): 
        (WebCore::WebGLRenderbuffer::setSize):
        (WebCore::WebGLRenderbuffer::getWidth):
        (WebCore::WebGLRenderbuffer::getHeight):
        (WebCore::WebGLRenderbuffer::setIsValid):
        (WebCore::WebGLRenderbuffer::isValid):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::initializeNewContext): Check if packed_depth_stencil extension exists.
        (WebCore::WebGLRenderingContext::getRenderbufferParameter): Simulate the case for DEPTH_STENCIL where packed_depth_stencil is not supported.
        (WebCore::WebGLRenderingContext::renderbufferStorage): Bypass the call if packed_depth_stencil is not supported.
        * html/canvas/WebGLRenderingContext.h:

2010-11-04  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Adam Barth.

        Web Inspector: Enable files ystem UI for chromium
        https://bugs.webkit.org/show_bug.cgi?id=48963

        * inspector/Inspector.idl:
        * inspector/InspectorFileSystemAgent.cpp:
        (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
        * inspector/InspectorFileSystemAgent.h:
        * inspector/front-end/FileSystemView.js:
        (WebInspector.FileSystemView):
        (WebInspector.FileSystemView.prototype.setFileSystemDisabled):
        (WebInspector.FileSystemView.prototype._createTextAndButton):
        (WebInspector.FileSystemView.prototype.refreshFileSystem):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.setFileSystemDisabled):
        * inspector/front-end/inspector.js:
        (WebInspector.didGetFileSystemDisabled):
        (WebInspector.reset):

2010-11-04  Robert Hogan  <robert@webkit.org>

        Reviewed by Darin Adler.

        Stale reference to JSDOMWindow in ScriptController::m_cacheableBindingObject

        After bug 37725 we need to update the globalObject() (i.e. JSDOMWindow)
        associated with the m_cacheablebindingRootObject every time we clear the
        frame and load a new page. This allows the runtime objects
        (e.g. LayoutTestController etc.) to persist between navigations as
        before but also ensures that when qt_runtime, or any other bridge,
        looks at the root->globalObject() of a cacheable binding object
        it gets the DOMWindow of the current page rather than the DOMWindow
        that was in place when m_cacheableBindingRootObject was created.

        Fixes fast/dom/nodesFromRect-basic.html on Qt.

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

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::clearWindowShell):
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::updateGlobalObject):
        * bridge/runtime_root.h:

2010-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by David Hyatt.

        Delegate scrolling via a separate method
        https://bugs.webkit.org/show_bug.cgi?id=48988

        Add a delegatedScrollRequested method to HostWindow for delegating
        scrolling to the view. This is only used in conjunction with tiling,
        and is ifdef'ed.

        * page/Chrome.cpp:
        (WebCore::Chrome::delegatedScrollRequested):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/HostWindow.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setScrollPosition):

2010-11-04  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Need better way of switching back to the Timeline view of the Network tab.
        https://bugs.webkit.org/show_bug.cgi?id=48995

        - Moved close button to the left, preceding tab headers;
        - Auto-adjusting summary bar width when switching to the preview mode
        - Auto-scrolling network log if it was scrolled to bottom.

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype.isScrolledToLastRow):
        (WebInspector.DataGrid.prototype.scrollToLastRow):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
        (WebInspector.NetworkPanel.prototype.refresh):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        * inspector/front-end/inspector.css:
        (.tabbed-pane-header li):
        * inspector/front-end/networkPanel.css:
        (.network-summary-bar):
        (#network-close-button):
        (#network-views.small #network-close-button):
        (#network-views .resource-view .tabbed-pane-header):
        (#network-views.small .resource-view .tabbed-pane-header):

2010-11-04  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Dimitri Glazkov.

        Support box-sizing without the vendor prefix
        https://bugs.webkit.org/show_bug.cgi?id=36713

        Based on patch by Peter Beverloo <peter@lvp-media.com>

        Test: fast/css/box-sizing-backwards-compat-prefix.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::cssPropertyID): This handles -webkit-box-sizing and maps it to box-sizing.
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/quirks.css: Change -webkit-box-sizing to box-sizing.
        (input:not([type=image]), textarea):
        * css/view-source.css: Ditto.
        (.webkit-line-gutter-backdrop, .webkit-line-number):
        * css/wml.css: Ditto.
        (do):
        (select):

2010-11-04  John Reck  <jreck@google.com>

        Reviewed by Steve Block.

        Fix a linker failure when building for Android
        https://bugs.webkit.org/show_bug.cgi?id=48964
        
        The Android stub for setCookieStoragePrivateBrowsingEnabled(bool) wasn't in the WebCore namespace, which caused
        a linker failure when building for Android. Moved the stub to the WebCore namespace. This was caused by 
        http://trac.webkit.org/changeset/70400
        
        No new tests, build fix only

        * platform/android/TemporaryLinkStubs.cpp:

2010-11-04  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Andreas Kling.

        Request.h getters can be made const
        https://bugs.webkit.org/show_bug.cgi?id=49003

        Added the const qualifier to some getters that don't mutate the object.

        * loader/Request.h:
        (WebCore::Request::cachedResource):
        (WebCore::Request::cachedResourceLoader):
        (WebCore::Request::isIncremental):
        (WebCore::Request::isMultipart):

2010-11-03  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Brady Eidson.

        User scripts shouldn't be injected in a frame's empty initial document.
        https://bugs.webkit.org/show_bug.cgi?id=48970
        <rdar://problem/8618164>
        <rdar://problem/8082122>
        
        When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
        current policy with user scripts is to inject them into both the initial empty document, and then inject
        them again.
        
        This causes developers to think their scripts have been injected twice into all iframes, and there is a timing
        issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
        of the main frame when a new tab or window is created.
        
        The fix for this is to not inject user scripts when the frame is creating its initial empty document before loading
        the correct source.

        * page/Frame.cpp:
        (WebCore::Frame::injectUserScripts):

2010-11-04  Andreas Kling  <kling@webkit.org>

        Reviewed by Nikolas Zimmermann.

        GraphicsContext: Don't do full save/restore when painting with low quality scaling
        https://bugs.webkit.org/show_bug.cgi?id=48738

        Stash the imageInterpolationQuality() in a local and reset it after painting.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        (WebCore::GraphicsContext::drawImageBuffer):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::imageInterpolationQuality):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::imageInterpolationQuality):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::imageInterpolationQuality):

2010-11-04  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        Refactor SVGStringListPropertyTearOff/SVGListPropertyTearOff to use a common base class
        https://bugs.webkit.org/show_bug.cgi?id=48990

        Introduce SVGListProperty as common base class between static lists (SVGStringListPropertyTearOff) and dynamic lists (SVGListPropertyTearOff).
        This is a preparation for the addition of the next static list type: SVGPointList.

        * GNUmakefile.am: Add new files to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: s/SVGStringListPropertyTearOff/SVGStaticListPropertyTearOff/.
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/properties/SVGAnimatedListPropertyTearOff.h: Include SVGStaticListPropertyTearOff.h here, to avoid special dependencies in CodeGenerator*.pm
        * svg/properties/SVGListProperty.h: Added.
        * svg/properties/SVGListPropertyTearOff.h: Use SVGList API implementation from SVGListProperty base class.
        * svg/properties/SVGStaticListPropertyTearOff.h: Added. Use SVGList API implementation from SVGListProperty base class.
        * svg/properties/SVGStringListPropertyTearOff.h: Removed.

2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed. Fixed WebCore.xcodeproject

        * WebCore.xcodeproj/project.pbxproj:

2010-11-04  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Darin Adler.

        Should make use of purge priorities for different resource types
        https://bugs.webkit.org/show_bug.cgi?id=48684

        Assign purge priorities to CachedResource objects. JavaScript and CSS stylesheets are more
        important than images so hint to the kernel to purge them last. We do this by repurposing
        the previously unused function, PurgeableBuffer::setPurgePriority(). It now just sets the
        priority field and does not have side-effects like calling makePurgeable(true).

        Also, remove unusued PurgeableBuffer::create(const Vector<char>&) function and move the
        purgeable memory size threshold from CachedResource to PurgeableBuffer.

        * WebCore.xcodeproj/project.pbxproj: Add new PurgePriority.h header and mark it as private
        header.
        * loader/CachedCSSStyleSheet.h:
        (WebCore::CachedCSSStyleSheet::purgePriority):
        * loader/CachedImage.h:
        (WebCore::CachedImage::purgePriority):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::makePurgeable): Set the purge priority on the PurgeableBffer.
        Also, move the check for purgeable size threshold to PurgeableBuffer.
        * loader/CachedResource.h:
        (WebCore::CachedResource::purgePriority): Added. New virtual method that lets the class
        specify its purge priority.
        * loader/CachedScript.h:
        (WebCore::CachedScript::purgePriority):
        * platform/PurgePriority.h: Added. Move the PurgePriority enum from PurgeableBuffer class to
        its own header file.
        (WebCore::):
        * platform/PurgeableBuffer.h:
        (WebCore::PurgeableBuffer::setPurgePriority): Update this previously unused function to just
        set the priority and not call makePurgeable(true).
        * platform/mac/PurgeableBufferMac.cpp: Update size threshold to 16KB which is what
        CachedResource was using.

2010-11-04  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Ignore static text children of text field controls in the accessibility tree.
        https://bugs.webkit.org/show_bug.cgi?id=48944

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

2010-11-04  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Tony Chang.

        Computed style is not correct for negative values in the presence of zooming
        https://bugs.webkit.org/show_bug.cgi?id=48855

        * rendering/style/RenderStyle.h:
        (WebCore::adjustForAbsoluteZoom): When the value is less than zero we need to decrement instead of increment.

2010-11-04  Shane Stephens  <shanestephens@google.com>

        Reviewed by Tony Chang.

        SVGStyledTransformableElement supplemental transforms pre-multiplied
        but should be post-multiplied.
        https://bugs.webkit.org/show_bug.cgi?id=48026

        Test: svg/animations/animate-path-nested-transforms.svg

        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
        
        Switched order of multiplication.  Note that due to a bug in
        AffineTransform's operator* implementation the order of arguments is
        reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).

2010-11-04  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Implement dom* timing marks
        https://bugs.webkit.org/show_bug.cgi?id=46301

        Test: fast/dom/webtiming-document-open.html

        * GNUmakefile.am: Added DocumentTiming.h
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/Document.cpp:
        (WebCore::Document::setReadyState): Set DOM WebTiming marks.
        (WebCore::Document::finishedParsing): Set DOM WebTiming marks.
        * dom/Document.h:
        (WebCore::Document::timing): Added.
        * dom/DocumentTiming.h: Added.
        (WebCore::DocumentTiming::DocumentTiming):
        * page/Timing.cpp: Added DOM timing.
        (WebCore::Timing::domLoading): Ditto.
        (WebCore::Timing::domInteractive): Ditto.
        (WebCore::Timing::domContentLoaded): Ditto.
        (WebCore::Timing::domComplete): Ditto.
        (WebCore::Timing::documentTiming): Ditto.
        * page/Timing.h: Ditto.
        * page/Timing.idl: Ditto.

2010-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Implement unencodable characters handling in TextCodecGtk::encode()
        https://bugs.webkit.org/show_bug.cgi?id=48902

        Fixes a crash in test fast/encoding/char-encoding.html.

        * platform/text/gtk/TextCodecGtk.cpp:
        (WebCore::TextCodecGtk::encode):

2010-11-04  Adam Barth  <abarth@webkit.org>

        Enabled ICCJPEG on Chromium Mac
        https://bugs.webkit.org/show_bug.cgi?id=48977

        Add iccjpeg as a dependency.

        * WebCore.gyp/WebCore.gyp:

2010-11-03  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Framework to show form validation message for invalid controls
        https://bugs.webkit.org/show_bug.cgi?id=31718

        HTMLFormElement::validateInteractively() shows a validation message for
        an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
        and the message is hidden when the invalid control looses focus, becomes
        valid, detached, or the form is submitted again.

        Introduce ValidationMessage class to manage visible form validation
        message. It has no implementation to show/hide a message yet.

        No new tests. New behavior is disabled by default, and is timing-dependent.

        * Android.mk: Add ValidationMessage.
        * CMakeLists.txt: ditto.
        * GNUmakefile.am: ditto.
        * WebCore.gypi: ditto.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::detach): Hides a validation message.
        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
           Hides a validation message if validation is not needed.
        (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
        (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
        (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
          Hides a validation message or updates the validation message.
        (WebCore::HTMLFormControlElement::dispatchBlurEvent):
          Hides a validation message.
        (WebCore::HTMLFormControlElement::visibleValidationMessage):
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
         - Hide existing validation messages before showing new message.
         - Show new validation message.
        * html/ValidationMessage.cpp: Added.
        (WebCore::ValidationMessage::ValidationMessage):
        (WebCore::ValidationMessage::~ValidationMessage):
        (WebCore::ValidationMessage::create):
        (WebCore::ValidationMessage::setMessage):
        (WebCore::ValidationMessage::hideMessage):
        * html/ValidationMessage.h: Added.
        (WebCore::ValidationMessage::message):

2010-11-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Port WCDataObject.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48921

        OleDuplicateData is not supported on WinCE.

        * platform/win/WCDataObject.cpp:
        (WebCore::WCDataObject::CopyMedium):

2010-11-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Port ClipboardWin.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48412

        * platform/win/ClipboardWin.cpp:
        (WebCore::writeFileToDataObject):

2010-11-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Port ClipboardWin.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48412

        * platform/win/ClipboardWin.cpp:
        (WebCore::filesystemPathFromUrlOrTitle):
        (WebCore::createGlobalHDropContent):
        (WebCore::ClipboardWin::files):

2010-11-03  Vincent Scheib  <scheib@chromium.org>

        Reviewed by James Robinson.

        [chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
        https://bugs.webkit.org/show_bug.cgi?id=48850

        Implementations of GraphicsContext3D may respect the creation attribute
        canRecoverFromContextLoss being false, and then only succeeding initialization if
        the context can satisfy that request of never being lost. DX9 on XP can not satisfy
        such a request.

        Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.

        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::Attributes::Attributes):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):

2010-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Use sentence boundaries instead of start/end sentence
        https://bugs.webkit.org/show_bug.cgi?id=48422

        Using sentence boundaries all intersentence
        whitespace/control/format characters are assigned to a
        sentence. This is what ICU does, so we have to do the same in
        order to get the same results with glib unicode backend. It fixes
        the sentence tests cases in test fast/dom/Range/range-expand.html.

        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        (WebCore::textBreakNext):
        (WebCore::textBreakPrevious):

2010-11-03  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        depthRange should generate INVALID_OPERATION if zNear is greater than zFar
        https://bugs.webkit.org/show_bug.cgi?id=48676

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::depthRange):

2010-11-03  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        Properly return empty strings instead of null when using invalid
        objects for some WebGL calls.  This fixes issues caused by r71274.
        https://bugs.webkit.org/show_bug.cgi?id=48962

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderSource):

2010-11-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Crash in ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle
        https://bugs.webkit.org/show_bug.cgi?id=48581

        The crash was caused by RemoveNodePreservingChildrenCommand's calling removeNode
        on m_node without checking that m_node has a parent and it's still in the document.
        Fixed the crash by adding an early exit in CompositeEditCommand::removeNode and
        deploying RefPtr in several places of ApplyStyleCommand.cpp.

        Test: editing/style/iframe-onload-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
        * editing/ApplyStyleCommand.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeNode):

2010-11-03  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        Crashes in WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair() when deleting multiple lines of text.
        https://bugs.webkit.org/show_bug.cgi?id=48918
        <rdar://problem/8620602>

        I haven't been able to found a reliable way to reproduce the bug. However, whenever it happens,
        the crash is caused by a null node pointer returned by TextIterator. So it seems to be a 
        safe fix to guard against that. 

        * editing/Editor.cpp: (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):

2010-11-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        A different mask or reference value in stencil operations should generate INVALID_OPERATION
        https://bugs.webkit.org/show_bug.cgi?id=48669

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init stencil func ref/mask and stencil mask to default.
        (WebCore::WebGLRenderingContext::stencilFunc): Cache ref/mask value.
        (WebCore::WebGLRenderingContext::stencilFuncSeparate): Generate error if front/back values differ.
        (WebCore::WebGLRenderingContext::stencilMask): Cache mask value.
        (WebCore::WebGLRenderingContext::stencilMaskSeparate): Generate error if front/back values differ.
        (WebCore::WebGLRenderingContext::validateFace): Validate face parameter.
        (WebCore::WebGLRenderingContext::validateStencilFunc): Validate stencil func parameter.
        * html/canvas/WebGLRenderingContext.h: Add members to track stencil func ref/mask and stencil mask.

2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
        https://bugs.webkit.org/show_bug.cgi?id=46015

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::notifyChildInserted):
        * dom/DOMAllInOne.cpp:
        * dom/EventContext.cpp: Removed.
        * dom/EventContext.h: Removed.
        * dom/Node.cpp:
        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
        (WebCore::Node::createRendererIfNeeded):
        (WebCore::Node::eventParentNode):
        (WebCore::Node::enclosingLinkEventParentOrSelf):
        (WebCore::eventTargetAsSVGElementInstance):
        (WebCore::eventTargetRespectingSVGTargetRules):
        (WebCore::Node::eventAncestors):
        (WebCore::Node::dispatchGenericEvent):
        * dom/Node.h:
        * dom/Text.cpp:
        (WebCore::Text::createRenderer):
        * dom/WindowEventContext.cpp: Removed.
        * dom/WindowEventContext.h: Removed.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::eventHasListeners):
        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::willDispatchEvent):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateMouseEventTargetNode):
        * rendering/ShadowElement.h:
        (WebCore::ShadowElement::shadowParent):
        (WebCore::ShadowElement::shadowParentNode):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::eventParentNode):
        * svg/SVGElement.h:

2010-11-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CG use of WebKit image decoders crashes on some animated GIFs
        https://bugs.webkit.org/show_bug.cgi?id=48955

        It turns out CFDataGetMutableBytePtr isn't safe call on a null pointer.

        Test: fast/images/dont-crash-with-null-gif-frames.html

        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::RGBA32Buffer::copyReferenceToBitmapData):
        (WebCore::RGBA32Buffer::copyBitmapData):

2010-11-03  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        Implement lost, restored, and creation failure context events for
        WebGLRenderingContext.  The lost and restored functions are not hooked
        up yet, but the context now acts according to the spec as it should
        during a lost context.  Tested manually, as there's no programmatic
        way to lose a context yet.
        https://bugs.webkit.org/show_bug.cgi?id=35626

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        * dom/EventNames.h:
        * html/canvas/WebGLContextEvent.cpp: Added.
        (WebCore::WebGLContextEvent::WebGLContextEvent):
        (WebCore::WebGLContextEvent::~WebGLContextEvent):
        (WebCore::WebGLContextEvent::initEvent):
        * html/canvas/WebGLContextEvent.h: Added.
        (WebCore::WebGLContextEvent::create):
        (WebCore::WebGLContextEvent::statusMessage):
        * html/canvas/WebGLContextEvent.idl: Added.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::activeTexture):
        (WebCore::WebGLRenderingContext::attachShader):
        (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::compileShader):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::createBuffer):
        (WebCore::WebGLRenderingContext::createFramebuffer):
        (WebCore::WebGLRenderingContext::createTexture):
        (WebCore::WebGLRenderingContext::createProgram):
        (WebCore::WebGLRenderingContext::createRenderbuffer):
        (WebCore::WebGLRenderingContext::createShader):
        (WebCore::WebGLRenderingContext::cullFace):
        (WebCore::WebGLRenderingContext::deleteBuffer):
        (WebCore::WebGLRenderingContext::deleteFramebuffer):
        (WebCore::WebGLRenderingContext::deleteProgram):
        (WebCore::WebGLRenderingContext::deleteRenderbuffer):
        (WebCore::WebGLRenderingContext::deleteShader):
        (WebCore::WebGLRenderingContext::deleteTexture):
        (WebCore::WebGLRenderingContext::depthFunc):
        (WebCore::WebGLRenderingContext::depthMask):
        (WebCore::WebGLRenderingContext::depthRange):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
        (WebCore::WebGLRenderingContext::finish):
        (WebCore::WebGLRenderingContext::flush):
        (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::getContextAttributes):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderSource):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isBuffer):
        (WebCore::WebGLRenderingContext::isContextLost):
        (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::releaseShaderCompiler):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::sampleCoverage):
        (WebCore::WebGLRenderingContext::scissor):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::stencilFunc):
        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
        (WebCore::WebGLRenderingContext::stencilMask):
        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
        (WebCore::WebGLRenderingContext::stencilOp):
        (WebCore::WebGLRenderingContext::stencilOpSeparate):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texParameter):
        (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::useProgram):
        (WebCore::WebGLRenderingContext::validateProgram):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        (WebCore::WebGLRenderingContext::viewport):
        (WebCore::WebGLRenderingContext::loseContext):
        (WebCore::WebGLRenderingContext::restoreContext):
        (WebCore::WebGLRenderingContext::addObject):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/GraphicsContext3D.h:

2010-11-03  Kenneth Russell  <kbr@google.com>

        Reviewed by Chris Marrin.

        Redesign extension mechanism in GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=46894

        Upon request, factored out extension support from GraphicsContext3D
        into a new Extensions3D class. (The plural was chosen because the
        class and subclasses hold multiple extensions.)

        Unlike GraphicsContext3D, Extensions3D contains only pure virtual
        methods. This was done because Extensions3D's inheritance diagram
        and usage pattern is very different from that of GraphicsContext3D,
        and the concrete subclasses need to decide how to implement the
        various entry points. Requiring them to be placed at the
        Extensions3D level will cause implementation details to leak into
        the base class, which is highly undesirable. Any virtual call
        overhead to these entry points will be negligible.

        Changed call sites utilizing these extensions to call through the
        Extensions3D object or its subclasses.

        Tested:
         - Chromium on Linux with accelerated 2D canvas and HTML5 video
         - Chromium on Mac OS X with WebGL and CSS 3D content
         - Safari on Mac OS X with WebGL and CSS 3D content

        No new tests. Covered by existing tests.

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/Extensions3D.h: Added.
        (WebCore::Extensions3D::~Extensions3D):
        * platform/graphics/GraphicsContext3D.cpp:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/chromium/Extensions3DChromium.h: Added.
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateTexture):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::supportsBGRA):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::convertFormat):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added.
        (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
        (WebCore::Extensions3DOpenGL::~Extensions3DOpenGL):
        (WebCore::Extensions3DOpenGL::supports):
        (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
        * platform/graphics/opengl/Extensions3DOpenGL.h: Added.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getExtensions):
        * platform/graphics/qt/Extensions3DQt.cpp: Added.
        (WebCore::Extensions3DQt::Extensions3DQt):
        (WebCore::Extensions3DQt::~Extensions3DQt):
        (WebCore::Extensions3DQt::supports):
        (WebCore::Extensions3DQt::getGraphicsResetStatusARB):
        * platform/graphics/qt/Extensions3DQt.h: Added.
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getExtensions):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):

2010-11-03  Mike Thole  <mthole@apple.com>

        Reviewed by Darin Adler.
        
        Tweak coding style (follow-up to r71264).
        
        * platform/mac/Language.mm:
        (WebCore::createHTTPStyleLanguageCode): Style tweaks.

2010-11-03  Darin Adler  <darin@apple.com>

        Updated Xcode projects by opening them with Xcode 3.2.4.
        Updated svn:ignore for Xcode projects.

        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added property svn:ignore.
        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.

2010-11-03  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        Fix canvas/philip/tests/2d.pattern.image.undefined.html
        https://bugs.webkit.org/show_bug.cgi?id=48894

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Changed error thrown to match the spec.

2010-11-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan.

        Crash when setting context font to bad value
        https://bugs.webkit.org/show_bug.cgi?id=48948
        
        Null-check the CSSValue passed to CSSStyleSelector::applyPropertyToStyle(),
        since it may be null if the style declaration does not contain a value
        for the 'font' property.

        Test: fast/canvas/invalid-set-font-crash.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyPropertyToStyle):

2010-11-03  Mike Thole  <mthole@apple.com>

        Reviewed by Alexey Proskuryakov.

        Crash under WebCore::platformDefaultLanguage() when using Arabic language
        https://bugs.webkit.org/show_bug.cgi?id=48946

        * platform/mac/Language.mm:
        (WebCore::createHTTPStyleLanguageCode):
        Retain the lowercaseLanguageCode string before returning it.  This was the code path that
        would lead to a crash.  Also removed early return to prevent a leak of preferredLanguageCode.

2010-11-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Made table column width allocation algorithms use logical widths.

        Part of: Make tables work with vertical text
        https://bugs.webkit.org/show_bug.cgi?id=46417

        No new tests since tables don’t support different block flows yet.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::AutoTableLayout):
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
        (WebCore::AutoTableLayout::insertSpanCell):
        (WebCore::AutoTableLayout::layout):
        * rendering/AutoTableLayout.h:
        (WebCore::AutoTableLayout::Layout::Layout):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
        (WebCore::FixedTableLayout::layout):
        * rendering/FixedTableLayout.h:
        * rendering/RenderTable.h:
        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Renamed, but not changed yet.

2010-11-03  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Unreviewed build fix for r71253

        #endif for TILED_BACKING_STORE was at the wrong place.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):

2010-11-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=48945
        
        Patch logicalLeftSelectionOffset and logicalRightSelectionOffset to be directionally abstract.
        
        Also make sure writing mode roots are also selection painting roots.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelectionRoot):
        (WebCore::RenderBlock::logicalLeftSelectionOffset):
        (WebCore::RenderBlock::logicalRightSelectionOffset):
        * rendering/RenderBlock.h:

2010-11-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: main resource is being re-assigned upon iframe's commit load.
        https://bugs.webkit.org/show_bug.cgi?id=48940

        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):

2010-11-03  Nate Chapin  <japhet@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Wait to stop all loads for a frame being detached until after its
        chidlren have been detached. This ensures that any loads started
        by a child's unload event handler will be properly cancelled.
        https://bugs.webkit.org/show_bug.cgi?id=46579

        Tests: fast/loader/ping-error.html
               http/tests/navigation/image-load-in-subframe-unload-handler.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::detachFromParent):

2010-11-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Simon Fraser.

        Web Inspector: show proper image size for cached resources.
        https://bugs.webkit.org/show_bug.cgi?id=48915

        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
        (WebInspector.ImageView.prototype.contentTabSelected):
        (WebInspector.ImageView.prototype._base64ToSize):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set finished):
        (WebInspector.Resource.prototype.get content):
        (WebInspector.Resource.prototype.requestContent):
        (WebInspector.Resource.prototype._innerRequestContent):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.requestContent):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):

2010-11-03  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayer: support tiling
        https://bugs.webkit.org/show_bug.cgi?id=39691

        Add support for TiledBackingStore in GraphicsLayerQt, when a layer is too large.

        No new tests. Tests in LayoutTests/compositing/tiling now work with OpenGL enabled.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
        (WebCore::GraphicsLayerQtImpl::recache):
        (WebCore::GraphicsLayerQtImpl::paint):
        (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintBegin):
        (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaint):
        (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintEnd):
        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreContentsRect):
        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreVisibleRect):

2010-11-03  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        Undo r54932 which inappropriately adjusts font sizes on zoomed pages
        https://bugs.webkit.org/show_bug.cgi?id=48890

        Test: editing/inserting/page-zoom-font-size.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):

2010-11-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Make collapsed borders in tables work with different block flows
        https://bugs.webkit.org/show_bug.cgi?id=46191

        No new tests since tables don’t support different block flows yet.

        This change still doesn’t support cells whose block flow differs from the table’s.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
        (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
        changed to use logical widths.
        (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
        (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
        to set the logical width.
        (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
        Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow
        the two to differ.
        (WebCore::RenderTableCell::collapsedEndBorder): Similar.
        (WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
        (WebCore::RenderTableCell::collapsedAfterBorder): Similar.
        (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
        the table’s block flow.
        (WebCore::RenderTableCell::collapsedRightBorder): Similar.
        (WebCore::RenderTableCell::collapsedTopBorder): Similar.
        (WebCore::RenderTableCell::collapsedBottomBorder): Similar.
        (WebCore::RenderTableCell::borderStart): Use borderHalfStart().
        (WebCore::RenderTableCell::borderEnd): Similar.
        (WebCore::RenderTableCell::borderBefore): Similar.
        (WebCore::RenderTableCell::borderAfter): Similar.
        (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
        table’s block flow.
        (WebCore::RenderTableCell::borderHalfRight): Similar.
        (WebCore::RenderTableCell::borderHalfTop): Similar.
        (WebCore::RenderTableCell::borderHalfBottom): Similar.
        (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
        widths based on physical side.
        (WebCore::RenderTableCell::borderHalfEnd): Similar.
        (WebCore::RenderTableCell::borderHalfBefore): Similar.
        (WebCore::RenderTableCell::borderHalfAfter): Similar.
        (WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
        (WebCore::RenderTableCell::paintCollapsedBorder): Updated.
        * rendering/RenderTableCell.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::borderBefore): Added.
        (WebCore::RenderStyle::borderAfter): Added.
        (WebCore::RenderStyle::borderStart): Added.
        (WebCore::RenderStyle::borderEnd): Adeed.
        * rendering/style/RenderStyle.h:

2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Fix Win build correctly after r71244 and r71248

        * WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
        * dom/DOMAllInOne.cpp: Added files to build into a combined file.

2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Fix Qt, Win builds after r71244.

        * WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
        * dom/Text.cpp:
        (WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.

2010-11-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=48928
        
        Rename all the selection gap functions to not be directionally specific.  Left and Right turn into LogicalLeft and
        LogicalRight.  Horizontal becomes Line.  Vertical becomes Block.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        (WebCore::RenderBlock::paintSelection):
        (WebCore::RenderBlock::fillSelectionGaps):
        (WebCore::RenderBlock::fillInlineSelectionGaps):
        (WebCore::RenderBlock::fillBlockSelectionGaps):
        (WebCore::RenderBlock::fillLineSelectionGap):
        (WebCore::RenderBlock::fillBlockSelectionGap):
        (WebCore::RenderBlock::fillLogicalLeftSelectionGap):
        (WebCore::RenderBlock::fillLogicalRightSelectionGap):
        (WebCore::RenderBlock::getSelectionGapInfo):
        (WebCore::RenderBlock::logicalLeftSelectionOffset):
        (WebCore::RenderBlock::logicalRightSelectionOffset):
        * rendering/RenderBlock.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::fillLineSelectionGap):

2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
        https://bugs.webkit.org/show_bug.cgi?id=46015

        This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
        for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.

        This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
        appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.

        * Android.mk: Added EventContext, WindowEventContext files.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * dom/ContainerNode.cpp:
        (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
        * dom/EventContext.cpp: Added.
        * dom/EventContext.h: Added.
        * dom/Node.cpp:
        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
        (WebCore::Node::createRendererIfNeeded): Ditto.
        (WebCore::Node::parentOrHostNode): Added new helper method.
        (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
        (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
        (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
        (WebCore::Node::topEventContext): Added.
        (WebCore::eventHasListeners): Changed to use EventContexts.
        (WebCore::Node::dispatchGenericEvent): Ditto.
        * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
            and changed signature of eventAncestors to use EventContexts.
        * dom/Text.cpp:
        (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
        * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
        is deleted.
        * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
        * svg/SVGElement.h: Ditto.
        * dom/WindowEventContext.cpp: Added.
        * dom/WindowEventContext.h: Added.

2010-11-02  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Fix console messages about starting and finishing profiling.

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

        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):

2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        chrome.dll!WebCore::SVGLength::SVGLength ...
        https://bugs.webkit.org/show_bug.cgi?id=48831

        Test: svg/dom/baseVal-animVal-crash.html

        * svg/properties/SVGListPropertyTearOff.h:
        (WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
        (WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
        (WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
        (WebCore::SVGListPropertyTearOff::appendItem): Ditto.
        (WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
        * svg/properties/SVGPropertyTearOff.h:
        (WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.

2010-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        Make it possible to delegate scrolling to the UI
        https://bugs.webkit.org/show_bug.cgi?id=48907

        Add a WebCore setting for delegating scrolling to the actual
        WebKit view, which means that setScrollPosition will call
        scrollContents directly without going though the scrollbar
        code.

        * page/FrameView.cpp:
        (WebCore::FrameView::delegatesScrolling):
        * page/FrameView.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setShouldDelegateScrolling):
        * page/Settings.h:
        (WebCore::Settings::shouldDelegateScrolling):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setScrollPosition):
        * platform/ScrollView.h:
        (WebCore::ScrollView::delegatesScrolling):

2010-11-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Add SharedBitmap
        https://bugs.webkit.org/show_bug.cgi?id=28272

        SharedBitmap is a helper class used as NativeImagePtr for WinCE.
        It's wide used by WinCE graphics files as a replacement of HBITMAP.

        Originally written by Yong Li <yong.li@torchmobile.com>.

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::TransparentLayerDC::TransparentLayerDC):
        (WebCore::TransparentLayerDC::~TransparentLayerDC):
        (WebCore::ScopeDCProvider::ScopeDCProvider):
        (WebCore::ScopeDCProvider::~ScopeDCProvider):
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wince/SharedBitmap.cpp: Added.
        (WebCore::SharedBitmap::create):
        (WebCore::SharedBitmap::SharedBitmap):
        (WebCore::SharedBitmap::~SharedBitmap):
        (WebCore::SharedBitmap::resetPixels):
        (WebCore::convert32To16):
        (WebCore::SharedBitmap::to16bit):
        (WebCore::SharedBitmap::freeMemory):
        (WebCore::SharedBitmap::createHandle):
        (WebCore::SharedBitmap::ensureHandle):
        (WebCore::SharedBitmap::draw):
        (WebCore::SharedBitmap::clipBitmap):
        (WebCore::drawPatternSimple):
        (WebCore::normalizePhase):
        (WebCore::SharedBitmap::drawPattern):
        (WebCore::SharedBitmap::DCProvider::getDC):
        (WebCore::SharedBitmap::DCProvider::releaseDC):
        (WebCore::SharedBitmap::clearPixels):
        * platform/graphics/wince/SharedBitmap.h: Added.
        (WebCore::DCProvider::getDC):
        (WebCore::DCProvider::releaseDC):
        (WebCore::DCProvider::DCHolder::DCHolder):
        (WebCore::DCProvider::DCHolder::~DCHolder):
        (WebCore::DCProvider::DCHolder::set):
        (WebCore::DCProvider::DCHolder::get):
        (WebCore::DCProvider::DCHolder::clearInternal):
        (WebCore::DCProvider::DCHolder::setInternal):

2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
        https://bugs.webkit.org/show_bug.cgi?id=48829

        Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
        When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
        as the wrapper cache was out of sync with the underlying SVG*List vector.

        Test: svg/dom/baseVal-animVal-list-crash.html

        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedListPropertyTearOff::animVal):
        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
        (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
        (WebCore::SVGAnimatedListPropertyTearOff::values):
        (WebCore::SVGAnimatedListPropertyTearOff::wrappers):
        (WebCore::SVGAnimatedListPropertyTearOff::create):
        (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
        * svg/properties/SVGListPropertyTearOff.h:
        (WebCore::SVGListPropertyTearOff::create):
        (WebCore::SVGListPropertyTearOff::removeItemFromList):
        (WebCore::SVGListPropertyTearOff::clear):
        (WebCore::SVGListPropertyTearOff::numberOfItems):
        (WebCore::SVGListPropertyTearOff::initialize):
        (WebCore::SVGListPropertyTearOff::getItem):
        (WebCore::SVGListPropertyTearOff::insertItemBefore):
        (WebCore::SVGListPropertyTearOff::replaceItem):
        (WebCore::SVGListPropertyTearOff::removeItem):
        (WebCore::SVGListPropertyTearOff::appendItem):
        (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
        (WebCore::SVGListPropertyTearOff::commitChange):

2010-11-02  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Remove obsolete code.
        It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
        Network Panel is showing the markers only after reloading the inspected page.
        https://bugs.webkit.org/show_bug.cgi?id=48854

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
        (WebCore::InspectorController::mainResourceFiredLoadEvent):
        * inspector/InspectorController.h:

2010-11-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Jeremy Orlow.

        Web Inspector: brush up breakpoints UI and UX.
        https://bugs.webkit.org/show_bug.cgi?id=48901

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
        (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
        (WebInspector.BreakpointItem):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/inspector.css:
        (.monospace):
        (body.platform-mac.platform-mac-snowleopard .source-code):
        (body.platform-windows .monospace, body.platform-windows .source-code):
        (body.platform-linux .monospace, body.platform-linux .source-code):
        (.source-code):
        (.section .header):
        (.section .header::before):
        (.section .header .title, .event-bar .header .title):
        (.section .header .subtitle, .event-bar .header .subtitle):
        (.section.expanded .properties, .event-bar.expanded .event-properties):
        (.event-listener-breakpoints .event-category):
        (.event-listener-breakpoints.properties-tree .children li):
        (.event-listener-breakpoints .checkbox-elem):
        (.event-bar):
        (.event-bars .event-bar .header .title):
        (.event-bars .event-bar .header::before):
        (.pane > .body .info):
        (.pane > .body .placard + .info):
        (ol.breakpoint-list):
        (.breakpoint-list li):
        (.pane .breakpoint-hit):
        (.cursor-pointer):
        (.cursor-auto):

2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48898

        Fix Chromium/V8 build for real, verified using a local ToT Chromium build.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48898

        Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.

        * bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.

2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48898

        Attempt to fix the Chromium/V8 builds.

        * bindings/scripts/CodeGeneratorV8.pm: Add missing "SVGStringListPropertyTearOff.h" include, also replaces some commas by semicolons (no idea why it worked before, Perl is not strict...)

2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48898

        Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
        SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
        That means myStringList.getItem(0) = 'foobar' doesn't take effect.

        When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
        That demanded a new SVGStringListPropertyTearOff which does just that.

        Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
               svg/dom/SVGStringList.html

        * GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
        * bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAElement.cpp: Renamed target to svgTarget() to avoid clashes with Element::target(), adjust the bindings to call svgTarget() instead of target(), when processing SVGAElement.
        (WebCore::SVGAElement::parseMappedAttribute):
        (WebCore::SVGAElement::synchronizeProperty):
        * svg/SVGAElement.h:
        * svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
        * svg/SVGAnimatedString.h: Added.
        * svg/SVGCursorElement.h: Ditto.
        * svg/SVGFEBlendElement.h: Ditto.
        * svg/SVGFEColorMatrixElement.h: Ditto.
        * svg/SVGFEComponentTransferElement.h: Ditto.
        * svg/SVGFECompositeElement.h: Ditto.
        * svg/SVGFEConvolveMatrixElement.h: Ditto.
        * svg/SVGFEDiffuseLightingElement.h: Ditto.
        * svg/SVGFEDisplacementMapElement.h: Ditto.
        * svg/SVGFEGaussianBlurElement.h: Ditto.
        * svg/SVGFEImageElement.h: Ditto.
        * svg/SVGFEMergeNodeElement.h: Ditto.
        * svg/SVGFEMorphologyElement.h: Ditto.
        * svg/SVGFEOffsetElement.h: Ditto.
        * svg/SVGFESpecularLightingElement.h: Ditto.
        * svg/SVGFETileElement.h: Ditto.
        * svg/SVGFilterElement.h: Ditto.
        * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
        * svg/SVGForeignObjectElement.h: Ditto.
        * svg/SVGGradientElement.h: Ditto.
        * svg/SVGImageElement.h: Ditto. 
        * svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
        * svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
        * svg/SVGPatternElement.h: Ditto.
        * svg/SVGScriptElement.h: Ditto.
        * svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
        (WebCore::SVGStringList::commitChange): React to SVGStringList changes.
        (WebCore::SVGStringList::reset):
        (WebCore::SVGStringList::parse):
        * svg/SVGStringList.h:
        (WebCore::SVGStringList::SVGStringList):
        * svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
        * svg/SVGTRefElement.h: Ditto.
        * svg/SVGTests.cpp: Adapt to SVGStringList API changes.
        (WebCore::SVGTests::SVGTests):
        (WebCore::SVGTests::hasExtension):
        (WebCore::SVGTests::isValid):
        (WebCore::SVGTests::parseMappedAttribute):
        (WebCore::SVGTests::isKnownAttribute):
        * svg/SVGTests.h: Ditto.
        (WebCore::SVGTests::requiredFeatures):
        (WebCore::SVGTests::requiredExtensions):
        (WebCore::SVGTests::systemLanguage):
        * svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
        * svg/SVGURIReference.h: Adapt to SVGStringList API changes.
        (WebCore::SVGURIReference::~SVGURIReference):
        * svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
        * svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
        (WebCore::SVGViewElement::SVGViewElement):
        (WebCore::SVGViewElement::parseMappedAttribute):
        * svg/SVGViewElement.h: Ditto.
        (WebCore::SVGViewElement::viewTarget):
        * svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
        * svg/properties/SVGAnimatedPropertySynchronizer.h: 
        * svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
        * svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
        (WebCore::SVGStringListPropertyTearOff::create):
        (WebCore::SVGStringListPropertyTearOff::clear):
        (WebCore::SVGStringListPropertyTearOff::numberOfItems):
        (WebCore::SVGStringListPropertyTearOff::initialize):
        (WebCore::SVGStringListPropertyTearOff::getItem):
        (WebCore::SVGStringListPropertyTearOff::insertItemBefore):
        (WebCore::SVGStringListPropertyTearOff::replaceItem):
        (WebCore::SVGStringListPropertyTearOff::removeItem):
        (WebCore::SVGStringListPropertyTearOff::appendItem):
        (WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):

2010-11-03  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        SVG FELighting performance issues
        https://bugs.webkit.org/show_bug.cgi?id=48212

        This patch speeds-up FELighting filter painting by 40%
        It reduces the number of floating point operations and
        empolys faster pixel manipulation (both for read and
        write). Furthermore the length() member of FloatPoint3D
        is made inline to speed up vector length calculations.

        The lighting filter pixels tests are cover this patch.

        * platform/graphics/FloatPoint3D.cpp:
        * platform/graphics/FloatPoint3D.h:
        (WebCore::FloatPoint3D::length):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::LightingData::topLeft):
        (WebCore::FELighting::LightingData::topRow):
        (WebCore::FELighting::LightingData::topRight):
        (WebCore::FELighting::LightingData::leftColumn):
        (WebCore::FELighting::LightingData::interior):
        (WebCore::FELighting::LightingData::rightColumn):
        (WebCore::FELighting::LightingData::bottomLeft):
        (WebCore::FELighting::LightingData::bottomRow):
        (WebCore::FELighting::LightingData::bottomRight):
        (WebCore::FELighting::inlineSetPixel):
        (WebCore::FELighting::setPixel):
        (WebCore::FELighting::drawLighting):
        (WebCore::FELighting::apply):
        * platform/graphics/filters/FELighting.h:
        * platform/graphics/filters/LightSource.cpp:
        (WebCore::PointLightSource::updatePaintingData):
        (WebCore::SpotLightSource::updatePaintingData):
        (WebCore::DistantLightSource::initPaintingData):
        * platform/graphics/filters/LightSource.h:

2010-11-03  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        For unnamed frames, window.name returns a generated name
        https://bugs.webkit.org/show_bug.cgi?id=6751

        Part 2 of 2.

        Fixes an issue where the window.name of an unnamed frame returns
        a unique generated name that is used internally to identify the
        frame. Instead, we should return an empty string as implied by
        section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
        This section describes that a browsing context can have no name or be
        the empty string.

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
        frame name since this is valid as per the HTML5 spec.
        (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
        since the loader code no longer depends on the frame name being unique.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::name): Modified to call FrameTree::name().
        * page/FrameTree.cpp:
        (WebCore::FrameTree::setName):
        (WebCore::FrameTree::clearName):
        * page/FrameTree.h:
        (WebCore::FrameTree::name): Re-added; returns the DOM-specified name of the
        frame. Previously, this method returned the internal frame name.

2010-11-03  takano takumi  <takano1@asia.apple.com>

        Reviewed by Dan Bernstein.

        Add text-combine property to our property list. Reflect the setting to a RenderStyle object.
        https://bugs.webkit.org/show_bug.cgi?id=48608

        Test: fast/text/international/text-combine-parser-test.html

        * css/CSSComputedStyleDeclaration.cpp: Added text-combine property support.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp: Added text-combine property support.
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h: Added a primitive value mapper for text-combine
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator TextCombine):
        * css/CSSPropertyNames.in: Added "text-combine".
        * css/CSSStyleSelector.cpp: Added text-combine property support.
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in: Added values for text-combine.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Added check of text-combine value.
        * rendering/style/RenderStyle.h: Added accessors for text-combine.
        (WebCore::InheritedFlags::textCombine):
        (WebCore::InheritedFlags::setTextCombine):
        (WebCore::InheritedFlags::initialTextCombine):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareNonInheritedData.cpp: Added text-combine property support.
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h: Added text-combine entry for RenderStyle object here.

2010-11-02  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        For unnamed frames, window.name returns a generated name
        https://bugs.webkit.org/show_bug.cgi?id=6751

        Part 1 of 2.

        Towards fixing bug #6751, rename FrameTree::name() to FrameTree::uniqueName(),
        which is more descriptive of its purpose. A follow up patch will re-add
        FrameTree::name() which will return the DOM-specified name of the frame.

        We will also take this opportunity to verify that we have found all the
        call sites of FrameTree::name().

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
        (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::saveDocumentState): Ditto.
        (WebCore::HistoryController::restoreDocumentState): Ditto.
        (WebCore::HistoryController::createItem): Ditto.
        (WebCore::HistoryController::currentFramesMatchItem): Ditto.
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::progressStarted): Ditto.
        (WebCore::ProgressTracker::progressCompleted): Ditto.
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create): Ditto.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::name): Ditto.
        * page/FrameTree.cpp:
        (WebCore::FrameTree::setName): Ditto.
        (WebCore::FrameTree::clearName): Ditto.
        (WebCore::FrameTree::uniqueChildName): Ditto.
        (WebCore::FrameTree::child): Ditto.
        (WebCore::FrameTree::find): Ditto.
        * page/FrameTree.h:
        (WebCore::FrameTree::uniqueName): Renamed (formerly FrameTree::name()).

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Add AudioProcessingEvent files
        https://bugs.webkit.org/show_bug.cgi?id=48884

        No new tests since audio API is not yet implemented.

        * webaudio/AudioProcessingEvent.cpp: Added.
        (WebCore::AudioProcessingEvent::create):
        (WebCore::AudioProcessingEvent::AudioProcessingEvent):
        (WebCore::AudioProcessingEvent::~AudioProcessingEvent):
        (WebCore::AudioProcessingEvent::isAudioProcessingEvent):
        * webaudio/AudioProcessingEvent.h: Added.
        (WebCore::AudioProcessingEvent::inputBuffer):
        (WebCore::AudioProcessingEvent::outputBuffer):
        * webaudio/AudioProcessingEvent.idl: Added.

2010-11-02  Al Patrick  <apatrick@chromium.org>

        Reviewed by Kenneth Russell.

        Added PluginLayerChromium, which composites plugin instances that have an associated OpenGL backing texture.

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

        * WebCore.gypi:
        * loader/SubframeLoader.cpp
        (WebCore::SubframeLoader::loadPlugin):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::pluginLayerSharedValues):
        * platform/graphics/chromium/PluginLayerChromium.cpp: Added.
        (WebCore::PluginLayerChromium::SharedValues::SharedValues):
        (WebCore::PluginLayerChromium::SharedValues::~SharedValues):
        (WebCore::PluginLayerChromium::create):
        (WebCore::PluginLayerChromium::PluginLayerChromium):
        (WebCore::PluginLayerChromium::updateContents):
        (WebCore::PluginLayerChromium::draw):
        * platform/graphics/chromium/PluginLayerChromium.h: Added.
        (WebCore::PluginLayerChromium::drawsContent):
        (WebCore::PluginLayerChromium::setTextureId):
        (WebCore::PluginLayerChromium::SharedValues::shaderProgram):
        (WebCore::PluginLayerChromium::SharedValues::shaderSamplerLocation):
        (WebCore::PluginLayerChromium::SharedValues::shaderMatrixLocation):
        (WebCore::PluginLayerChromium::SharedValues::shaderAlphaLocation):
        (WebCore::PluginLayerChromium::SharedValues::initialized):

2010-11-02  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        mathml in html sometimes incorrectly parsed
        https://bugs.webkit.org/show_bug.cgi?id=48105

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag): Fixed to match HTML5 spec.

2010-11-02  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Dmitry Titov.

        Null check obj in AXObjectCache::postPlatformNotification.
        https://bugs.webkit.org/show_bug.cgi?id=48896

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):

2010-11-02  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Dumitru Daniliuc.

        [FileSystem] Support not creating directories when queried by inspector.
        https://bugs.webkit.org/show_bug.cgi?id=48169

        * fileapi/LocalFileSystem.cpp:
        (WebCore::openFileSystem):
        (WebCore::LocalFileSystem::readFileSystem):
        (WebCore::LocalFileSystem::requestFileSystem):
        * fileapi/LocalFileSystem.h:
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/AsyncFileSystem.h:

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioBufferSourceNode files
        https://bugs.webkit.org/show_bug.cgi?id=48012

        No new tests since audio API is not yet implemented.

        * webaudio/AudioBufferSourceNode.cpp: Added.
        (WebCore::AudioBufferSourceNode::create):
        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
        (WebCore::AudioBufferSourceNode::~AudioBufferSourceNode):
        (WebCore::AudioBufferSourceNode::process):
        (WebCore::AudioBufferSourceNode::provideInput):
        (WebCore::AudioBufferSourceNode::readFromBuffer):
        (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
        (WebCore::AudioBufferSourceNode::reset):
        (WebCore::AudioBufferSourceNode::setBuffer):
        (WebCore::AudioBufferSourceNode::numberOfChannels):
        (WebCore::AudioBufferSourceNode::noteOn):
        (WebCore::AudioBufferSourceNode::noteGrainOn):
        (WebCore::AudioBufferSourceNode::noteOff):
        (WebCore::AudioBufferSourceNode::totalPitchRate):
        * webaudio/AudioBufferSourceNode.h: Added.
        (WebCore::AudioBufferSourceNode::buffer):
        (WebCore::AudioBufferSourceNode::looping):
        (WebCore::AudioBufferSourceNode::setLooping):
        (WebCore::AudioBufferSourceNode::gain):
        (WebCore::AudioBufferSourceNode::playbackRate):
        (WebCore::AudioBufferSourceNode::setPannerNode):
        * webaudio/AudioBufferSourceNode.idl: Added.

2010-11-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Adam Barth.

        [Cairo] Remove PlatformRefPtrCairo
        https://bugs.webkit.org/show_bug.cgi?id=48192

        Replace PlatformRefPtrCairo with a RefPtr specialization for Cairo and
        Fontconfig types. This is the first step toward removing PlatformRefPtr,
        whose job is better handled by RefPtr.

        * CMakeListsEfl.txt: Update the sources list to include RefPtrCairo
        instead of PlatformRefPtrCairo.
        * GNUmakefile.am: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * platform/graphics/GraphicsContext.h: Replace PlatformRefPtrCairo with
        RefPtrCairo.
        * platform/graphics/cairo/CairoUtilities.cpp: Ditto.
        (WebCore::drawPatternToCairoContext): Ditto.
        * platform/graphics/cairo/FontCacheFreeType.cpp: Ditto.
        (WebCore::FontCache::getFontDataForCharacters): Ditto.
        (WebCore::FontCache::createFontPlatformData): Ditto.
        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Ditto.
        (WebCore::FontPlatformData::FontPlatformData): Ditto.
        (WebCore::FontPlatformData::initializeWithFontFace): Ditto.
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Ditto.
        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
        * platform/graphics/cairo/RefPtrCairo.cpp: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp.
        (WTF::refIfNotNull): Added.
        (WTF::derefIfNotNull): Added.
        * platform/graphics/cairo/RefPtrCairo.h: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.h.
        * platform/gtk/CursorGtk.cpp: Replace PlatformRefPtrCairo with
        RefPtrCairo.
        (WebCore::createNamedCursor): Ditto.
        * platform/gtk/DragImageGtk.cpp: Ditto.
        (WebCore::scaleDragImage): Ditto.
        (WebCore::dissolveDragImageToFraction): Ditto.
        * plugins/gtk/PluginViewGtk.cpp: Ditto.
        (WebCore::PluginView::paint): Ditto.

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Simple followup changes to files affected by AudioNodeInput thread safety
        https://bugs.webkit.org/show_bug.cgi?id=48661

        No new tests since audio API is not yet implemented.

        * webaudio/AudioBasicProcessorNode.cpp:
        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
        * webaudio/AudioChannelSplitter.cpp:
        (WebCore::AudioChannelSplitter::process):
        * webaudio/AudioDestinationNode.cpp:
        (WebCore::AudioDestinationNode::initialize):
        (WebCore::AudioDestinationNode::uninitialize):
        (WebCore::AudioDestinationNode::provideInput):
        * webaudio/AudioGainNode.cpp:
        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
        * webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):

2010-11-02  Chris Guillory  <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Chromium: Propagate a document value changed notification on scroll.
        https://bugs.webkit.org/show_bug.cgi?id=48817

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isAccessibilityScrollbar):
        * accessibility/AccessibilityScrollbar.h:
        (WebCore::AccessibilityScrollbar::scrollbar):
        (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add ConvolverNode files
        https://bugs.webkit.org/show_bug.cgi?id=47941

        No new tests since audio API is not yet implemented.

        * webaudio/ConvolverNode.cpp: Added.
        (WebCore::ConvolverNode::ConvolverNode):
        (WebCore::ConvolverNode::~ConvolverNode):
        (WebCore::ConvolverNode::process):
        (WebCore::ConvolverNode::reset):
        (WebCore::ConvolverNode::initialize):
        (WebCore::ConvolverNode::uninitialize):
        (WebCore::ConvolverNode::setBuffer):
        (WebCore::ConvolverNode::buffer):
        * webaudio/ConvolverNode.h: Added.
        (WebCore::ConvolverNode::create):
        * webaudio/ConvolverNode.idl: Added.

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add RealtimeAnalyser files
        https://bugs.webkit.org/show_bug.cgi?id=48810

        No new tests since audio API is not yet implemented.

        * webaudio/RealtimeAnalyser.cpp: Added.
        (WebCore::RealtimeAnalyser::RealtimeAnalyser):
        (WebCore::RealtimeAnalyser::~RealtimeAnalyser):
        (WebCore::RealtimeAnalyser::reset):
        (WebCore::RealtimeAnalyser::setFftSize):
        (WebCore::RealtimeAnalyser::writeInput):
        (WebCore::RealtimeAnalyser::doFFTAnalysis):
        (WebCore::RealtimeAnalyser::getFloatFrequencyData):
        (WebCore::RealtimeAnalyser::getByteFrequencyData):
        (WebCore::RealtimeAnalyser::getByteTimeDomainData):
        * webaudio/RealtimeAnalyser.h: Added.
        (WebCore::RealtimeAnalyser::fftSize):
        (WebCore::RealtimeAnalyser::frequencyBinCount):
        (WebCore::RealtimeAnalyser::setMinDecibels):
        (WebCore::RealtimeAnalyser::minDecibels):
        (WebCore::RealtimeAnalyser::setMaxDecibels):
        (WebCore::RealtimeAnalyser::maxDecibels):
        (WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
        (WebCore::RealtimeAnalyser::smoothingTimeConstant):
        (WebCore::RealtimeAnalyser::magnitudeBuffer):

2010-11-02  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Kent Tamura.

        Avoid overlapping label text in autofill popup with icon.
        Updates the menu width computation to take the icon width into account.
        https://bugs.webkit.org/show_bug.cgi?id=48497

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::layout):

2010-10-28  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Perform framebuffer attachment checking upon draw call rather than attachment
        https://bugs.webkit.org/show_bug.cgi?id=46318

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::getInternalFormat): Helper function to get an attachment's internal format.
        (WebCore::isUninitialized): Helper function to decide if an attachment is initialized or not.
        (WebCore::setInitialized): Helper funtion to set an attachment as being initialized.
        (WebCore::WebGLFramebuffer::setAttachment): No longer perform buffer initialization at this point.
        (WebCore::WebGLFramebuffer::removeAttachment): Ditto.
        (WebCore::WebGLFramebuffer::getColorBufferFormat): Make it const.
        (WebCore::WebGLFramebuffer::isIncomplete): Attachments conflict check.
        (WebCore::WebGLFramebuffer::onAccess): Check atatchment conflicts and buffer initialization if necessary.
        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Return a boolean whether the framebuffer is complete or not.
        * html/canvas/WebGLFramebuffer.h: Add new function declaration and remove some outdated functions.
        (WebCore::WebGLFramebuffer::isColorAttached):
        (WebCore::WebGLFramebuffer::isDepthAttached): Make this private.
        (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
        (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
        * html/canvas/WebGLRenderbuffer.h:
        (WebCore::WebGLRenderbuffer::setInternalFormat): Also set the renderbuffer as uninitialized.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindFramebuffer): No longer perform framebuffer initialization at this point.
        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check WebGL specific attachment conflicts.
        (WebCore::WebGLRenderingContext::clear): Call WebGLFramebuffer::onAccess.
        (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): No longer perform framebuffer initialization at this point.
        (WebCore::WebGLRenderingContext::readPixels): Call WebGLFramebuffer::onAccess.
        (WebCore::WebGLRenderingContext::renderbufferStorage): No longer perform framebuffer initialization at this point.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.

2010-11-01  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        blendFunc should generate INVALID_OPERATION if constant color and constant alpha are together as source and destination factors
        https://bugs.webkit.org/show_bug.cgi?id=48674

        Test: fast/canvas/webgl/webgl-specific.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::blendFunc):
        (WebCore::WebGLRenderingContext::blendFuncSeparate):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::validateBlendFuncFactors): Helper function to do the checking.

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

        Reviewed by Dan Bernstein.

        Overlapped nested iframes show smearing when scrolled
        https://bugs.webkit.org/show_bug.cgi?id=48873

        A FrameView goes into slow scrolling mode (not blitting) when told that it is
        overlapped. However, a nested iframe could still try to use fast scrolling
        when its parent is overlapped, which could result in bad rendering.
        
        Fixed by making useSlowRepaints() and useSlowRepaintsIfNotOverlapped()
        walk up their parent chain, asking if their parents also use slow
        repaints.
        
        All the places that call setCanBlitOnScroll() now call
        updateCanBlitOnScrollRecursively() to ensure that the canBlitOnScroll
        flag is updated correctly on subframes.
        
        Repaint tests do not work on nested iframes, so added manual test.

        * manual-tests/frames/nested-iframe-blit-on-scroll.html: Added.
        * manual-tests/frames/resources/blit-on-scroll-subframe.html: Added.
        * manual-tests/frames/resources/blit-on-scroll-subsubframe.html: Added.
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::useSlowRepaints):
        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
        (WebCore::FrameView::updateCanBlitOnScrollRecursively):
        (WebCore::FrameView::setUseSlowRepaints):
        (WebCore::FrameView::addSlowRepaintObject):
        (WebCore::FrameView::removeSlowRepaintObject):
        (WebCore::FrameView::addFixedObject):
        (WebCore::FrameView::removeFixedObject):
        (WebCore::FrameView::setIsOverlapped):
        (WebCore::FrameView::setContentIsOpaque):
        * page/FrameView.h:

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

        Reviewed by Dan Bernstein.

        Iframes nested inside a compositing layer don't repaint correctly
        https://bugs.webkit.org/show_bug.cgi?id=48880
        <rdar://problem/8194698>
        
        The isEnclosedInCompositingLayer() is used to modify the behavior of
        -[WebClipView visibleRect:] in WebKit, so that scrolling-related repaints
        are correct in composited iframes. Previously it only asked whether the
        frame's renderer was in a compositing layer, but we actually need to
        consult all ancestors.
        
        Test: compositing/iframes/nested-iframe-scrolling.html

        * page/FrameView.cpp:
        (WebCore::FrameView::isEnclosedInCompositingLayer):

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=48672
        
        Make vertical glyph offset hit testing work with inline boxes.  This allows selection to paint
        properly for vertical text (although gap-filling is still broken).
        
        Refactored and cleaned up the writing mode flipping functions, and also did some cleanup to
        better share code between hit testing and painting.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::locationIncludingFlipping):
        (WebCore::InlineBox::flipForWritingMode):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::nodeAtPoint):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::textPos):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::flipForWritingMode):
        (WebCore::RenderBox::locationOffsetIncludingFlipping):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::rangeIntersectsRect):
        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):

2010-11-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        JPEG decoders should understand color profiles
        https://bugs.webkit.org/show_bug.cgi?id=48819

        This patch is currently a no-op because no one defines USE(ICCJPEG).
        We'll enable this for Chromium Mac once we have ICCJPEG landed in
        Chromium's third_party directory.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::readColorProfile):
        (WebCore::JPEGImageReader::JPEGImageReader):
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        (WebCore::JPEGImageDecoder::setColorProfile):

2010-11-02  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] Crash when encountering history.back() call during Page::goToItem execution
        https://bugs.webkit.org/show_bug.cgi?id=48477
        
        For the Chromium port, BackForwardList::itemAtIndex synthesizes a 
        HistoryItem and saves a pointer to it in m_pendingItem. During 
        Page::goToItem we call FrameLoader::stopAllLoaders, which can trigger
        onload handlers (if a subframe was not considered committed by the frame
        loader). If one of those handlers calls calls history.back() or another
        operation that ends up in NavigationScheduler::scheduleHistoryNavigation,
        we would call BackForwardList::itemAtIndex, which means that we would 
        lose the m_pendingItem RefPtr that pointed to the item being navigated 
        to, causing its ref count to go to 0*, and thus for the HistoryItem to
        be deleted before we were done navigating to it.
        
        This is fixed in two ways:
        - Add a protector RefPtr in Page::goToItem to make sure that the item is
          still around for when we pass it to HistoryController:goToItem.
        - Change NavigationScheduler::scheduleHistoryNavigation to not use
          BackForwardList::itemAtIndex and instead look at the
          forward/backListCount() (since it doesn't actually care about the
          returned HistoryItem).
        
        * Full annotated stack trace of this is at http://crbug.com/59554#c9.        

        Test: http/tests/history/back-during-onload-triggered-by-back.html

        * loader/NavigationScheduler.cpp:
        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
        * page/Page.cpp:
        (WebCore::Page::goToItem):

2010-10-28  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Update getUniform for bvec[234] to return boolean[] rather than Uint8Array
        https://bugs.webkit.org/show_bug.cgi?id=47568

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform):

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add RealtimeAnalyserNode files
        https://bugs.webkit.org/show_bug.cgi?id=48798

        No new tests since audio API is not yet implemented.

        * webaudio/RealtimeAnalyserNode.cpp: Added.
        (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
        (WebCore::RealtimeAnalyserNode::~RealtimeAnalyserNode):
        (WebCore::RealtimeAnalyserNode::process):
        (WebCore::RealtimeAnalyserNode::pullInputs):
        (WebCore::RealtimeAnalyserNode::reset):
        * webaudio/RealtimeAnalyserNode.h: Added.
        (WebCore::RealtimeAnalyserNode::create):
        (WebCore::RealtimeAnalyserNode::fftSize):
        (WebCore::RealtimeAnalyserNode::setFftSize):
        (WebCore::RealtimeAnalyserNode::frequencyBinCount):
        (WebCore::RealtimeAnalyserNode::setMinDecibels):
        (WebCore::RealtimeAnalyserNode::minDecibels):
        (WebCore::RealtimeAnalyserNode::setMaxDecibels):
        (WebCore::RealtimeAnalyserNode::maxDecibels):
        (WebCore::RealtimeAnalyserNode::setSmoothingTimeConstant):
        (WebCore::RealtimeAnalyserNode::smoothingTimeConstant):
        (WebCore::RealtimeAnalyserNode::getFloatFrequencyData):
        (WebCore::RealtimeAnalyserNode::getByteFrequencyData):
        (WebCore::RealtimeAnalyserNode::getByteTimeDomainData):
        * webaudio/RealtimeAnalyserNode.idl: Added.

2010-11-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r71152.
        http://trac.webkit.org/changeset/71152
        https://bugs.webkit.org/show_bug.cgi?id=48866

        Causes lots and lots of crashes (Requested by jamesr_ on
        #webkit).

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::JPEGImageReader):
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:

2010-11-02  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Timothy Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=48813
        <rdar://problem/8602552> REGRESSION (r63622): DNS prefetching for <link> tags doesn't work
        in non-HTTP documents

        Cannot test DNS prefetching.

        * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): We should be looking at
        preferences, not at whether this document has prefetching enabled.

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: Web Inspector: follow up to r71139. Fixed Mac monospace
        height style.

        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/inspector.css:

2010-11-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        JPEG decoders should understand color profiles
        https://bugs.webkit.org/show_bug.cgi?id=48819

        This patch is currently a no-op because no one defines USE(ICCJPEG).
        We'll enable this for Chromium Mac once we have ICCJPEG landed in
        Chromium's third_party directory.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::readColorProfile):
        (WebCore::JPEGImageReader::JPEGImageReader):
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        (WebCore::JPEGImageDecoder::setColorProfile):

2010-11-02  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Simon Fraser.

        Marks selectionStart() and selectionEnd() as const.
        https://bugs.webkit.org/show_bug.cgi?id=48786

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::selectionStart):
        (WebCore::HTMLTextFormControlElement::selectionEnd):
        * html/HTMLFormControlElement.h:

2010-11-02  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix license for audio files
        https://bugs.webkit.org/show_bug.cgi?id=48859

        * webaudio/AudioChannelSplitter.cpp:
        * webaudio/AudioChannelSplitter.h:
        * webaudio/AudioDestinationNode.cpp:
        * webaudio/AudioDestinationNode.h:
        * webaudio/AudioGainNode.cpp:
        * webaudio/AudioGainNode.h:
        * webaudio/AudioPannerNode.cpp:
        * webaudio/AudioPannerNode.h:
        * webaudio/AudioPannerNode.idl:

2010-11-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        Remove special handling of HashTableDeletedValue in PlatformRefPtr and manually manage memory that cannot be controlled by HashTraits
        https://bugs.webkit.org/show_bug.cgi?id=48841

        Switch to manually managing the memory in FontPlatformDataFreeType. This
        is necessary because smart pointers do not know how to deal with a pointer
        value of -1 (HashTableDeletedValue) and HashTraits can only manage the type
        contained in the HashMap. 

        No new tests as this should not change functionality.

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::~FontPlatformData):
        (WebCore::FontPlatformData::operator==):
        (WebCore::FontPlatformData::initializeWithFontFace):
        * platform/graphics/cairo/FontPlatformDataFreeType.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::scaledFont):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::isHashTableDeletedValue):
        (WebCore::FontPlatformData::hashTableDeletedFontValue):
        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
        (WebCore::GlyphPage::fill):
        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::platformWidthForGlyph):

2010-11-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        querySelectorAll('body>:last-child') does not work unless HTML file ends with 'new-line'.
        https://bugs.webkit.org/show_bug.cgi?id=47166

        We need to pop all the open elements when we end the document in the
        AfterAfterBody state.

        Test: fast/parser/pop-all-after-after-body.html

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-11-02  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Cleanup createGlobalImageFileDescriptor in ClipboardWin
        https://bugs.webkit.org/show_bug.cgi?id=48189

        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::writeURL):

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: display frame names in the resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=48839

        * inspector/Inspector.idl:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::frameId):
        (WebCore::buildObjectForDocumentLoader):
        (WebCore::buildObjectForFrame):
        (WebCore::buildObjectForFrameTree):
        (WebCore::InspectorResourceAgent::didCommitLoad):
        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
        (WebCore::InspectorResourceAgent::frameForId):
        (WebCore::InspectorResourceAgent::resourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceManager.prototype._processCachedResources):
        (WebInspector.ResourceManager.prototype._addFramesRecursively):
        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
        (WebInspector.BaseStorageTreeElement.prototype.get titleText):
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.onattach):
        (WebInspector.FrameTreeElement.prototype.get nameForSorting):
        (WebInspector.FrameTreeElement.prototype.setTitles):
        (WebInspector.FrameTreeElement.prototype.set hovered):
        * inspector/front-end/inspector.css:
        (li.selected .base-storage-tree-element-subtitle):
        (.base-storage-tree-element-subtitle):

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Follow up to r71139: removing unused images.
        https://bugs.webkit.org/show_bug.cgi?id=48827

        * WebCore.gypi:
        * inspector/front-end/Images/grayConnectorPoint.png: Removed.
        * inspector/front-end/Images/whiteConnectorPoint.png: Removed.
        * inspector/front-end/WebKit.qrc:

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: make properties and event listeners look consistent with the styles section.
        https://bugs.webkit.org/show_bug.cgi?id=48827

        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/inspector.css:
        (.events-pane .section:not(:nth-of-type(1))):
        (.event-bar:first-child):
        (.section .header):
        (.section .header::before):
        (.section.expanded .header::before):
        (.section .header .title, .event-bar .header .title):
        (.section .header .subtitle, .event-bar .header .subtitle):
        (.section.expanded .properties, .event-bar.expanded .event-properties):
        (.properties-tree):
        (.event-bar):
        (.event-bars .event-bar .header):
        (.event-bars .event-bar .header .title):
        (.event-bars .event-bar .header::before):

2010-11-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Remove unused methods and member variables from AutoTableLayout.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::AutoTableLayout): Removed initialization of m_percentagesDirty
        and m_totalPercent.
        (WebCore::AutoTableLayout::fullRecalc): Removed setting of m_percentagesDirty.
        (WebCore::AutoTableLayout::calcPercentages): Removed.
        * rendering/AutoTableLayout.h: Removed totalPercent(), m_percentagesDirty, and m_totalPercent.

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: clear / hide timing information for cached resources.
        https://bugs.webkit.org/show_bug.cgi?id=48848

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set cached):
        (WebInspector.Resource.prototype.get timing):
        (WebInspector.Resource.prototype.set timing):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.markResourceAsCached):

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: improve network's 'preview close' usability.
        https://bugs.webkit.org/show_bug.cgi?id=48846

        * inspector/front-end/networkPanel.css:
        (#network-close-button:hover):
        (#network-close-button:active):

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Image heights are displayed as 0.
        https://bugs.webkit.org/show_bug.cgi?id=40817

        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype.contentTabSelected):
        (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):

 2010-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap] [Qt] Texture mapper initial implementation
        https://bugs.webkit.org/show_bug.cgi?id=47070

        Some refactor for texmap to enable WebKit2: remove globals, and allow TextureMapper to exist without a GraphicsContext.
        This will allow rendering the TextureMapperNode tree without an active QPainter, into the current GL context.
        Most of the changes simply move the globas in TextureMapperGL into members of that class.

        No new tests. Old tests in LayoutTests/compositing cover this.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TextureMapperGLData::ShaderInfo::getUniformLocation):
        (WebCore::TextureMapperGLData::ShaderInfo::createShaderProgram):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
        (WebCore::TextureMapperGLData::TextureMapperGLData):
        (WebCore::TextureMapperGL::TextureMapperGL):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::setContentsToImage):
        (WebCore::BitmapTextureGL::destroy):
        (WebCore::TextureMapperGL::~TextureMapperGL):
        (WebCore::TextureMapperGL::makeContextCurrent):
        (WebCore::TextureMapperGL::obtainCurrentContext):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapperGL::paintToTarget):
        (WebCore::TextureMapperGL::createTexture):
        * platform/graphics/opengl/TextureMapperGL.h:
        (WebCore::TextureMapperGL::data):
        * platform/graphics/qt/TextureMapperQt.cpp:
        (WebCore::TextureMapperQt::TextureMapperQt):
        (WebCore::TextureMapperQt::setGraphicsContext):
        (WebCore::TextureMapper::create):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::TextureMapperNode::paint):
        (WebCore::TextureMapperNode::uploadTextureFromContent):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::setGraphicsContext):
        (WebCore::TextureMapper::setImageInterpolationQuality):
        (WebCore::TextureMapper::setTextDrawingMode):
        (WebCore::TextureMapper::imageInterpolationQuality):
        (WebCore::TextureMapper::textDrawingMode):
        (WebCore::TextureMapper::TextureMapper):
        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
        (WebCore::TextureMapperContentLayer::paint):

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

        Reviewed by Kent Tamura.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=48814
        <rdar://problem/8546143> Attempting to redo typing in apple.com/startpage search field causes infinite recursion in TextControlInnerTextElement::defaultEventHandler

        Test: editing/undo/redo-after-detach.html

        * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerTextElement::defaultEventHandler):
        A TextControlInnerTextElement will almost always have a shadowAncestorNode, the HTMLInputElement.  In this case, 
        after the renderer was destroyed, this shadow node was kept alive by the EditCommand, even though its not hooked up 
        anymore to the shadow DOM.  EditCommands can sometimes operate on stale selections and are expected to fail silently.  
        So here we prevent the infinite loop during event dispatch, and the rest of the redo operation will fail silently.

2010-11-02  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        When animations are paused, play-state can cause them to be unpaused.
        https://bugs.webkit.org/show_bug.cgi?id=46525

        I Changed updatePlayState() to only unpause when both play-state is 
        "running" and not suspended. Likewise I pause animation when either
        play-state is "paused" or suspended.

        Test: animations/play-state-suspend.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::updatePlayState):

2010-11-02  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

        Make RenderStyle::playState() return typed value and cleanup naming in Animation code
        https://bugs.webkit.org/show_bug.cgi?id=48844

        playState() function was returning unsigned value, but there is a EAnimPlayState
        enum type which has the legal playState values. This type is now used everywhere.
        I also changed the naming of the m_isSuspended to m_suspended to match the style
        elsewhere in the code.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::updatePlayState):
        * page/animation/AnimationBase.h:
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::clear):
        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::suspendAnimations):
        (WebCore::CompositeAnimation::resumeAnimations):
        * page/animation/CompositeAnimation.h:
        (WebCore::CompositeAnimation::suspended):
        (WebCore::CompositeAnimation::CompositeAnimation):
        * platform/animation/Animation.h:
        (WebCore::Animation::playState):
        (WebCore::Animation::setPlayState):
        (WebCore::Animation::initialAnimationPlayState):

2010-11-01  Zhenyao Mo  <zmo@google.com>

        Reviewed by Andreas Kling.

        vertexAttribPointer should generate INVALID_VALUE if the stride exceeds 255
        https://bugs.webkit.org/show_bug.cgi?id=48677

        Test: fast/canvas/webgl/gl-vertexattribpointer.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate INVALID_VALUE if stride > 255.

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

        Reviewed by Xan Lopez.

        [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
        https://bugs.webkit.org/show_bug.cgi?id=48805

        Track active WebSocket handles via a sequential id. This ensures
        that when a handle is reallocated into a recently used segment of
        memory, it doesn't trigger a false positive in the code which ensures
        the original handle is active.

        No new tests. This test should stop crashing on the bots, proving the fix.

        * platform/network/soup/SocketStreamHandle.h:
        (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
        to SocketStreamHandle.
        * platform/network/soup/SocketStreamHandleSoup.cpp:
        (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
        SocketStreamHandle*.
        (WebCore::deactivateHandle): Ditto.
        (WebCore::activateHandle): Ditto.
        (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
        (WebCore::SocketStreamHandle::connected): Ditto.
        (WebCore::SocketStreamHandle::readBytes): Ditto.
        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
        (WebCore::connectedCallback): Ditto.
        (WebCore::readReadyCallback): Ditto.
        (WebCore::writeReadyCallback): Ditto.

2010-11-02  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed trivial fix.

        * WebCore.pro: Remove inspector/InspectorResource.h after r71035.

2010-11-02  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: make xhr breakpoints editable
        https://bugs.webkit.org/show_bug.cgi?id=48830

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.Breakpoint.prototype.set sourceText):
        (WebInspector.Breakpoint.prototype.click):
        (WebInspector.Breakpoint.prototype.populateLabelElement):
        (WebInspector.XHRBreakpoint.prototype.populateEditElement):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointItemClicked):
        (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
        (WebInspector.BreakpointsSidebarPane.prototype._addListElement):
        (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
        (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
        (WebInspector.XHRBreakpointsSidebarPane):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._breakpointItemClicked):
        (WebInspector.BreakpointItem):
        (WebInspector.BreakpointItem.prototype.get element):
        (WebInspector.BreakpointItem.prototype.click):
        (WebInspector.BreakpointItem.prototype.populateEditElement):
        (WebInspector.BreakpointItem.prototype.remove):
        (WebInspector.BreakpointItem.prototype._hitStateChanged):
        (WebInspector.BreakpointItem.prototype._labelChanged):
        (WebInspector.BreakpointItem.prototype._createLabelElement):
        * inspector/front-end/inspector.js:
        (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createJSBreakpointsSidebarPane):
        (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createDOMBreakpointsSidebarPane):
        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createXHRBreakpointsSidebarPane):

2010-11-02  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: fix for breakpoints not restored on live edit bug
        https://bugs.webkit.org/show_bug.cgi?id=48833

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/inspector.js:
        (WebInspector.pausedScript):

2010-11-02  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Rule addition/selector editing result in unusable rules
        https://bugs.webkit.org/show_bug.cgi?id=48826

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):

2010-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Don't include Objective-C sources in SOURCES

        * WebCore.pro:

2010-11-02  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: persist native breakpoints in localStorage
        https://bugs.webkit.org/show_bug.cgi?id=48711

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::clearNativeBreakpoints):
        * inspector/InspectorController.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.DOMBreakpoint):
        (WebInspector.EventListenerBreakpoint):
        (WebInspector.EventListenerBreakpoint.eventNameForUI):
        (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
        (WebInspector.XHRBreakpoint):
        (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointHit):
        (WebInspector.BreakpointItem.prototype._hitStateChanged):
        (WebInspector.EventListenerBreakpointsSidebarPane):
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/NetworkPanel.js:
        * inspector/front-end/Panel.js:
        * inspector/front-end/ResourceView.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.prototype.inspectedURLChanged):
        (WebInspector.Settings.prototype._formatProjectKey):
        * inspector/front-end/StoragePanel.js:
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        * inspector/front-end/inspector.css:
        (.pane .breakpoint-hit):
        * inspector/front-end/inspector.js:
        (WebInspector.set currentPanel):
        (WebInspector.doLoadedDone.onPopulateScriptObjects):
        (WebInspector.doLoadedDone):
        (WebInspector.reset):
        (WebInspector.inspectedURLChanged):

2010-11-01  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: use mimeType from cached resource
        in case response data contains none.
        https://bugs.webkit.org/show_bug.cgi?id=48773

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._createTable):

2010-11-01  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Extensions API] expose API to create properties watch sidebar panes
        https://bugs.webkit.org/show_bug.cgi?id=48761

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
        (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane.callbackWrapper):
        (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane):
        (WebInspector.injectedExtensionAPI):
        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl):
        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setExpression):
        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
        * inspector/front-end/ExtensionPanel.js: Added ExtensionWatchSidebarPane
        (WebInspector.ExtensionWatchSidebarPane):
        (WebInspector.ExtensionWatchSidebarPane.prototype.setObject):
        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
        (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
        (WebInspector.ExtensionWatchSidebarPane.prototype._setObject):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype.notifyExtensionWatchSidebarUpdated):
        (WebInspector.ExtensionServer.prototype._onCreateSidebar):
        (WebInspector.ExtensionServer.prototype._onCreateWatchExpressionSidebarPane):
        (WebInspector.ExtensionServer.prototype._createSidebar):
        (WebInspector.ExtensionServer.prototype._onSetWatchSidebarContent):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):
        * inspector/front-end/RemoteObject.js: Added a wrapper for local JSON object to simulate RemoteObject interface.
        (WebInspector.RemoteObject.fromLocalObject):
        (WebInspector.LocalJSONObject):
        (WebInspector.LocalJSONObject.prototype.get description):
        (WebInspector.LocalJSONObject.prototype.get type):
        (WebInspector.LocalJSONObject.prototype.get hasChildren):
        (WebInspector.LocalJSONObject.prototype.getOwnProperties):
        (WebInspector.LocalJSONObject.prototype.getProperties):
        (WebInspector.LocalJSONObject.prototype.isError):

2010-11-02  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix for EFL build with libcurl

        [EFL] remove multiple definition with libcurl
        https://bugs.webkit.org/show_bug.cgi?id=48499

        Add macro to isolate setCookieStoragePrivateBrowsingEnabled from EFL
        build because it was duplicated.

        * platform/network/curl/CookieJarCurl.cpp:

2010-11-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: highlight frame on hover in resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=48760

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::highlightFrame):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::hideFrameHighlight):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.showView):
        (WebInspector.StoragePanel.prototype._onmousemove):
        (WebInspector.StoragePanel.prototype._onmouseout):
        (WebInspector.FrameTreeElement.prototype.onselect):
        (WebInspector.FrameTreeElement.prototype.ondeselect):
        (WebInspector.FrameTreeElement.prototype.set displayName):
        (WebInspector.FrameTreeElement.prototype.set hovered):
        * inspector/front-end/inspector.css:
        (.storage.panel .sidebar li.selected .selection):
        (.storage.panel .sidebar :focus li.selected .selection):
        (body.inactive .storage.panel .sidebar li.selected .selection):

2010-11-02  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48822

        Convert the next type to use the SVGPropertyTearOffConcept. Just SVGAnimatedTransformList/SVGTransform/SVGStringList are missing.

        Tests: svg/dom/SVGAnimatedPreserveAspectRatio.html
               svg/dom/SVGPreserveAspectRatio.html

        * GNUmakefile.am: Add SVGAnimatedPreserveAspectRatio.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedPreserveAspectRatio as new style animated type.
        * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGPreserveAspectRatio handling.
        * bindings/scripts/CodeGeneratorObjC.pm: Always include the type wrapped by SVGPropertyTearOff<> - this was missing before, and now become visible as missing include.
        * bindings/scripts/CodeGeneratorV8.pm: Remove special SVGPreserveAspectRatio handling.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGPreserveAspectRatio handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAnimatedPreserveAspectRatio.h: Added.
        * svg/SVGFEImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::viewBoxToViewTransform): SVGPreserveAspectRatio::getCTM doesn't need x/y parameters, they were not used anywhere, remove them.
        * svg/SVGFitToViewBox.h: Replace includes by class forwards.
        * svg/SVGImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
        * svg/SVGLocatable.cpp: Add SVGNames.h include, to allow Qt to build (thanks ews!).
        * svg/SVGMarkerElement.h: Ditto.
        * svg/SVGPatternElement.h: Ditto.
        * svg/SVGPreserveAspectRatio.cpp: Modernize code, add error handling for align/meetOrSlice covered by the new tests.
        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::setAlign):
        (WebCore::SVGPreserveAspectRatio::setMeetOrSlice):
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::transformRect):
        (WebCore::SVGPreserveAspectRatio::getCTM):
        (WebCore::SVGPreserveAspectRatio::valueAsString):
        * svg/SVGPreserveAspectRatio.h: Reindented header.
        (WebCore::SVGPreserveAspectRatio::align): Inlined.
        (WebCore::SVGPreserveAspectRatio::meetOrSlice): Inlined.
        * svg/SVGPreserveAspectRatio.idl: Enable StrictTypeChecking for the align/meetOrSlice properties.
        * svg/SVGSVGElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
        * svg/SVGStyledTransformableElement.h: Add SVGAnimatedPropertyMacros.h include, needed by efl to build (thanks ews!).
        * svg/SVGSymbolElement.h: Ditto.
        * svg/SVGViewElement.h: Ditto.
        * svg/SVGViewSpec.h: Ditto.

2010-11-01  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        @spellcheck attribute at the child of contentEditable node is ignored.
        https://bugs.webkit.org/show_bug.cgi?id=48418

        Changed to check spellcheck availability against a node under the
        selection (caret) instead of the focus. For shadow elements, the
        check now refers its host node.  Note that the original code didn't
        care shadows because focus is never set on them.
        
        Test: editing/spelling/spelling-attribute-at-child.html

        * dom/