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/Element.h:
        * editing/Editor.cpp:
        (WebCore::Editor::markMisspellingsOrBadGrammar):
        (WebCore::Editor::isSpellCheckingEnabledFor): 
        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Now just calling isSpellCheckingEnabledFor()
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/Editor.h:
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::isSpellCheckingEnabled): Added.
        * rendering/TextControlInnerElements.h:

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

        Reviewed by Daniel Bates.

        [GTK] PopupMenuGtk has a very confusing if-else block
        https://bugs.webkit.org/show_bug.cgi?id=48816

        Small code cleanup for PopupMenuGtk.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show):

2010-11-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [Chromium] Add ICC support for PNG on Mac
        https://bugs.webkit.org/show_bug.cgi?id=48170

        This just pipes the ICC profile from libpng to CoreGraphics.  This
        patch would have been a lot prettier on Snow Leopard, but we have to
        use a somewhat ugly API to get this to work on Leopard.

        This is covered by about infinite tests.

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::setColorProfile):
        * platform/image-decoders/ImageDecoder.h:
        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::setColorProfile):
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::RGBA32Buffer::setColorProfile):

2010-11-01  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        Leave SelectElement key handling without setting event default
        handled when the selection reaches the boundary so focus can 
        move to neighbor nodes in spatial navigation.
        https://bugs.webkit.org/show_bug.cgi?id=48145

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

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

        Unreviewed, rolling out r71080.
        http://trac.webkit.org/changeset/71080
        https://bugs.webkit.org/show_bug.cgi?id=48815

        This change caused many crashes on the debug bot. (Requested
        by mrobinson on #webkit).

        * platform/network/soup/SocketStreamHandle.h:
        * platform/network/soup/SocketStreamHandleSoup.cpp:
        (WebCore::isActiveHandle):
        (WebCore::deactivateHandle):
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::connected):
        (WebCore::SocketStreamHandle::readBytes):
        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
        (WebCore::connectedCallback):
        (WebCore::readReadyCallback):
        (WebCore::writeReadyCallback):

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-01  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Dan Bernstein.

        Assertion failure in FrameView::layout when clicking on a YouTube video on youtube.com front page
        https://bugs.webkit.org/show_bug.cgi?id=44287
        
        When removing subframes, it's possible for layout() to get called on a FrameView
        for a Frame that has been removed from the frame tree. This can happen if the parent
        document happens to do a layout() while RenderView still has a reference to the widget
        for the removed frame; updateWidgetPosition() will try to force a layout() on the 
        subframe.
        
        Fix by checking that the FrameView's Frame still has a reference to the page before
        calling layout() on the subframe.

        Test: fast/frames/layout-after-destruction.html

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::updateWidgetPosition):

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

        Unreviewed, rolling out r71065.
        http://trac.webkit.org/changeset/71065
        https://bugs.webkit.org/show_bug.cgi?id=48801

        Seem to breake a lot of tests on Chromium bots (Requested by
        dimich on #webkit).

        * platform/image-decoders/ImageDecoder.cpp:
        * platform/image-decoders/ImageDecoder.h:
        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:

2010-11-01  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Setting attr repeatDur=0 on SVG element causes hang
        https://bugs.webkit.org/show_bug.cgi?id=48785

        Test: svg/animations/repeatDur-zero.xhtml

        * svg/animation/SVGSMILElement.cpp: Fixing bound checking for legal repeatDur values.

2010-10-31  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [Chromium] Add ICC support for PNG on Mac
        https://bugs.webkit.org/show_bug.cgi?id=48170

        This just pipes the ICC profile from libpng to CoreGraphics.  This
        patch would have been a lot prettier on Snow Leopard, but we have to
        use a somewhat ugly API to get this to work on Leopard.

        This is covered by about infinite tests.

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::setColorProfile):
        * platform/image-decoders/ImageDecoder.h:
        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::setColorProfile):
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::RGBA32Buffer::setColorProfile):

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=48776
        
        Change isVertical() on InlineBox to isHorizontal() instead.  This makes the horizontal code path come
        first if you branch on isHorizontal() and makes the code read better (since that's the more common code
        path).

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::logicalHeight):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::isHorizontal):
        (WebCore::InlineBox::setIsHorizontal):
        (WebCore::InlineBox::width):
        (WebCore::InlineBox::height):
        (WebCore::InlineBox::logicalLeft):
        (WebCore::InlineBox::setLogicalLeft):
        (WebCore::InlineBox::logicalTop):
        (WebCore::InlineBox::setLogicalTop):
        (WebCore::InlineBox::baselinePosition):
        (WebCore::InlineBox::lineHeight):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine):
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::marginLogicalLeft):
        (WebCore::InlineFlowBox::marginLogicalRight):
        (WebCore::InlineFlowBox::borderLogicalLeft):
        (WebCore::InlineFlowBox::borderLogicalRight):
        (WebCore::InlineFlowBox::paddingLogicalLeft):
        (WebCore::InlineFlowBox::paddingLogicalRight):
        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::applyShadowToGraphicsContext):
        (WebCore::paintTextWithShadows):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintDecoration):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::blockDirectionOverflow):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::placeEllipsis):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::baselinePosition):
        (WebCore::RootInlineBox::lineHeight):

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

        Reviewed by Dave Hyatt.

        Multiple background properties are not retrievable via DOM method getComputedStyle
        https://bugs.webkit.org/show_bug.cgi?id=23203
        
        Return lists of values from getComputedStyle() for multiple backgrounds,
        and multiple masks.

        Test: fast/backgrounds/multiple-backgrounds-computed-style.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::fillSizeToCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

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

        Reviewed by Dan Bernstein.

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

        Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
        RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
        to give back the correct rectangle for vertical lines.

        Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
        
        Patch hit testing to also account for "rt" and "bt" blocks.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
        (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
        (WebCore::InlineFlowBox::bottomLayoutOverflow):
        (WebCore::InlineFlowBox::rightLayoutOverflow):
        (WebCore::InlineFlowBox::bottomVisualOverflow):
        (WebCore::InlineFlowBox::rightVisualOverflow):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::linesBoundingBox):

2010-11-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
        Context menu support for WebKit 2.

        Add a "showContextMenu" call to Chrome/ChromeClient:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::showContextMenu):
        * page/Chrome.cpp:
        (WebCore::Chrome::showContextMenu):
        * page/Chrome.h:
        * page/ChromeClient.h:

        Add a "platform description to ContextMenuItem" creator, will be needed by WebKit2
        * platform/ContextMenu.h:
        * platform/mac/ContextMenuMac.mm:
        (WebCore::contextMenuItemVector):

        * platform/mac/ContextMenuItemMac.mm:
        (WebCore::ContextMenuItem::checked): WebKit2 ports now need this implemented.

        Stub these out to keep their WK2 ports building:
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::checked):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::contextMenuItemVector):
        * platform/win/ContextMenuItemWin.cpp:
        (WebCore::ContextMenuItem::checked):
        * platform/win/ContextMenuWin.cpp:
        (WebCore::contextMenuItemVector):

2010-11-01  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        Seeking by very small increment doesn't generate 'seeked' event
        https://bugs.webkit.org/show_bug.cgi?id=48530

        Test: media/video-seek-by-small-increment.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
        avoid asking it to seek to the current time.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:

        * platform/graphics/win/QTMovie.cpp:
        (QTMovie::timeScale): Return the movie's time scale.
        * platform/graphics/win/QTMovie.h:

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

        Not reviewed: Chromium build fix. Adding missing transitive dependency.

        * inspector/InspectorResourceAgent.cpp:

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

        Not reviewed. Removing references to removed file from project files.

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

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

        Reviewed by Timothy Hatcher.

        Web Inspector: remove old resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=45657

        * CMakeLists.txt:
        * English.lproj/localizedStrings.js:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        * inspector/InjectedScriptHost.cpp:
        * inspector/Inspector.idl:
        * inspector/InspectorCSSStore.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::unbindAllResources):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::frameDetachedFromParent):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::markResourceAsCached):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorResource.cpp: Removed.
        * inspector/InspectorResource.h: Removed.
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setOverrideContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        * inspector/front-end/Images/resourcesSilhouette.png: Removed.
        * inspector/front-end/Resource.js:
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.getContent):
        * inspector/front-end/ResourcesPanel.js: Removed.
        * inspector/front-end/Settings.js:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector.get networkResources):
        (WebInspector.forAllResources):
        (WebInspector.resourceForURL):
        (WebInspector.doLoadedDone.populateInspectorState):
        (WebInspector.openResource):
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.reset):
        (WebInspector._choosePanelToShowSourceLine):

2010-10-28  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Fix enum naming style violation in GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=48441

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractImageData):
        (WebCore::GraphicsContext3D::extractTextureData):
        (WebCore::doPacking):
        (WebCore::GraphicsContext3D::packPixels):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::getSourceDataFormat):
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

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

        Reviewed by Xan Lopez.

        [GTK] Pasting markup into Thunderbird compose window produces no text
        https://bugs.webkit.org/show_bug.cgi?id=43737

        Include a content-type meta tag prefix on all clipboard markup. Programs like
        Thunderbird expect this meta tag and will not paste anything unless it is there.

        This is covered by changes to WebKit/gtk/tests/testcopyandpaste.c. This patch was
        written in such a way as to not affect layout test results, otherwise there
        would be many new GTK+-specific results that say "FAIL").

        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::removeMarkupPrefix): Added this helper which removes the prefix
        when found on incoming clipboard and drag-and-drop text.
        (WebCore::PasteboardHelper::getClipboardContents): Remove the meta tag prefix.
        (WebCore::PasteboardHelper::fillSelectionData): Add the meta tag prefix.
        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Remove the meta tag prefix

2010-11-01  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dirk Schulze.

        Check for NULL node in SVGUseElement::associateInstancesWithShadowTreeElements loop
        https://bugs.webkit.org/show_bug.cgi?id=48741

        Test: svg/custom/use-on-use-with-child-and-empty-target.svg

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

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

        Reviewed by Martin Robinson.

        [Gtk] AtkHyperlink needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=33785

        Implemented the AtkHyperlink/AtkHypertext stuff in the GTK port.

        Even thought these kind of tasks are usually about implementing an
        interface, in this case it was needed to implement some more
        things due to the fact that AtkHyperlink is neither an interface
        nor an AtkObject, but just an abstract class child of GObject that
        needs to be redefined in a specific subclass of that one. On top
        of that, it was needed to implement the AtkAction interface as
        well for that new class, so exposed hyperlinks can work as
        expected with Assistive Technologies based on ATK.

        Furthermore, as there's no mechanism to get an instance of that
        AtkHyperlink other than doing it through an AtkObject implementing
        the AtkHypertext interface, it was needed to also add the code to
        implement that one, so it makes possible to ask for the
        'hyperlinks' under an 'hypertext' accessible object.

        Finally, to complete the implementation of all this stuff and make
        it all consistent, it was needed as well to implement the
        AtkHyperlinkImpl interface (providing just one method only) so
        that allows retrieving the AtkHyperlink object associated to an
        AtkObject implementing such an interface.

        * GNUmakefile.am: Add the new WebKitAccessibleHyperlink.[h|cpp]
        files to the sources list for the GTK port.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (core): New function to return the core accessibility object
        related to an AtkObject implementing the AtkHypertext interface.
        (webkitAccessibleHypertextGetLink): New, part of the
        implementation of the AtkHypertext interface.
        (webkitAccessibleHypertextGetNLinks): New, likewise.
        (webkitAccessibleHypertextGetLinkIndex): New, likewise.
        (atkHypertextInterfaceInit): New, initialize the AtkHypertext
        interface.
        (webkitAccessibleHyperlinkImplGetHyperlink): New, part of the
        implementation of the AtkHyperlinkImpl interface.
        (atkHyperlinkImplInterfaceInit): New, initialize the
        AtkHyperlinkImpl interface.
        (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_HYPERTEXT and
        ATK_TYPE_HYPERLINK_IMPL to the list of recognized types.
        (getInterfaceMaskFromObject): Decide when it's needed to add
        WAI_HYPERTEXT and WAI_HYPERLINK to the interface mask.

        * accessibility/gtk/WebKitAccessibleHyperlink.h: Added.
        * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Added.
        (returnString): Return (const char*) from String variables.
        (core): Return the associated AccessibilityObject.
        (webkitAccessibleHyperlinkActionDoAction): Part of the
        implementation of the AtkAction interface.
        (webkitAccessibleHyperlinkActionGetNActions): Likewise.
        (webkitAccessibleHyperlinkActionGetDescription): Likewise.
        (webkitAccessibleHyperlinkActionGetKeybinding): Likewise.
        (webkitAccessibleHyperlinkActionGetName): Likewise.
        (atkActionInterfaceInit): Initialize the AtkAction interface.
        (getRangeLengthForObject): Returns the length for a given Range,
        considering special cases (e.g. List item markers).
        (webkitAccessibleHyperlinkGetURI): Implementation of one of the
        methods in the AtkHyperlink abstract class.
        (webkitAccessibleHyperlinkGetObject): Likewise.
        (webkitAccessibleHyperlinkGetStartIndex): Likewise.
        (webkitAccessibleHyperlinkGetEndIndex): Likewise.
        (webkitAccessibleHyperlinkIsValid): Likewise.
        (webkitAccessibleHyperlinkGetNAnchors): Likewise.
        (webkitAccessibleHyperlinkIsSelectedLink): Likewise.
        (webkitAccessibleHyperlinkGetProperty): Getter method.
        (webkitAccessibleHyperlinkSetProperty): Setter method.
        (webkitAccessibleHyperlinkFinalize): Finalize method.
        (webkitAccessibleHyperlinkClassInit): Initialize the
        WebKitAccessibleHyperlink class.
        (webkitAccessibleHyperlinkInit): Initialize the
        WebKitAccessibleHyperlink instance.
        (webkitAccessibleHyperlinkGetType): Implementation of the
        get_type() function for the WebKitAccessibleHyperlink class.
        (webkitAccessibleHyperlinkNew): Returns an instance of the class
        associated to a given AtkHyperlinkImpl object.
        (webkitAccessibleHyperlinkGetAccessibilityObject): Public function
        returning the AccessibilityObject associated to the instance of
        the WebKitAccessibleHyperlink class.

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

        Not reviewed: simplify inspector styles test to make all bots happy.
        (drive-by fix for overriden inspector styles in network panel).

        * inspector/InspectorController.h:
        * inspector/front-end/networkPanel.css:

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

        Reviewed by Rob Buis.

        Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff
        https://bugs.webkit.org/show_bug.cgi?id=48715

        Enable StrictTypeChecking for all readwrite attributes and function calls of all types using the new SVG(Animated)PropertyTearOff concept.
        Also enable RequiresAllArguments=Raise for all function calls of these new types. Cover this functionality by tests for each of them.

        When testing SVGLength it became obvious that quite a lot of functionality was missing.
        Conversion from relative arguments (percentage, ems, exs) to user specified units was missing, added that functionality and tested it.
        User units to pt conversion was wrong, fixed that.

        Tests: svg/dom/SVGAnimatedAngle.html
               svg/dom/SVGAnimatedBoolean.html
               svg/dom/SVGAnimatedEnumeration.html
               svg/dom/SVGAnimatedInteger.html
               svg/dom/SVGAnimatedLength.html
               svg/dom/SVGAnimatedLengthList.html
               svg/dom/SVGAnimatedRect.html
               svg/dom/SVGLength-px-with-context.html
               svg/dom/SVGLength-px.html
               svg/dom/SVGLength.html

        * bindings/js/JSSVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that. 
        (WebCore::JSSVGLength::value):
        (WebCore::JSSVGLength::setValue):
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/scripts/CodeGeneratorObjC.pm: Remove FIXMEs, pass real context instead off null pointer. DOMSVGLength::value is functional now.
        * bindings/v8/custom/V8SVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that.
        (WebCore::V8SVGLength::valueAccessorGetter):
        (WebCore::V8SVGLength::valueAccessorSetter):
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * rendering/style/SVGRenderStyle.h: Adapt to SVGLength API changes.
        (WebCore::SVGRenderStyle::initialBaselineShiftValue):
        (WebCore::SVGRenderStyle::initialKerning):
        (WebCore::SVGRenderStyle::initialStrokeDashOffset):
        (WebCore::SVGRenderStyle::initialStrokeWidth):
        * svg/SVGAngle.idl: Add StrictTypeChecking, RequiresAllArguments=Raise to all methods.
        * svg/SVGAnimatedBoolean.idl: Remove StrictTypeChecking from animVal, it's readonly so this is useless.
        * svg/SVGAnimatedEnumeration.idl: Add StrictTypeChecking to all attributes.
        * svg/SVGAnimatedInteger.idl: Ditto.
        * svg/SVGLength.cpp: Implement all missing features of SVGLength. Conform to our style guide (s/.0f// etc)
        (WebCore::lengthTypeToString):
        (WebCore::SVGLength::SVGLength):
        (WebCore::SVGLength::value): Throw NOT_SUPPORTED_ERR when trying to obtain to relative units, when no context is given (SVGLength created by createSVGLength()).
        (WebCore::SVGLength::setValue): Ditto, for the setter.
        (WebCore::SVGLength::valueAsPercentage): Use m_valueInSpecifiedUnits instead of valueInSpecifiedUnits().
        (WebCore::SVGLength::setValueAsString): Throw SYNTAX_ERR if parsing failed.
        (WebCore::SVGLength::valueAsString): Use makeString() instead of String and operator+.
        (WebCore::SVGLength::newValueSpecifiedUnits): Add ExceptionCode parameter, throw NOT_SUPPORTED_ERR, if the given unit type is invalid.
        (WebCore::SVGLength::convertToSpecifiedUnits): Ditto.
        (WebCore::SVGLength::determineViewport): Added helper function used by convertValue*Percentage*.
        (WebCore::SVGLength::convertValueFromUserUnitsToPercentage): Add new helper functions, used by value/setValue.
        (WebCore::SVGLength::convertValueFromPercentageToUserUnits): Ditto.
        (WebCore::SVGLength::convertValueFromUserUnitsToEMS): Ditto.
        (WebCore::SVGLength::convertValueFromEMSToUserUnits): Ditto.
        (WebCore::SVGLength::convertValueFromUserUnitsToEXS): Ditto.
        (WebCore::SVGLength::convertValueFromEXSToUserUnits): Ditto.
        (WebCore::SVGLength::fromCSSPrimitiveValue): Adapt to newValueSpecifiedUnits API change.
        (WebCore::SVGLength::toCSSPrimitiveValue): Remove default switch case.
        * svg/SVGLength.h:
        (WebCore::SVGLength::valueInSpecifiedUnits): Inlined.
        (WebCore::SVGLength::setValueInSpecifiedUnits): Ditto.
        (WebCore::SVGLength::isRelative):
        * svg/SVGLength.idl: Add StrictTypeChecking for all attributes/functions and RequiresAllArguments=Raise for all functions.
        * svg/SVGLengthList.cpp: Adapt to SVGLength API changes.
        (WebCore::SVGLengthList::parse):

2010-10-31  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: unhide new network and resources panels.
        https://bugs.webkit.org/show_bug.cgi?id=48725

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.h:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        * inspector/front-end/Settings.js:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addResourceToFrame):
        (WebInspector.StoragePanel.prototype.addDocumentURL):
        (WebInspector.StoragePanel.prototype.showFileSystem):
        (WebInspector.FileSystemTreeElement):
        (WebInspector.FileSystemTreeElement.prototype.get itemURL):
        (WebInspector.FileSystemTreeElement.prototype.onselect):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * inspector/front-end/networkPanel.css:
        (#network-close-button):
        (.network.panel.viewing-resource #network-close-button):

2010-10-26  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Refactoring: Spellchecking related static functions could form a class
        https://bugs.webkit.org/show_bug.cgi?id=48287

        Extracted spellcheck related static functions to TextCheckingHelper class,
        which has EditorClient and Range as its member.
        
        No new tests. Just a refactoring.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/EditingAllInOne.cpp
        * editing/Editor.cpp:
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markMisspellingsOrBadGrammar):
        (WebCore::Editor::markMisspellings):
        (WebCore::Editor::markBadGrammar):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::changeBackToReplacedString):
        * editing/Editor.h:
        * editing/TextCheckingHelper.cpp: Added.
        (WebCore::TextCheckingHelper::TextCheckingHelper):
        (WebCore::TextCheckingHelper::~TextCheckingHelper):
        (WebCore::TextCheckingHelper::paragraphAlignedRange):
        (WebCore::TextCheckingHelper::findFirstMisspelling):
        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
        (WebCore::TextCheckingHelper::findFirstBadGrammar):
        (WebCore::TextCheckingHelper::isUngrammatical):
        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
        (WebCore::TextCheckingHelper::markAllMisspellings):
        (WebCore::TextCheckingHelper::markAllBadGrammar):
        * editing/TextCheckingHelper.h: Added.

2010-10-31  Xan Lopez  <xlopez@igalia.com>

        Try to fix the GTK+ build.

        Do not use broken/deprecated functions that won't be available
        with G_DISABLE_DEPRECATED (used in debug builds).

        * plugins/gtk/PluginPackageGtk.cpp:
        (WebCore::PluginPackage::fetchInfo):

2010-10-31  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Adam Barth.

        V8 binding for DOMSettableTokenList
        https://bugs.webkit.org/show_bug.cgi?id=47812

        Tests for this change will be included in the change for supporting
        the <output> element.
        See https://bugs.webkit.org/show_bug.cgi?id=29363.

        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Implemented.
        (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Just calls DOMSettableTokenList::item(index).

2010-10-31  Robert Hogan  <robert@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] [Gtk] Plug-ins having upper case in mime type are failing to load

        Qt and Gtk are case-sensitive when storing the declared mime-type
        of plugins. Since plugin mime-types are lowercased prior to searching
        for them in the plugin database, ensure they are loaded with the
        mime-type in lower case too.

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

        * plugins/gtk/PluginPackageGtk.cpp:
        (WebCore::PluginPackage::fetchInfo):
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::setMIMEDescription):

2010-10-31  Robert Hogan  <robert@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Support nodesFromRect in DRT

        Pass a Document object as a QWebElement. 

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

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2010-10-31  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        Treat GIFs with no loop count as "loop once".
        https://bugs.webkit.org/show_bug.cgi?id=47302

        Test: fast/images/gif-loop-count.html

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        (WebCore::GIFImageDecoder::gifComplete):

2010-10-31  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Andreas Kling.

        [Texmap] [Qt] Texture mapper initial implementation
        https://bugs.webkit.org/show_bug.cgi?id=47070

        Build fix for X11.

        No new tests; build fix.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::platformStart):

2010-10-31  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        Remove the unused GraphicsContext::clipOutEllipseInRect(IntRect)
        https://bugs.webkit.org/show_bug.cgi?id=48727

        This function was added in <http://trac.webkit.org/changeset/18654> for CSS3 box-shadows.
        All use of the function was removed in <http://trac.webkit.org/changeset/21601>

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::clipOut):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipOut):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        * platform/graphics/wx/GraphicsContextWx.cpp:

2010-10-31  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        [Qt] Respect the "antialiased" argument in clipConvexPolygon()
        https://bugs.webkit.org/show_bug.cgi?id=48734

        Set (or unset) the QPainter::Antialiased render hint for antialiased
        clipping based on the "antialiased" argument.

        No test since Qt doesn't have pixel tests yet.

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

2010-10-31  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        Remove the unused GraphicsContext::strokeRect(FloatRect)
        https://bugs.webkit.org/show_bug.cgi?id=48726

        This function was only implemented by GraphicsContextOpenVG and not
        called from anywhere.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:

2010-10-31  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        Remove the unused GraphicsContext::origin()
        https://bugs.webkit.org/show_bug.cgi?id=48732

        This method was not called from anywhere.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/wince/GraphicsContextWinCE.cpp:

2010-10-31  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        [Qt] Remove GraphicsContext::pen()
        https://bugs.webkit.org/show_bug.cgi?id=48733

        Have PathQt obtain the pen() through the platformContext() instead.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::strokeContains):
        (WebCore::Path::strokeBoundingRect):

2010-10-31  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70959.
        http://trac.webkit.org/changeset/70959
        https://bugs.webkit.org/show_bug.cgi?id=48731

        It broke fast/events/spatial-navigation tests (Requested by
        Ossy on #webkit).

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::bottomLayoutOverflow):
        (WebCore::InlineFlowBox::rightLayoutOverflow):
        (WebCore::InlineFlowBox::bottomVisualOverflow):
        (WebCore::InlineFlowBox::rightVisualOverflow):
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::linesBoundingBox):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: new resources and network panel usability improvements.
        https://bugs.webkit.org/show_bug.cgi?id=48680

        By default, navigation clears network log, added 'preserve log' button,
        that prevents log from being cleared.

        Storing expanded state of all group items, restoring last selected item,
        fall back to main frame's main resource by default.
        Do not list XHRs and redirects in resources.

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.get statusBarItems):
        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
        (WebInspector.NetworkPanel.prototype._updateFilter):
        (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
        (WebInspector.NetworkPanel.prototype._onPreserveLogClicked):
        (WebInspector.NetworkPanel.prototype.reset):
        (WebInspector.NetworkPanel.prototype.refreshResource):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype.willSendRequest):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceManager.prototype.didCreateWebSocket):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.show):
        (WebInspector.StoragePanel.prototype._initDefaultSelection):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addResourceToFrame):
        (WebInspector.StoragePanel.prototype.refreshResource):
        (WebInspector.StoragePanel.prototype.showDatabase):
        (WebInspector.BaseStorageTreeElement.prototype.onselect):
        (WebInspector.StorageCategoryTreeElement):
        (WebInspector.StorageCategoryTreeElement.prototype.get itemURL):
        (WebInspector.StorageCategoryTreeElement.prototype.onselect):
        (WebInspector.StorageCategoryTreeElement.prototype.onattach):
        (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
        (WebInspector.StorageCategoryTreeElement.prototype.oncollapse):
        (WebInspector.FrameTreeElement.prototype.get itemURL):
        (WebInspector.FrameTreeElement.prototype.onselect):
        (WebInspector.FrameResourceTreeElement.prototype.get itemURL):
        (WebInspector.FrameResourceTreeElement.prototype.onselect):
        (WebInspector.DatabaseTreeElement.prototype.get itemURL):
        (WebInspector.DatabaseTreeElement.prototype.onselect):
        (WebInspector.DatabaseTableTreeElement.prototype.get itemURL):
        (WebInspector.DatabaseTableTreeElement.prototype.onselect):
        (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
        (WebInspector.DOMStorageTreeElement.prototype.onselect):
        (WebInspector.CookieTreeElement.prototype.get itemURL):
        (WebInspector.CookieTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheTreeElement.prototype.get itemURL):
        (WebInspector.ApplicationCacheTreeElement.prototype.onselect):

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

        Unreviewed, build fix after r70846.

        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):

2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r70984.
        http://trac.webkit.org/changeset/70984
        https://bugs.webkit.org/show_bug.cgi?id=46015

        Made media/audio-delete-while-slider-thumb-clicked.html crash.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::notifyChildInserted):
        * 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):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::eventParentNode):
        * svg/SVGElement.h:

2010-10-30  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.
        * 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.
        * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
        * svg/SVGElement.h: Ditto.
        * dom/WindowEventContext.cpp: Added.
        * dom/WindowEventContext.h: Added.

2010-10-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Convert SVGAnimatedNumber/SVGAnimatedNumberList to the new SVGAnimatedPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48686

        Convert the next set of primitives to use the new SVG(Animated)PropertyTearOff concept.

        Tests: svg/dom/SVGAnimatedNumber.html
               svg/dom/SVGAnimatedNumberList.html
               svg/dom/SVGNumber.html

        * GNUmakefile.am: Add SVGAnimatedNumber.h / SVGAnimatedNumberList.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedNumber/SVGAnimatedNumberList as new style SVG animated properties. Remove SVGNumber from PODType hash.
        * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGNumber handing, it's obsolete now.
        * bindings/scripts/CodeGeneratorObjC.pm: Add special SVGNumber handling, as it's the first of the converted dynamic SVGAnimatedProperty types that's not in WebCore namespace.
        * bindings/scripts/CodeGeneratorV8.pm: Use AvoidInclusionOfType method from CodeGenerator.pm, remove special SVGNumber handling, that's obsolete now.
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::extractFloatValuesFromSVGNumberList): Adapt to SVGNumberList change, which is a plain Vector<float> now.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedNumber/SVGAnimatedNumberList handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAnimatedNumber.h: Added.
        * svg/SVGAnimatedNumber.idl: Enable StrictTypeChecking.
        * svg/SVGAnimatedNumberList.h: Added.
        * svg/SVGAnimatedNumberList.idl: Ditto.
        * svg/SVGComponentTransferFunctionElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
        (WebCore::SVGComponentTransferFunctionElement::transferFunction):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEColorMatrixElement.cpp: Ditto.
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
        (WebCore::SVGFEColorMatrixElement::build):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFECompositeElement.h: Ditto.
        * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
        (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier): Added, replacing char[] hack by a static atomic string.
        (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier): Ditto.
        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/SVGFEConvolveMatrixElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
        * svg/SVGFEDiffuseLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGFEDisplacementMapElement.h: Ditto.
        * svg/SVGFEGaussianBlurElement.cpp: Ditto.
        (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Remove trailing whitespace.
        (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
        * svg/SVGFEGaussianBlurElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGFELightElement.h: Ditto.
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::radiusXIdentifier): Added, replacing char[] hack by a static atomic string.
        (WebCore::SVGFEMorphologyElement::radiusYIdentifier): Ditto.
        * svg/SVGFEMorphologyElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGFEOffsetElement.h: Ditto.
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
        * svg/SVGFESpecularLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Remove trailing whitespace.
        (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
        * svg/SVGFETurbulenceElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::filterResXIdentifier): Remove trailing whitespace.
        (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
        * svg/SVGLengthList.idl: Remove leftover [SVGListProperty] marker.
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::orientTypeIdentifier): Remove trailing whitespace.
        (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
        * svg/SVGNumber.idl: Remove [PODType] marker, add StrictTypeChecking.
        * svg/SVGNumberList.cpp: Convert from SVGPODList<RefPtr<SVGPODListItem<float> > > to plain Vector<float>, just like it has been done for SVGLengthList before.
        (WebCore::SVGNumberList::parse):
        (WebCore::SVGNumberList::valueAsString):
        * svg/SVGNumberList.h:
        (WebCore::SVGNumberList::SVGNumberList):
        * svg/SVGPathElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
        * svg/SVGStopElement.h: Ditto.
        * svg/SVGTextPositioningElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
        * svg/SVGTextPositioningElement.h: Ditto.
        * svg/properties/SVGPropertyTraits.h: Add SVGNumberList handling.

2010-10-29  Daniel Bates  <dbates@rim.com>

        No review, rolling out 70971.
        http://trac.webkit.org/changeset/70971
        https://bugs.webkit.org/show_bug.cgi?id=6751

        Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
        it caused layout test failures on all bots. In particular, the
        child count in a generated frame name differs after this patch. We need
        to look into this further.

        Test: fast/frames/iframe-set-inner-html.html

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::openURL):
        (WebCore::HTMLFrameElementBase::setName):
        * html/HTMLFrameElementBase.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::mainResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::commitProvisionalLoad):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::saveDocumentState):
        (WebCore::HistoryController::restoreDocumentState):
        (WebCore::HistoryController::createItem):
        (WebCore::HistoryController::currentFramesMatchItem):
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::progressStarted):
        (WebCore::ProgressTracker::progressCompleted):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::setName):
        (WebCore::FrameTree::clearName):
        (WebCore::FrameTree::uniqueChildName):
        (WebCore::FrameTree::child):
        (WebCore::FrameTree::find):
        * page/FrameTree.h:
        (WebCore::FrameTree::name):

2010-10-28  Antonio Gomes  <agomes@rim.com>

        Reviewed by Ojan Vafai.

        Needs a "LinuxEditingBehavior", perhaps with a better name
        https://bugs.webkit.org/show_bug.cgi?id=36627

        Added EditingUnixBehavior editing type aim to cover the cases when
        neither Mac or Windows behaviors are appropriated.

        It was decided to name it Unix not Linux.

        No new tests. The current editing tests that involve platform specific
        bahaviors are coded so that they go through all editing behavior
        types possible. There will be a follow up bug where all of them will
        be updated to include the new editing behavior ("unix").

        * editing/EditingBehaviorTypes.h:
        * page/Settings.cpp:
        (WebCore::editingBehaviorTypeForPlatform):
        (WebCore::Settings::Settings):

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

        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.
        * html/HTMLFrameElementBase.h:
        * 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):
        (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/FrameTree.cpp:
        (WebCore::FrameTree::setName): Modified to store the DOM-specified
        name of the frame.
        (WebCore::FrameTree::clearName):
        (WebCore::FrameTree::uniqueChildName): Use FrameTree::uniqueName().
        (WebCore::FrameTree::child): Ditto.
        (WebCore::FrameTree::find): Ditto.
        * page/FrameTree.h:
        (WebCore::FrameTree::uniqueName): Added.

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

        Try to fix build.

        * page/ContextMenuController.cpp: Added include of BackForwardController.h.
        * page/DOMWindow.cpp: Ditto.
        * page/History.cpp: Ditto.
        * platform/ContextMenu.cpp: Ditto.

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

        Reviewed by Sam Weinig.

        More back/forward refactoring

        * WebCore.exp.in: Updated.

        * GNUmakefile.am: Removed BackForwardControllerClient.h.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * history/BackForwardControllerClient.h: Removed.

        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        Set up just m_client.
        (WebCore::BackForwardController::~BackForwardController):
        Removed call to backForwardControllerDestroyed.
        (WebCore::BackForwardController::canGoBackOrForward): Added.
        (WebCore::BackForwardController::goBackOrForward): Added.
        (WebCore::BackForwardController::goBack): Added.
        (WebCore::BackForwardController::goForward): Added.
        (WebCore::BackForwardController::addItem): Added.
        (WebCore::BackForwardController::setCurrentItem): Added.
        (WebCore::BackForwardController::count): Added.
        (WebCore::BackForwardController::backCount): Added.
        (WebCore::BackForwardController::forwardCount): Added.
        (WebCore::BackForwardController::itemAtIndex): Added.
        (WebCore::BackForwardController::isActive): Added.
        (WebCore::BackForwardController::close): Added.

        * history/BackForwardController.h: Added functions from Page
        and BackForwardList that should be called here instead.
        Note that BackForwardList is to be renamed BackForwardClient soon.

        * history/BackForwardList.h: Removed many now-unneeded
        virtual functions.

        * history/BackForwardListImpl.h: Moved BackForwardListClient
        in here.

        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision): Use backForward().
        (WebCore::PageCache::canCache): Ditto.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted): Removed unneeded
        null check of backFowardList, which is never null.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Use backForward.
        (WebCore::FrameLoader::didFirstLayout): Ditto.
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
        (WebCore::FrameLoader::checkDidPerformFirstNavigation): Ditto.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::goToItem): Ditto.
        (WebCore::HistoryController::updateForStandardLoad): Ditto.
        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
        (WebCore::HistoryController::updateBackForwardListClippedAtTarget): Ditto.
        (WebCore::HistoryController::pushState): Ditto.
        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledHistoryNavigation::fire): Ditto.
        (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::close): Ditto.
        * page/History.cpp:
        (WebCore::History::length): Ditto.

        * page/Page.cpp:
        (WebCore::Page::Page): Use more adoptPtr. Use backForwardClient instead of
        backForwardControllerClient.
        (WebCore::Page::~Page): Use backForward.
        (WebCore::Page::backForwardList): Ditto.
        (WebCore::Page::goBack): Ditto.
        (WebCore::Page::goForward): Ditto.
        (WebCore::Page::canGoBackOrForward): Ditto.
        (WebCore::Page::goBackOrForward): Ditto.
        (WebCore::Page::getHistoryLength): Ditto.
        (WebCore::Page::PageClients::PageClients): Made non-inline.
        (WebCore::Page::PageClients::~PageClients): Ditto.

        * page/Page.h: Made PageClients constructor and destructor non-inline.
        Added backForward function. Marked old functions as deprecated.

        * page/Settings.cpp:
        (WebCore::Settings::setUsesPageCache): Use backForward.
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate): Ditto.
        (WebCore::ContextMenu::checkOrEnableIfNeeded): Ditto.
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::defaultEventHandler): Ditto.
        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing): Ditto.
        * wml/WMLPageState.cpp:
        (WebCore::WMLPageState::reset): Ditto.
        (WebCore::tryAccessHistoryURLs): Ditto.
        * wml/WMLPrevElement.cpp:
        (WebCore::WMLPrevElement::executeTask): Ditto.

2010-10-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
        RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
        to give back the correct rectangle for vertical lines.
        
        Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.

        Added fast/repaint/inline-vertical-lr-overflow.html

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
        (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
        (WebCore::InlineFlowBox::bottomLayoutOverflow):
        (WebCore::InlineFlowBox::rightLayoutOverflow):
        (WebCore::InlineFlowBox::bottomVisualOverflow):
        (WebCore::InlineFlowBox::rightVisualOverflow):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::linesBoundingBox):

2010-10-29  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by James Robinson.

        Fix canvas/philip/tests/2d.imageData.get.source.negative
        https://bugs.webkit.org/show_bug.cgi?id=48277

        Handle negative width/height.
        See http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData):

2010-10-29  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: FileSystem integration
        https://bugs.webkit.org/show_bug.cgi?id=45982

        Adding filesystem support for Inspector under storage tab. This fetches root paths for
        temporary and persistent filesystems and allows "reveal folder in OS" option that
        launches native file browser. Currently this feature is disabled for non-chromium platforms.

        * CMakeLists.txt:
        * English.lproj/localizedStrings.js:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::fileSystemAgent):
        * inspector/InspectorFileSystemAgent.cpp: Added.
        * inspector/InspectorFileSystemAgent.h: Added.
        * inspector/front-end/FileSystemView.js: Added.
        * inspector/front-end/Settings.js:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addFileSystem):
        (WebInspector.StoragePanel.prototype.showFileSystem):
        (WebInspector.StoragePanel.prototype.updateFileSystemPath):
        (WebInspector.StoragePanel.prototype.updateFileSystemError):
        (WebInspector.FileSystemTreeElement):
        (WebInspector.FileSystemTreeElement.prototype.onselect):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.file-system-storage-tree-item .icon):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        (WebInspector._addFileSystemOrigin):
        (WebInspector.didGetFileSystemPath):
        (WebInspector.didGetFileSystemError):
        (WebInspector.reset):
        * platform/AsyncFileSystem.h:
        (WebCore::AsyncFileSystem::root):
        * platform/FileSystem.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::revealFolderInOS):

2010-10-29  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Remove RenderTextControl::setSelectionRange
        https://bugs.webkit.org/show_bug.cgi?id=47870

        Made RenderTextControl::setSelectionRange a global function.
        Removed setSelectionStart, setSelectionEnd, and select from RenderTextControl.

        No new tests are added since there is no behavioral change.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::setSelectedTextRange): Calls setSelectedTextRange.
        * dom/InputElement.cpp:
        (WebCore::InputElement::updateSelectionRange): Ditto.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionStart): Ditto.
        (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
        (WebCore::HTMLTextFormControlElement::select): Ditto.
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hasVisibleTextArea): Added.
        (WebCore::setSelectionRange): See above.
        * rendering/RenderTextControl.h:

2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Andreas Kling.

        [GTK] Crash in TextEncoding.cpp when using glib unicode
        https://bugs.webkit.org/show_bug.cgi?id=48521

        When the conversion to UTF-8 fails, try to encode the original string
        without normalizing. Fixes tests cases:
         fast/url/anchor.html
         fast/url/query.html
         fast/url/standard-url.html

        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):

2010-10-29  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Antonio Gomes.

        TextureMapperGL get the driver info log but do not use it
        https://bugs.webkit.org/show_bug.cgi?id=48247

        Remove the call to glGetProgramInfoLog().

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TexmapShaderInfo::createShaderProgram):

2010-10-29  Benjamin Kalman  <kalman@google.com>

        Reviewed by Tony Chang.

        Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder <br/>
        https://bugs.webkit.org/show_bug.cgi?id=48658

        * WebCore.exp.in: Update is{Start,End}OfParagraph symbols.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply): Cross editability boundaries when determining whether to insert placeholder.
        * editing/visible_units.cpp: Allow editability boundary to be crossed in {start,end,isStart,isEnd}OfParagraph.
        (WebCore::startOfParagraph): Also, avoid returning a position where renderer can't accept caret, like in endOfParagraph.
        (WebCore::endOfParagraph):
        (WebCore::isStartOfParagraph):
        (WebCore::isEndOfParagraph):
        * editing/visible_units.h: Ditto.

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

        Reviewed by Timothy Hatcher.

        Web Inspector: last active panel is not restored upon opening inspector.
        https://bugs.webkit.org/show_bug.cgi?id=48668

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/InspectorController.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:
        (WebInspector.set currentPanel):
        (WebInspector.doLoadedDone.onPopulateScriptObjects):
        (WebInspector.doLoadedDone):
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):

2010-10-28  Michael Nordman  <michaeln@google.com>

        Reviewed by ap.

        [Chrome] Fix an appcache regression introduced in r69226
        https://bugs.webkit.org/show_bug.cgi?id=48592
        Define a new ApplicationCacheHost method for the specific case of main resource redirect handling.

        Tests: the existing layout test applies

        * loader/MainResourceLoader.cpp: use the newly introduced method
        (WebCore::MainResourceLoader::willSendRequest):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::maybeLoadMainResourceForRedirect):
        * loader/appcache/ApplicationCacheHost.h:

2010-10-29  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        Navigating to a .wav file creates a plugin document but should create a media document
        https://bugs.webkit.org/show_bug.cgi?id=48546
        <rdar://problem/8606105>

        Test: media/media-can-play-wav-audio.html

        * platform/MIMETypeRegistry.cpp: Add mapping from ".wav" to "audio/x-wav".

2010-10-29  Aaron Colwell  <acolwell@chromium.org>

        Reviewed by James Robinson.

        Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha()
        to centralize alpha rounding & clipping logic. 
        https://bugs.webkit.org/show_bug.cgi?id=48094

        Test: media/video-canvas-alpha.html

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::paintSkBitmap):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::getNormalizedAlpha):
        * platform/graphics/skia/PlatformContextSkia.h:

2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        ASSERT when SVGAnimatedProperty instance is assigned to multiple elements.
        https://bugs.webkit.org/show_bug.cgi?id=48555

        Test: svg/custom/insertItemBefore-from-non-list-origin.svg

        * bindings/scripts/CodeGeneratorJS.pm: Include SVGAnimatedPropertyTearOff.h instead of SVGPropertyTearOff.h
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::isAnimatedListTearOff): Return true.
        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): Devirtualize function.
        * svg/properties/SVGAnimatedProperty.h:
        (WebCore::SVGAnimatedProperty::isAnimatedListTearOff): Return false.
        * svg/properties/SVGListPropertyTearOff.h:
        (WebCore::SVGListPropertyTearOff::removeItemFromListIfNeeded): Only try to remove the passed item from its list, if its actually a list and not just a SVGAnimatedProperty.

2010-10-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

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

        Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox.  They were still assuming horizontal-tb writing-mode.
        This patch makes the checks directionally abstract and also refactors the checks in RenderLineBoxList to share code. 

        No tests yet, since the invalidation code for inlines still assumes horizontal-tb.  That will be fixed in a follow-up bug,
        and then repaint tests will be easy to write.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::convertFromFlippedWritingMode):
        * rendering/RenderBox.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::rangeIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::anyLineIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderLineBoxList.h:

2010-10-29  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::createGlobalURLContent):
        (WebCore::createGlobalUrlFileDescriptor):
        (WebCore::ClipboardWin::writeURL):

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

        [Chromium clang] Unreviewed fix removing compiler warning.
        If GIFImageReader is a struct, don't call it a class.

        * platform/image-decoders/gif/GIFImageDecoder.h:

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

        Fix the world (d'oh!)

        https://bugs.webkit.org/show_bug.cgi?id=48576
        Let WebKit2 client know when a frame is a frameset

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::insertedIntoDocument):
        (WebCore::HTMLFrameSetElement::removedFromDocument):
        Call base class version.

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

        Unreviewed. Fix chromium build break.

        * bindings/v8/custom/V8FileReaderCustom.cpp:
        (WebCore::V8FileReader::resultAccessorGetter):

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

        Reviewed by David Levin.

        Support readAsArrayBuffer in FileReader and FileReaderSync
        https://bugs.webkit.org/show_bug.cgi?id=47691

        Merge the similar code in FileReader and FileReaderSync into
        FileReaderLoader.

        Test cases have been added to read-file-test-cases.js.

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::FileReader):
        (WebCore::FileReader::readAsArrayBuffer):
        (WebCore::FileReader::readAsBinaryString):
        (WebCore::FileReader::readAsText):
        (WebCore::FileReader::readAsDataURL):
        (WebCore::FileReader::readInternal):
        (WebCore::FileReader::doAbort):
        (WebCore::FileReader::terminate):
        (WebCore::FileReader::start):
        (WebCore::FileReader::didStartLoading):
        (WebCore::FileReader::didReceiveData):
        (WebCore::FileReader::didFinishLoading):
        (WebCore::FileReader::didFail):
        (WebCore::FileReader::fireEvent):
        (WebCore::FileReader::arrayBufferResult):
        (WebCore::FileReader::stringResult):
        * fileapi/FileReader.h:
        (WebCore::FileReader::readType):
        * fileapi/FileReader.idl:
        * fileapi/FileReaderLoader.cpp: Added.
        * fileapi/FileReaderLoader.h: Added.
        * fileapi/FileReaderLoaderClient.h: Added.
        * fileapi/FileReaderSync.cpp:
        (WebCore::FileReaderSync::FileReaderSync):
        (WebCore::FileReaderSync::readAsArrayBuffer):
        (WebCore::FileReaderSync::readAsBinaryString):
        (WebCore::FileReaderSync::readAsText):
        (WebCore::FileReaderSync::readAsDataURL):
        (WebCore::FileReaderSync::startLoading):
        * fileapi/FileReaderSync.h:
        * fileapi/FileReaderSync.idl:
        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::create):
        * html/canvas/ArrayBuffer.h:
        * loader/ThreadableLoaderClient.h:

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

        Unreviewed, rolling out r70850.
        http://trac.webkit.org/changeset/70850
        https://bugs.webkit.org/show_bug.cgi?id=45640

        chromium and qt pixel test regressions

        * dom/Document.cpp:
        * dom/Document.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::invalidateRect):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::doDeferredRepaints):
        * page/FrameView.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintContents):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=48576
        Let WebKit2 client know when a frame is a frameset

        This can change in two cases, when document changes, and when frame is navigated to another
        document.

        * dom/Document.cpp: (WebCore::Document::documentDidBecomeActive): Update the client when
        a document is restored from page cache.

        * loader/FrameLoaderClient.h: Added a new client call to notify client.

        * html/HTMLFrameSetElement.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::insertedIntoDocument):
        (WebCore::HTMLFrameSetElement::removedFromDocument):
        Update the client when document changes, potentially becoming a frameset. Per WebCore
        definition, a document is a frameset when it has a FRAMESET element as direct child of
        document element (it may also have body elements).

        * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidBecomeFrameset):
        Added an empty implementation.

2010-10-29  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed fix. Touch WebCorePrefix.h to fix incremental build failure after r70878.

        * WebCorePrefix.h:

2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Handle surrogate pairs in TextBreakIteratorGtk
        https://bugs.webkit.org/show_bug.cgi?id=48227

        TextBreakIteratorGtk uses UTF-8 because it's what pango expects, but we
        need to return indices for the given input string that are in UTF-16.
        The number of characters is the same for both UTF-16 and UTF-8 except when
        the input string contains surrogate pairs. We need to keep both, the
        index for the UTF-8 string to be used internally, and the index for the
        UTF-16 string to be used as return value of the iterator interface. It
        fixes test fast/forms/textarea-maxlength.html

        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        (WebCore::CharacterIterator::getText):
        (WebCore::CharacterIterator::getLength):
        (WebCore::CharacterIterator::getSize):
        (WebCore::CharacterIterator::getIndex):
        (WebCore::CharacterIterator::getUTF16Index):
        (WebCore::CharacterIterator::getUTF16Length):
        (WebCore::CharacterIterator::characterSize):
        (WebCore::CharacterIterator::setText):
        (WebCore::CharacterIterator::setIndex):
        (WebCore::CharacterIterator::setUTF16Index):
        (WebCore::CharacterIterator::first):
        (WebCore::CharacterIterator::last):
        (WebCore::CharacterIterator::next):
        (WebCore::CharacterIterator::previous):
        (WebCore::setUpIterator):
        (WebCore::textBreakFirst):
        (WebCore::textBreakLast):
        (WebCore::textBreakNext):
        (WebCore::textBreakPrevious):
        (WebCore::textBreakPreceding):
        (WebCore::textBreakFollowing):
        (WebCore::textBreakCurrent):
        (WebCore::isTextBreak):

2010-10-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Addition of a new (blank) style property does not work
        https://bugs.webkit.org/show_bug.cgi?id=48631

        Test: inspector/styles-add-blank-property.html

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: add close button to network view, make tests pass for
        resource manager on all ports.
        https://bugs.webkit.org/show_bug.cgi?id=48628

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::frameDetachedFromParent):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::markResourceAsCached):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.addResourceToFrame):
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        * inspector/front-end/networkPanel.css:
        (.network-close-button):

2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGAnimatedEnumeration/Integer to the new SVGAnimatedPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48623

        Besides converting SVGAnimatedEnumeration/Integer to the new animated property tear off concept, fix support
        for multiple wrappers within the new concept, which was broken - covered by existing svg/dynamic-updates/ tests.

        Replace all 'extern char[]' usage when using the multiple wrappers macro, by static AtomicStrings.

        * GNUmakefile.am: Add SVGAnimatedEnumeration.h / SVGAnimatedInteger.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedEnumeration / SVGAnimatedInteger as animated types using the new concept.
        * bindings/scripts/CodeGeneratorObjC.pm: Touched, to force regenerating ObjC bindings, dependency tracking is obviously broken.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedBoolean/Enumeration/Integer handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAnimatedEnumeration.h: Added.
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.h: Added.
        * svg/SVGClipPathElement.h: Adapted all code to create new style animated property tear offs for long & int types.
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Replaced extern[] char hack using a static AtomicString.
        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Ditto.
        (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Ditto.
        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Ditto.
        (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::filterResXIdentifier): Ditto.
        (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
        * svg/SVGFilterElement.h:
        * svg/SVGGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::orientTypeIdentifier): Ditto.
        (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.h:
        * svg/SVGPatternElement.h:
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPathElement.h:
        * svg/properties/SVGAnimatedPropertyMacros.h: Add new macro for multiple wrappers using static properties.

2010-10-29  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Make GraphicsContext cheaper to construct
        https://bugs.webkit.org/show_bug.cgi?id=48626

        Do less unnecessary things when creating the Qt GraphicsContext:
        - Don't create a black QBrush that's immediately discarded.
        - Don't call setPlatform*(), set the painter brush and pen directly.
        - Call setRenderHints() once instead of multiple setRenderHint().

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

2010-10-29  Andreas Kling  <kling@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
        https://bugs.webkit.org/show_bug.cgi?id=48624

        Don't queue multiple meta method invocations for notifySyncRequired()

        4% speedup on <http://ariya.github.com/clock.htm>

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
        (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
        (WebCore::GraphicsLayerQtImpl::notifyChange):

2010-10-29  Zhenyao Mo  <zmo@google.com>

        Reviewed by Chris Marrin.

        drawArrays/drawElements with first/offset out of range but size==0 should generate no error
        https://bugs.webkit.org/show_bug.cgi?id=48601

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):

2010-10-29  Leandro Gracia Gil  <leandrogracia@google.com>

        Reviewed by Jeremy Orlow.

        Patch the current speech input implementation to use the nearest
        language tag. The language is now passed to the startRecognition
        methods so that language-specific recognition could be used. Also added
        a second parameter to setMockSpeechInputResult for the language used in
        speech recognition.
        https://bugs.webkit.org/show_bug.cgi?id=47089

        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
        details see http://codereview.chromium.org/3615005/show,
        http://codereview.chromium.org/3595018/show and
        https://bugs.webkit.org/show_bug.cgi?id=47420.

        Test: fast/speech/input-text-language-tag.html

        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-29  Mads Ager  <ager@chromium.org>

        Reviewed by Pavel Feldman.

        [V8] The DateExtension cannot handle overwritten Date
        https://bugs.webkit.org/show_bug.cgi?id=48621

        Check that the Date property is an object before attempting to get
        hidden properties from it.

        Test: fast/dom/Window/slow-unload-handler-overwritten-date.html

        * bindings/v8/DateExtension.cpp:
        (WebCore::DateExtension::setAllowSleep):

2010-10-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGAnimatedBoolean to the new SVGAnimatedPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48469

        Convert the next SVG animated primitive type to use the SVGAnimatedPropertyTearOff concept: SVGAnimatedBoolean.
        Added new test verifying that StrictTypeChecking is enabled for SVGAnimatedBooleans. It also tests that this type is "static", see LayoutTests/ChangeLog for details.

        Add support for StrictTypeChecking for boolean types.

        Test: svg/dom/SVGExternalResourcesRequired.html

        * GNUmakefile.am: Add SVGAnimatedBoolean.h and SVGAnimatedStaticPropertyTearOff.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Add SVGAnimatedBoolean to the new style svg animated bindings list.
        * bindings/scripts/CodeGeneratorJS.pm: Add StrictTypeChecking support for boolean types.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto. Only generate kit() usage for new style animated types, if the wrapped type needs a tear off.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedBoolean handling.
        * svg/SVGAElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_STATIC_PROPERTY_NEW/ for boolean types everywhere. Include SVGAnimatedPropertyMacros.h where needed.
        * svg/SVGAnimatedBoolean.h: Added.
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimationElement.h:
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.h:
        * svg/SVGCursorElement.h:
        * svg/SVGDefsElement.h:
        * svg/SVGEllipseElement.h:
        * svg/SVGExternalResourcesRequired.cpp:
        * svg/SVGExternalResourcesRequired.h:
        (WebCore::SVGExternalResourcesRequired::~SVGExternalResourcesRequired):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEImageElement.h:
        * svg/SVGFilterElement.h:
        * svg/SVGFontElement.h:
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.h:
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.h:
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.h:
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.h:
        * svg/SVGPolyElement.h:
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.h:
        * svg/SVGSwitchElement.h:
        * svg/SVGSymbolElement.h:
        * svg/SVGTextContentElement.h:
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.h:
        * svg/properties/SVGAnimatedListPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
        * svg/properties/SVGAnimatedProperty.h: Remove m_baseVal/m_animVal.
        (WebCore::SVGAnimatedProperty::commitChange): New method to share code between the SVGAnimated*PropertyTearOff classes.
        * svg/properties/SVGAnimatedPropertyMacros.h: Add new DECLARE_ANIMATED_STATIC_PROPERTY_NEW macro which creates SVGAnimatedStaticPropertyTearOff types.
        * svg/properties/SVGAnimatedPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Added.
        (WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Directly returns the stored m_property as reference, no tear off is created.
        (WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Ditto.
        (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Directly updates the stored m_property reference, and invalidates the SVG attributes.
        (WebCore::SVGAnimatedStaticPropertyTearOff::setAnimVal): Not implemented.
        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
        (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
        * svg/properties/SVGListPropertyTearOff.h:
        (WebCore::SVGListPropertyTearOff::commitChange): Share code, use SVGAnimatedProperty::commitChange.
        * svg/properties/SVGPropertyTearOff.h:
        (WebCore::SVGPropertyTearOff::commitChange): Ditto.

2010-10-28  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <meter min=0 max=100 value=100> should be optimum.
        https://bugs.webkit.org/show_bug.cgi?id=48613

        Changed to make the condition inclusive for better case consistently.
        - Values on the border between optimum and subsequntial go optimum.
        - Values on the border between suboptimal and even-less-than-good go suboptimal.

        Test: fast/dom/HTMLMeterElement/meter-boundary-values.html

        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::gaugeRegion):

2010-10-29  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        [HTML5] Add DOMSettableTokenList
        https://bugs.webkit.org/show_bug.cgi?id=47810

        Adds DOMSettableTokenList interface to support <output> element.
        The DOMTokenList interface was refactored since its was tightly coupled
        with HTMLElement.classList property.

        * Android.derived.jscbindings.mk: Added JSDOMSettableTokenList.h file.
        * Android.derived.v8bindings.mk: Added V8DOMSettableTokenList.h file.
        * Android.jscbindings.mk: Added JSDOMSettableTokenList.cpp file.
        * Android.mk: Added ClassList.cpp file.
        * CMakeLists.txt: Added DOMSettableTokenList.{cpp,idl} and ClassList.cpp files.
        * DerivedSources.cpp: Added JSDOMSettableTokenList.cpp file.
        * DerivedSources.make: Added DOMSettableTokenList entry.
        * GNUmakefile.am: Added JSDOMSettableTokenList.{h,cpp} and ClassList.{h,cpp} files.
        * WebCore.gypi: Added DOMSettableTokenList.{h,cpp,idl}, V8DOMSettableTokenListCustom.cpp and ClassList.{h,cpp} files.
        * WebCore.pri: Added DOMSettableTokenList.idl file.
        * WebCore.pro: Added V8DOMSettableTokenListCustom.cpp, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
        * WebCore.vcproj/WebCore.vcproj: Added JSDOMSettableTokenList.{h,cpp}, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
        * WebCore.xcodeproj/project.pbxproj: Added ClassList.{h,cpp}, DOMSettabletokenList.{h,cpp} and JSDOMSettableTokenList.{h,cpp}
        * bindings/gobject/GNUmakefile.am: Added WebKitDOMDOMSettableTokenList.{h,cpp} and WebKitDOMDOMSettableTokenListPrivate.cpp files.
        * bindings/scripts/CodeGeneratorJS.pm: Modified IndexGetterReturnsStrings() returns 1 for DOMSettableTokenList.
        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Added.
        (WebCore::V8DOMSettableTokenList::indexedPropertyGetter):
        * dom/Element.cpp: Replaced DOMTokenList to ClassList.
        (WebCore::Element::classList):
        * dom/ElementRareData.h: ditto.
        * dom/SpaceSplitString.cpp: Added add() and remove() functions.
        (WebCore::SpaceSplitStringData::add):
        (WebCore::SpaceSplitStringData::remove):
        (WebCore::SpaceSplitString::add):
        (WebCore::SpaceSplitString::remove):
        * dom/SpaceSplitString.h: Added add() and remove() functions.
        * dom/StyledElement.cpp: Replaced DOMTokenList to ClassList.
        (WebCore::StyledElement::classAttributeChanged):
        * dom/StyledElement.h: ditto.
        * html/ClassList.cpp: Added, mostly from original DOMTokenList.cpp.
        (WebCore::ClassList::ClassList):
        (WebCore::ClassList::ref):
        (WebCore::ClassList::deref):
        (WebCore::ClassList::length):
        (WebCore::ClassList::item):
        (WebCore::ClassList::contains):
        (WebCore::ClassList::containsInternal):
        (WebCore::ClassList::add):
        (WebCore::ClassList::addInternal):
        (WebCore::ClassList::remove):
        (WebCore::ClassList::removeInternal):
        (WebCore::ClassList::toggle):
        (WebCore::ClassList::toString):
        (WebCore::ClassList::reset):
        (WebCore::ClassList::classNames):
        * html/ClassList.h: Added, mostly from original DOMTokenList.h.
        (WebCore::ClassList::create):
        (WebCore::ClassList::element):
        * html/DOMSettableTokenList.cpp: Added.
        (WebCore::DOMSettableTokenList::DOMSettableTokenList):
        (WebCore::DOMSettableTokenList::~DOMSettableTokenList):
        (WebCore::DOMSettableTokenList::item):
        (WebCore::DOMSettableTokenList::contains):
        (WebCore::DOMSettableTokenList::add):
        (WebCore::DOMSettableTokenList::addInternal):
        (WebCore::DOMSettableTokenList::remove):
        (WebCore::DOMSettableTokenList::removeInternal):
        (WebCore::DOMSettableTokenList::toggle):
        (WebCore::DOMSettableTokenList::setValue):
        * html/DOMSettableTokenList.h: Added.
        (WebCore::DOMSettableTokenList::create):
        (WebCore::DOMSettableTokenList::ref):
        (WebCore::DOMSettableTokenList::deref):
        (WebCore::DOMSettableTokenList::length):
        (WebCore::DOMSettableTokenList::toString):
        (WebCore::DOMSettableTokenList::value):
        * html/DOMSettableTokenList.idl: Added.
        * html/DOMTokenList.cpp: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
        (WebCore::DOMTokenList::validateToken): Changed to be a static member function of DOMTokenList.
        (WebCore::DOMTokenList::addToken): Added, mostly from original DOMTokenList::addInternal().
        (WebCore::DOMTokenList::removeToken): Added, mostly from original DOMTokenList::removeInternal().
        * html/DOMTokenList.h: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
        (WebCore::DOMTokenList::~DOMTokenList):
        (WebCore::DOMTokenList::element):
        * page/DOMWindow.cpp: Added an entry for DOMSettableTokenList.
        * page/DOMWindow.idl: ditto.

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

        Reviewed by Timothy Hatcher.

        Web Inspector: make legacy resource tracking optional in the native code,
        make cookeis work against new resource manager.
        https://bugs.webkit.org/show_bug.cgi?id=48532

        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::resourceStyleSheetText):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::unbindAllResources):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::frameDetachedFromParent):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::markResourceAsCached):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::setResourceTrackingEnabled):
        (WebCore::InspectorController::getCookies):
        (WebCore::InspectorController::deleteCookie):
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        (WebCore::InspectorController::breakpointsSettingKey):
        (WebCore::InspectorController::getResourceContent):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::markFailed):
        * inspector/InspectorResource.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::populateObjectWithFrameResources):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        (WebInspector.Resource.prototype._checkWarning):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        * inspector/front-end/inspector.js:
        (WebInspector.forAllResources):
        (WebInspector.updateResource):

2010-10-29  MORITA Hajime <morrita@google.com>

        Unreviewed attempt for fixing build break for http://trac.webkit.org/changeset/70847

        * editing/EditingAllInOne.cpp:

2010-10-29  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        Support RegExp in V8 implementation of SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=44809
        
        Add RegExp serialization/deserialization now that V8 provides API access
        to the RegExp type.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Writer::writeRegExp):
        (WebCore::ZigZag::Serializer::writeRegExp):
        (WebCore::ZigZag::Serializer::doSerialize):
        (WebCore::ZigZag::Reader::read):
        (WebCore::ZigZag::Reader::readRegExp):

2010-10-13  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 <body> availability on mayCauseFlashOfUnstyledContent(), and
        - added FOUC guards before requesting reapint on FrameView.
        
        No new tests. The data loading speed matters and it cannot be
        captured by DRT.

        * dom/Document.cpp:
        (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-10-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
        The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
        box tree.
        
        Added fast/blockflow/border-radius-clipping-vertical-lr.html.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2010-10-26  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Refactoring: Spellchecking related static functions could form a class
        https://bugs.webkit.org/show_bug.cgi?id=48287

        Extracted spellcheck related static functions to TextCheckingHelper class,
        which has EditorClient and Range as its member.
        
        No new tests. Just a refactoring.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/Editor.cpp:
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markMisspellingsOrBadGrammar):
        (WebCore::Editor::markMisspellings):
        (WebCore::Editor::markBadGrammar):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::changeBackToReplacedString):
        * editing/Editor.h:
        * editing/TextCheckingHelper.cpp: Added.
        (WebCore::TextCheckingHelper::TextCheckingHelper):
        (WebCore::TextCheckingHelper::~TextCheckingHelper):
        (WebCore::TextCheckingHelper::paragraphAlignedRange):
        (WebCore::TextCheckingHelper::findFirstMisspelling):
        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
        (WebCore::TextCheckingHelper::findFirstBadGrammar):
        (WebCore::TextCheckingHelper::isUngrammatical):
        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
        (WebCore::TextCheckingHelper::markAllMisspellings):
        (WebCore::TextCheckingHelper::markAllBadGrammar):
        * editing/TextCheckingHelper.h: Added.

2010-10-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
        (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
        decoder interaction, and Darin Fisher SGTMed the policy decision.)

        [chromium] Chromium Mac should use WebKit's image decoders
        https://bugs.webkit.org/show_bug.cgi?id=47974

        This patch teaches WebKit's image decoders how to talk to CoreGraphics.
        This patch doesn't handle color profiles, but that will come in a
        subsequent patch.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):
        * platform/graphics/ImageSource.h:
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):
        * platform/image-decoders/cg: Added.
        * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        (WebCore::RGBA32Buffer::asNewNativeImage):

2010-10-28  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] GObject bindings generator issues
        https://bugs.webkit.org/show_bug.cgi?id=48135

        GObject code generator must not generate conditional API's. This
        patch also adds an alternative return value for non-void
        conditional methods. With this change the conditionalMethods hack
        is no longer needed.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-10-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Box shadows on vertical inlines don't paint properly.  Fix the paintBoxShadow method to treat the edges to include as
        logical (so that top/bottom are used instead of left/right for vertical lines).  In order to make my box-shadow tests
        work I had to fix a bug in the transform code of InlineTextBox that was causing the baselines of vertical lines to
        be wrong.
        
        Added fast/blockflow/box-shadow-* tests

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:

2010-10-28  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        iframes forced into slow scrolling mode by containing RenderLayer sometimes
        https://bugs.webkit.org/show_bug.cgi?id=48570

        Only performs the overlap test for RenderLayers that paint themselves.  This
        prevents marking RenderWidgets as being overlapped unnecessarily.

        Test: fast/repaint/iframe-scroll-repaint.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):

2010-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70814.
        http://trac.webkit.org/changeset/70814
        https://bugs.webkit.org/show_bug.cgi?id=48612

        Caused media/controls-drag-timebar.html to fail on multiple
        platforms (Requested by aroben on #webkit).

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::seek):
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTMovie.cpp:
        * platform/graphics/win/QTMovie.h:

2010-10-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8597430> Crash triggered by incremental layout of block truncated by line-clamp
        https://bugs.webkit.org/show_bug.cgi?id=48602

        Test: fast/flexbox/line-clamp-crash.html

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::applyLineClamp): Even if the child needs layout, call clearTruncation(),
        since layout itself may be partial and not touch the truncated line (but touch its markup box).

2010-10-28  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        [chromium] UUID generation does not work in Linux that has sandbox
        turned on
        https://bugs.webkit.org/show_bug.cgi?id=48571

        This is because we cannot access /proc when sandbox is on. The fix is to
        use random numbers to construct UUID.

        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString):

2010-10-28  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Editing a word with misspell or autocorrection underline should remove the underline when the editing changes the word.
        https://bugs.webkit.org/show_bug.cgi?id=48078
        <rdar://problem/8579155>

        Tests: platform/mac/editing/spelling/editing-multiple-words-with-markers.html
               platform/mac/editing/spelling/editing-word-with-marker-1.html
               platform/mac/editing/spelling/editing-word-with-marker-2.html

        This patch is part of on-going improvement of autocorrection feature on Mac OS X. When an editing
        occurs, if it affects words (by deleting/inserting characters, spliting word, merging words) that
        have Spelling and/or CorrectionIndicator markers, we want to remove the markers. If subsequntial
        spelling checking finds spelling error in newlly formed words, it will add the markers back in.

        * dom/DocumentMarker.h: Changed MarkerType to bit masks to make search multiple types easier.

        * dom/DocumentMarkerController.cpp: Refactored two removeMarkers() methods to support remove
          markers with specific type from a node.
        (WebCore::DocumentMarkerController::removeMarkers): Changed signature to remove marker with specific type.
        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Refactoring.
        (WebCore::DocumentMarkerController::hasMarkers): Convenience method to search markers in range.

        * dom/DocumentMarkerController.h: Added new methods and matched new signature of removeMarkers().

        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedContents): Remove existing markers if the change formed new word.
        (WebCore::Editor::cut): Remove markers on words that will be modified by this editing.
        (WebCore::Editor::paste): Ditto.
        (WebCore::Editor::pasteAsPlainText): Ditto.
        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): Main logic for removing 
          markers on words affected by editing.

        * editing/Editor.h: Added removeSpellAndCorrectionMarkersFromWordsToBeEdited().  Added
          REMOVE_MARKERS_UPON_EDITING and SUPPORT_AUTOCORRECTION_PANEL macro to improve readability.

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertText): Remove markers on words that will be modified by this editing.
        (WebCore::TypingCommand::deleteKeyPressed): Ditto.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.

2010-10-28  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Brady Eidson.

        Part of <https://bugs.webkit.org/show_bug.cgi?id=45980>
        userscripts/user-script-*-document.html tests are flaky on Windows

        In WebFrameLoaderClient::committedLoad on Windows, we call through to PluginStream::didRecieveData
        if our manual loader is a plugin stream, and we can call didRecieveData with a 0 length.
        
        We shouldn't ASSERT that length is 0, because code paths exists where we call it with a 0 length.
        
        This is tested by re-enabling user-script-plugin-document.html on Windows.

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::didReceiveData):

2010-10-28  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Adler.

        [Chromium] History related tests REGRESSED after r70723
        https://bugs.webkit.org/show_bug.cgi?id=48513
        
        Remove backItem(), forwardItem() and currentItem() from the Chromium
        BackForwardList implementation, since they can use the base class
        behavior now (which call itemAtIndex with -1, 1, and 0 respectively).

        * history/BackForwardList.h:
        * history/BackForwardListChromium.cpp:

2010-10-28  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        chrome.dll!WebCore::Node::shadowAncestorNode ReadAV@NULL (98643190851b5662363449cc7303d8a5)
        https://bugs.webkit.org/show_bug.cgi?id=47888

        The crash was caused by the while loop in ApplyStyleCommand::fixRangeAndApplyInlineStyle
        not considering the case where startNode is the root editable element.
        Fixed the bug by not entering the loop when startNode is the editable root.

        Test: editing/style/fix-range-from-root-editable-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):

2010-10-28  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Ariya Hidayat.

        [Texmap] [Qt] Texture mapper initial implementation
        https://bugs.webkit.org/show_bug.cgi?id=47070

        Build fix, some wrong changes slipped into the previous patch.
        No new tests: build fix.

        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::setContentsToImage):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::TextureMapperNode::uploadTextureFromContent):
        (WebCore::TextureMapperNode::paintRecursive):
        * platform/qt/QWebPageClient.h:
        (QWebPageClient::setRootGraphicsLayer):

2010-10-28  David Hyatt  <hyatt@apple.com>

        Reviewed by James Robinson.

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

        Backgrounds don't work right with vertical RenderInlines. Make background painting
        do the right thing for vertical strips.

        Added fast/blockflow/background-* tests

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintFillLayer):

2010-10-28  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        Seeking by very small increment doesn't generate 'seeked' event
        https://bugs.webkit.org/show_bug.cgi?id=48530

        Test: media/video-seek-by-small-increment.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
        avoid asking it to seek to the current time.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:

        * platform/graphics/win/QTMovie.cpp:
        (QTMovie::timeScale): Return the movie's time scale.
        * platform/graphics/win/QTMovie.h:

2010-10-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=48443
        
        Border images don't work right with vertical RenderInlines. Make border/mask/background painting
        do the right thing for vertical strips.

        Added fast/blockflow/border-image-* tests.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):

2010-10-28  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Port ContextMenuItemWin.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48407

        * platform/win/ContextMenuItemWin.cpp:

2010-10-28  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        queryCommandValue should fall back to queryCommandState
        https://bugs.webkit.org/show_bug.cgi?id=48479

        Added a fallback to Command::value so that commands with a state function without a value function
        returns the value returned by the state function as a string.

        * editing/EditorCommand.cpp:
        (WebCore::Editor::Command::value):

2010-10-28  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolling out r70800.

2010-10-28  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=48551
        HTMLDocument::isFrameSet() should not depend on renderer

        No change in functionality, so no new tests.

        * html/HTMLDocument.cpp: (WebCore::HTMLDocument::isFrameSet): Omit the check for renderer.

        * rendering/RenderLayer.h: Removed unneeded includes and forward declarations.

2010-10-28  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: make legacy resource tracking optional in the native code,
        make cookeis work against new resource manager.
        https://bugs.webkit.org/show_bug.cgi?id=48532

        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::resourceStyleSheetText):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::unbindAllResources):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::frameDetachedFromParent):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::markResourceAsCached):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::setResourceTrackingEnabled):
        (WebCore::InspectorController::getCookies):
        (WebCore::InspectorController::deleteCookie):
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        (WebCore::InspectorController::breakpointsSettingKey):
        (WebCore::InspectorController::getResourceContent):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::markFailed):
        * inspector/InspectorResource.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::populateObjectWithFrameResources):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):

2010-10-28  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: fix pausing on next JavaScript statement
        https://bugs.webkit.org/show_bug.cgi?id=48534

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::pause):
        (WebCore::InspectorDebuggerAgent::didPause):
        * inspector/InspectorDebuggerAgent.h:

2010-10-28  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by David Hyatt.

        Fix for Bug 14550 - Non-layout style change does not update nested first-letter
        https://bugs.webkit.org/show_bug.cgi?id=14550

        If a render text fragment is accompanied by a first letter, update the
        first letter's style when the fragment's style is changed.

        Test: fast/css/first-letter-nested.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange): Stop calling updateFirstLetter
        from here.
        * rendering/RenderBlock.h: Make updateFirstLetter accessbile from
        RenderTextFragment.
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::styleDidChange): If appropriate, update
        first letter after removing stale cached pseudo style.
        (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter): Helper
        to get the block for the first letter.
        * rendering/RenderTextFragment.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::removeCachedPseudoStyle): Remove the specified
        pseudo style from cache.
        * rendering/style/RenderStyle.h:

2010-10-28  Benoit Jacob  <bjacob@mozilla.com>

        Reviewed by Kenneth Russell.

        Ensure that WebGL stencil buffers are correctly initialized
        https://bugs.webkit.org/show_bug.cgi?id=48351

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):

2010-10-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Adele Peterson.

        AX: multi select group option does not handle setting of AXSelectedChildren correctly
        https://bugs.webkit.org/show_bug.cgi?id=48464

        Ensure that when selecting an item from a <select> element, it accounts for <optgroups>.

        Test: platform/mac/accessibility/select-element-selection-with-optgroups.html

        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::setSelected):

2010-10-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        No longer soft-link zlib
        https://bugs.webkit.org/show_bug.cgi?id=48004

        * platform/graphics/WOFFFileFormat.cpp:
        (WebCore::convertWOFFToSfnt): Removed Windows-speciific code to soft-link
        zlib.

2010-10-27  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Work around a Mac driver bug in generateMipmap
        https://bugs.webkit.org/show_bug.cgi?id=48489

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::generateMipmap): Make sure minFilter is set to NEAREST_MIPMAP_LINEAR before generateMipmap, and after the call, set it back to the original value.
        * html/canvas/WebGLTexture.h:
        (WebCore::WebGLTexture::getMinFilter): Return the cached minFilter value.

2010-10-28  Mikhail Naganov  <mnaganov@chromium.org>

        [Chromium clang] Unreviewed. Fix forward declaration of 'struct FileMetadata'.

        See http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Debug%20Clang/builds/753/steps/compile/logs/stdio

        * fileapi/FileSystemCallbacks.h:
        * platform/AsyncFileSystemCallbacks.h:

2010-10-28  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Bring backend-frontend message format to follow the protocol specification
        https://bugs.webkit.org/show_bug.cgi?id=48406

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.parseRuleArrayPayload):
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setCSSText):
        * inspector/front-end/DOMAgent.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.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/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype.update.callback):
        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
        (WebInspector.MetricsSidebarPane.prototype.update):
        (WebInspector.MetricsSidebarPane.prototype._update):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.callback):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
        (WebInspector.StylesSidebarPane.prototype._containsInherited):
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        (WebInspector.StylePropertyTreeElement):
        (WebInspector.StylePropertyTreeElement.prototype.get disabled):
        (WebInspector.StylePropertyTreeElement.prototype.get name):
        (WebInspector.StylePropertyTreeElement.prototype.get priority):
        (WebInspector.StylePropertyTreeElement.prototype.get value):
        (WebInspector.StylePropertyTreeElement.prototype.get parsedOk):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.):

2010-10-27  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        WebKit needs to expose an Element::spellcheck attribute to javascript.
        https://bugs.webkit.org/show_bug.cgi?id=25536

        Published Element.spellcheck property on IDL, implemented it.
        
        Tests: editing/spelling/spelling-attribute-change.html
               fast/dom/HTMLElement/spellcheck.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::spellcheck):
        (WebCore::HTMLElement::setSpellcheck):
        * html/HTMLElement.h:
        * html/HTMLElement.idl:

2010-10-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: make debugger work against new resource manager.
        https://bugs.webkit.org/show_bug.cgi?id=48376

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::identifierForInitialRequest):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set content):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype._createResource):
        (WebInspector.ResourceManager.prototype.willSendRequest):
        (WebInspector.ResourceManager.prototype._updateResourceWithRequest):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceManager.prototype._processCachedResources):
        (WebInspector.ResourceManager.prototype._addFramesRecursively):
        (WebInspector.ResourceManager.prototype.resourceForURL):
        (WebInspector.ResourceManager.prototype.addConsoleMessage):
        (WebInspector.ResourceManager.prototype.clearConsoleMessages):
        (WebInspector.ResourceManager.prototype.forAllResources):
        (WebInspector.ResourceManager.prototype._bindResourceURL):
        (WebInspector.ResourceManager.prototype._unbindResourceURL):
        (WebInspector.ResourceManager.getContent):
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
        (WebInspector.ResourceTreeModel.prototype._clearResources):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
        * inspector/front-end/networkPanel.css:
        (.network.panel .resources-dividers):

2010-10-28  Andy Estes  <aestes@apple.com>

        One more Qt fix due to r70754.

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

2010-10-28  Pascal Massimino  <pascal.massimino@gmail.com>

        Reviewed by Adam Barth.

        fix setSize() call flow: it was only called the first
        time (when onlySize is true)
        Bug URL: https://bugs.webkit.org/show_bug.cgi?id=48494

        Testing: difficult to exercise the bug, as it requires
        some manual flow (change tab, scroll,...)

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):
           fix: call setSize() even when onlySize is false

2010-10-28  Andy Estes  <aestes@apple.com>

        Fix the Qt build after r70754.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::hasValidClassId):
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLObjectElement.h:

2010-10-28  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        Fix a test failure introduced in r70748 by supporting Qt's non-standard
        use of classid.
        https://bugs.webkit.org/show_bug.cgi?id=45679

        * html/HTMLObjectElement.cpp:
        (WebCore::objectHasSupportedClassId): Return true if the object's
        serviceType is 'application/x-qt-plugin'.
        (WebCore::HTMLObjectElement::updateWidget): Do not render fallback
        content if a non-empty classid is specified for a Qt plugin object.

2010-10-28  Ivan Krstić  <ike@apple.com>

        Reviewed by Mark Rowe.

        Remove unused experimental proxied panel interface.
        <rdar://problem/7237059>

        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2010-10-27  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        r66156 broke AtlasCT library, formerly affected http://map.d.co.il/
        https://bugs.webkit.org/show_bug.cgi?id=45679

        This patch removes WebKit's map of classid values to MIME types. It also
        changes the behavior of object elements to render fallback content when
        a non-empty classid attribute is specified, which is the behavior HTML5
        specifies when a UA encounters a classid it doesn't understand.

        Test: fast/replaced/object-with-non-empty-classid-triggers-fallback.html

        * html/HTMLObjectElement.cpp: Remove serviceTypeForClassId(),
        createClassIdToTypeMap(), and the ClassIdToTypeMap typedef.
        (WebCore::HTMLObjectElement::updateWidget): Do not call
        serviceTypeForClassId() when there is no type attribute, and render
        fallback content if the classid attribute is non-empty.

2010-10-27  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        [Chromium] Metadata queries should return full file info, not just modification time
        https://bugs.webkit.org/show_bug.cgi?id=48098

        LayoutTests that use this functionality via WorkerAsyncFileWriter are in review.

        Build file changes to add FileMetadata.
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        The rest of the changes here just pass the new FileMetadata object through calls that used to take a modification time.
        * platform/FileMetadata.h: Added.
        (WebCore::FileMetadata::FileMetadata):
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::FileSystemCallbacksBase::didReadMetadata):
        (WebCore::MetadataCallbacks::didReadMetadata):
        * fileapi/FileSystemCallbacks.h:
        * platform/AsyncFileSystemCallbacks.h:

2010-10-27  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add VectorMath files
        https://bugs.webkit.org/show_bug.cgi?id=48467

        No new tests since audio API is not yet implemented.

        * platform/audio/VectorMath.cpp: Added.
        (WebCore::VectorMath::vsmul):
        (WebCore::VectorMath::vadd):
        * platform/audio/VectorMath.h: Added.

2010-10-27  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fixup files affected by VectorMath and related API changes
        https://bugs.webkit.org/show_bug.cgi?id=48481

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioBus.cpp:
        * platform/audio/AudioChannel.cpp:
        * platform/audio/Biquad.cpp:
        * platform/audio/FFTConvolver.cpp:
        * platform/audio/FFTConvolver.h:
        * platform/audio/Panner.cpp:
        (WebCore::Panner::create):
        * platform/audio/Reverb.cpp:
        (WebCore::calculateNormalizationScale):
        (WebCore::Reverb::initialize):
        (WebCore::Reverb::process):
        * platform/audio/ReverbAccumulationBuffer.cpp:
        * platform/audio/ReverbAccumulationBuffer.h:
        * platform/audio/ReverbConvolver.cpp:
        (WebCore::ReverbConvolver::ReverbConvolver):
        (WebCore::ReverbConvolver::process):
        * platform/audio/ReverbConvolver.h:
        * platform/audio/ReverbConvolverStage.cpp:
        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
        * platform/audio/ReverbConvolverStage.h:
        * platform/audio/ReverbInputBuffer.h:

2010-10-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        DOMFileSystem's reference should be kept while there're any active Entries/callbacks
        https://bugs.webkit.org/show_bug.cgi?id=47535

        Changed to keep DOMFileSystem's reference in each EntryBase, DirectoryReaderBase, EntryCallbacks and EntriesCallbacks.

        Test: fast/filesystem/filesystem-reference.html

        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::readDirectory): Changed to pass/take
        PassRefPtr but not a raw pointer.
        * fileapi/DOMFileSystemBase.h:
        * fileapi/DirectoryEntry.cpp:
        (WebCore::DirectoryEntry::DirectoryEntry): Ditto.
        (WebCore::DirectoryEntry::createReader):
        * fileapi/DirectoryEntry.h:
        (WebCore::DirectoryEntry::create): Ditto.
        * fileapi/DirectoryEntrySync.cpp:
        (WebCore::DirectoryEntrySync::DirectoryEntrySync): Ditto.
        * fileapi/DirectoryEntrySync.h:
        (WebCore::DirectoryEntrySync::create): Ditto.
        * fileapi/DirectoryReader.h:
        (WebCore::DirectoryReader::filesystem):
        * fileapi/DirectoryReaderBase.h:
        (WebCore::DirectoryReaderBase::filesystem):
        * fileapi/Entry.cpp:
        (WebCore::Entry::Entry): Ditto.
        * fileapi/Entry.h:
        (WebCore::Entry::filesystem):
        * fileapi/EntryBase.h:
        (WebCore::EntryBase::filesystem):
        (WebCore::EntryBase::EntryBase): Ditto.
        * fileapi/EntrySync.cpp:
        (WebCore::EntrySync::create): Ditto.
        (WebCore::EntrySync::getParent):
        (WebCore::EntrySync::EntrySync): Ditto.
        * fileapi/EntrySync.h:
        (WebCore::EntrySync::filesystem):
        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::FileEntry): Ditto.
        * fileapi/FileEntry.h:
        (WebCore::FileEntry::create): Ditto.
        * fileapi/FileEntrySync.cpp:
        (WebCore::FileEntrySync::FileEntrySync): Ditto.
        * fileapi/FileEntrySync.h:
        (WebCore::FileEntrySync::create): Ditto.
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::EntriesCallbacks::create): Ditto.
        (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
        * fileapi/FileSystemCallbacks.h:

2010-10-27  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Fix for Bug 48310 - SVG font-face-name without name attribute causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=48310

        Test: svg/custom/font-face-name-without-name-attr.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace): Don't create src
        property if the src value list is empty.
        * svg/SVGFontFaceSrcElement.cpp:
        (WebCore::SVGFontFaceSrcElement::srcValue): Don't add empty src
        values to the src value list.

2010-10-27  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Allow AudioDSPKernel to function without an AudioDSPKernelProcessor
        https://bugs.webkit.org/show_bug.cgi?id=48472

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioDSPKernel.h:
        (WebCore::AudioDSPKernel::AudioDSPKernel):
        (WebCore::AudioDSPKernel::sampleRate):

2010-10-27  Enrica Casucci  <enrica@apple.com>

        Reviewed by Alexey Proskuryakov.

        Support Appkit key bindings and custom key bindings in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=48271
        <rdar://problem/7660723>

        * dom/KeyboardEvent.h:
        (WebCore::KeypressCommand::KeypressCommand): Added default constructor and modified assert for text
        insertion command constructor to support WebKit2 scenarios.
        The default constructor is needed to support the generated WebKit2 message processing code.

2010-10-26  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
        https://bugs.webkit.org/show_bug.cgi?id=42322
        rdar://problem/8193631

        WebKitTestRunner needs to support layoutTestController.clearBackForwardList
        https://bugs.webkit.org/show_bug.cgi?id=42333
        rdar://problem/8193643

        * WebCore.exp.in: Updated exports.

        * history/BackForwardList.h: Added comments about future refactoring.
        Moved functions that are not called inside WebCore into a separate
        section, to be removed later. Added an isActive function to replace the
        use of enabled() and entries().

        * history/BackForwardListImpl.h: Removed isBackForwardListImpl.
        Marked virtual function overrides virtual explicitly, except for the
        ones that will be non-virtual once we make the changes above.
        Added the isActive function.

        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision): Use isActive.
        (WebCore::PageCache::canCache): Ditto.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkDidPerformFirstNavigation): Check
        using currentItem, backItem, and forwardItem instead of
        using entries.

        * page/Settings.cpp:
        (WebCore::Settings::setUsesPageCache): Loop through the back/forward
        list entries using backListCount and forwardListCount instead of
        using entries.

2010-10-27  Chris Rogers  <crogers@google.com>

        Reviewed by Chris Marrin.

        Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
        https://bugs.webkit.org/show_bug.cgi?id=48279

        No new tests since flag is disabled.

        * Configurations/FeatureDefines.xcconfig:

2010-10-27  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioResamplerKernel files
        https://bugs.webkit.org/show_bug.cgi?id=47624

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioResamplerKernel.cpp: Added.
        (WebCore::AudioResamplerKernel::AudioResamplerKernel):
        (WebCore::AudioResamplerKernel::getSourcePointer):
        (WebCore::AudioResamplerKernel::process):
        (WebCore::AudioResamplerKernel::reset):
        (WebCore::AudioResamplerKernel::rate):
        * platform/audio/AudioResamplerKernel.h: Added.

2010-10-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Ojan Vafai.

        REGRESSION(66511): CORDYS Process Factory doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=48453

        When Ojan refactored this function in 66511, he missed an "else",
        which causes us to generated HIERARCHY_REQUEST_ERR in some cases where
        we're not supposed to.  This patch restores the "else" behavior (using
        an early return) and adds a test for the cases that caused problems in
        the field.

        Test: fast/dom/allowed-children.html

        * dom/Node.cpp:
        (WebCore::isChildTypeAllowed):

2010-10-27  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit 
        SPI to scale a WebView
        -and corresponding-
        <rdar://problem/8107667>

        This patch adds SPI to Mac WebKit that scales the page by the given 
        scale factor. The scale factor is factored into the RenderStyle's 
        transform.

        Set the current pageScale for the document.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):

        Frame keeps track of the page scale factor. When 
        scalePage() is called, it modifies the RenderView's style to 
        include a transform of the appropriate scale and forces a style 
        recalc.
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::scalePage):
        * page/Frame.h:
        (WebCore::Frame::pageScaleFactor):
        * WebCore.exp.in:

        Add a scale to the transformation matrix.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setPageScaleTransform):
        * rendering/style/RenderStyle.h:

2010-10-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r70335): Incorrect article layout in Safari Reader
        https://bugs.webkit.org/show_bug.cgi?id=48436

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules): Return rules from all origins if the cross-origin
        check is disabled.
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Initialize m_crossOriginCheckInGetMatchedCSSRulesDisabled.
        * page/Settings.h:
        (WebCore::Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled): Added this accessor.
        (WebCore::Settings::crossOriginCheckInGetMatchedCSSRulesDisabled): Ditto.

2010-10-27  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        refactor the nested large switch statements in GraphicsContext3DCG.cpp:getImageData()
        https://bugs.webkit.org/show_bug.cgi?id=47027

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::doPacking): ASSERT false if undefined format is passed in.
        * platform/graphics/GraphicsContext3D.h: Add kSourceFormatUndefined enum.
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::getSourceDataFormat): Decide source data format from componentsPerPixel, alpha format, bitsPerComponet, etc.
        (WebCore::GraphicsContext3D::getImageData): Refactor the code to use getSourceDataFormat and remove nested switches.

2010-10-27  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Use WTF::StringHasher::createBlobHash where possible
        https://bugs.webkit.org/show_bug.cgi?id=48228

        Replace StringImpl::computeHash with StringHasher::createBlobHash.
        This removes many duplicated code.

        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::PODTypeWrapperCacheInfoHash::hash):
        * page/SecurityOriginHash.h:
        (WebCore::SecurityOriginHash::hash):
        * platform/cf/SchedulePair.h:
        (WebCore::SchedulePairHash::hash):
        * platform/graphics/FontCache.cpp:
        (WebCore::computeHash):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        (WebCore::FontPlatformData::RefCountedHFONT::hash):
        * platform/graphics/cocoa/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/gtk/FontPlatformDataPango.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/wince/FontPlatformData.cpp:
        (WebCore::FixedSizeFontDataKeyHash::hash):
        * platform/graphics/wx/FontPlatformDataWx.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::computeHash):
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::hash):
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::hash):
        * svg/DeprecatedSVGAnimatedTemplate.h:
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
        * svg/properties/SVGAnimatedPropertyDescription.h:
        (WebCore::SVGAnimatedPropertyDescriptionHash::hash):

2010-10-27  Tony Chang  <tony@chromium.org>

        Unreviewed, build fix after r70692.

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

2010-10-27  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed. Build fix after r70651.

        * CMakeListsEfl.txt: Add SoupURIUtils.cpp.

2010-10-27  Crystal Zhang  <haizhang@rim.com>

        Reviewed by Eric Carlson.

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

        Fix an issue where we were passing the wrong parameter
        to MIMETypeRegistry::getMIMETypeForExtension().

        * platform/MIMETypeRegistry.cpp:

2010-10-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=48449
        
        Make border drawing work correctly with vertical inline flows.  The top and bottom edge have to be omitted
        rather than the left and right edges.
        
        Also discovered that border-radius is broken with the new path-based-drawing code for all inline flows.  This
        is a regression from the old drawing code.  I patched the code to be correct rather than clipping out stuff
        that it shouldn't and applying border-radii on lines that don't even have them.

        Added fast/blockflow/border-vertical-lr.html and fast/borders/border-radius-inline-flow.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        * rendering/RenderBoxModelObject.h:

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

        Reviewed by Gustavo Noronha Silva.

        [Cairo] Font fallback determination is very ineffecient
        https://bugs.webkit.org/show_bug.cgi?id=42052

        When choosing a fallback font in FontCache::getFontDataForCharacters, use FontConfig's
        mechanism for searching the fallback list directly, instead of scanning the list manually.
        If the font is a custom font or any other font with no FontConfig pattern associated with
        it, as FontConfig for a font that can supply the missing glyphs.

        Test: platform/gtk/fonts/custom-font-missing-glyphs.html

        * platform/graphics/cairo/FontCacheFreeType.cpp:
        (WebCore::createFontConfigPatternForCharacters): Added this helper which turns
        a collection of unicode characters into a FontConfig pattern.
        (WebCore::findBestFontGivenFallbacks): Using a FontConfig pattern created with th
        above helper and a FcFontSet of fallback fonts, this helper will find a font in
        the set which fulfills the requirments.
        (WebCore::FontCache::getFontDataForCharacters): Given an existing font with missing
        glyphs, either find an appropriate fallback font from the list of FontConfig fallbacks
        or ask FontConfig directly for an appropriate font.
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Made a member mutable, as it is
        initialized lazily.

2010-10-27  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: "Reload Page and Audit on Load" fails to run audits when resource tracking is disabled
        https://bugs.webkit.org/show_bug.cgi?id=48431

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._createPanelEnabler):
        (WebInspector.ResourcesPanel.prototype._enableResourceTracking):

2010-10-27  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Add a function to make sure child is allowed before adding to a
        render view. 
        https://bugs.webkit.org/show_bug.cgi?id=48328 

        Test: fast/inline/inline-child-height-width-calc-crash.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::isChildAllowed):
        * rendering/RenderView.h:

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

        Reviewed by Gustavo Noronha Silva.

        [GTK] r69296 includes a cast from GdkWindow* to GtkWindow*
        https://bugs.webkit.org/show_bug.cgi?id=48445

        Pass the pageClient GtkWidget* to gtk_xtbin_new instead of the
        GdkWindow*. The pageClient is used to get the proper visual for the
        plugin container widget.

        No new tests. This patch should prevent plugins/null-npp-getvalue-pointer.html
        from crashing.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart): Pass the widget instead of the window.
        * plugins/gtk/gtk2xtbin.c: Accept the widget instead of the window.
        (gtk_xtbin_new):
        * plugins/gtk/gtk2xtbin.h: Update the declaration.

2010-10-27  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by James Robinson.

        [BREWMP] Port graphics backend
        https://bugs.webkit.org/show_bug.cgi?id=40275

        Add PLATFORM(BREWMP) guard to skia's FontCustomPlatformData
        to share OS(LINUX) implementation.

        * loader/CachedFont.cpp:
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.h:

2010-10-27  Satish Sampath  <satish@chromium.org>

        Unreviewed, rolling out r70665.
        http://trac.webkit.org/changeset/70665
        https://bugs.webkit.org/show_bug.cgi?id=47089

        Need to address Alexey's review comments.

        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-27  ZHenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Must enable GL_POINT_SPRITE in GraphicsContext3D implementations
        https://bugs.webkit.org/show_bug.cgi?id=45908

        * platform/graphics/mac/GraphicsContext3DMac.mm: Enable for Mac port.
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2010-10-27  Leandro Gracia Gil  <leandrogracia@google.com>

        Reviewed by Jeremy Orlow.

        Patch the current speech input implementation to use the nearest
        language tag. The language is now passed to the startRecognition
        methods so that language-specific recognition could be used. Also added
        a second parameter to setMockSpeechInputResult for the language used in
        speech recognition.
        https://bugs.webkit.org/show_bug.cgi?id=47089

        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
        details see http://codereview.chromium.org/3615005/show and
        http://codereview.chromium.org/3595018/show. The last of the 4 patches
        depends also on the language tag validation provided by this patch:
        https://bugs.webkit.org/show_bug.cgi?id=48225.

        Test: fast/speech/input-text-language-tag.html

        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Make basic layer positioning work with vertical-lr writing-mode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintFloats):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
        (WebCore::RenderBox::locationOffsetIncludingFlipping):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):

2010-10-27  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        object-deletion-behaviour.html fails with mesa backend
        https://bugs.webkit.org/show_bug.cgi?id=46667

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): If object_type is 0, we return early because object_name should be always be 0.

2010-10-27  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        If WebGL is running on top of a strict version of OpenGL ES it should make sure attribs have buffers assigned at all times
        https://bugs.webkit.org/show_bug.cgi?id=47964

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateRenderingState): Minimum checking: if input <= 0, only check if each enabled vertex attribute is bound to a buffer.
        (WebCore::WebGLRenderingContext::drawArrays): If underlying GL performs bounds checking, we still need to do the minimum checking using validateRenderingState.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        * html/canvas/WebGLRenderingContext.h: Add a comment for input <= 0 in validateRenderingState.

2010-10-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Accelerated animation with missing values in keyframes is broken
        https://bugs.webkit.org/show_bug.cgi?id=48395

        r66339 changed the behavior of keyframe animations such that if a property
        is missing from a keyframe, the property will be interpolated between those
        keyframes that do have a value for the property. If a value is missing
        from the first or last keyframes, the element's unanimated style supplies
        that value.
        
        However, accelerated animations had a bug where if a value was missing
        from the first (and maybe subsequent) or last (and maybe preceding) keyframes,
        the animation data given to the GraphicsLayer would be missing the style from the
        first or final keyframe.

        Tests: animations/missing-values-first-keyframe.html
               animations/missing-values-last-keyframe.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation):

2010-10-27  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Dirk Schulze.

        Calling the super class of RenderSVGImage::updateFromElement is missing
        https://bugs.webkit.org/show_bug.cgi?id=48347

        RenderSVGImage::updateFromElement is an inherited function of RenderSVGModelObject what needs calling its ancestor.
        Lack of this call caused filters were not invalidated at SVGImage objects.

        No new tests, because this modification is covered by SVGFEConvolveMatrixElement's dynamic update tests.

        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::updateFromElement):

2010-10-27  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dirk Schulze.

        Ignore invalid blend modes
        https://bugs.webkit.org/show_bug.cgi?id=48371

        Test: svg/filters/feBlend-invalid-mode.xhtml

        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::apply):

2010-10-27  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] http/tests/xmlhttprequest/basic-auth-default.html fails
        https://bugs.webkit.org/show_bug.cgi?id=38956

        Added a new utility function that turns SoupURIs into
        KURLs. That addresses some issues with SoupURIs like for example
        soup_uri_to_string ignoring the URI password. Basic authentication
        using URL credentials should work now.

        * GNUmakefile.am:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateFromSoupMessage):
        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::updateFromSoupMessage):
        * platform/network/soup/SoupURIUtils.cpp: Added.
        (WebCore::soupURIToKURL):
        * platform/network/soup/SoupURIUtils.h: Added.

2010-10-27  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by Andreas Kling.

        Remove references to ancient QGVLauncher and QtLauncher
        https://bugs.webkit.org/show_bug.cgi?id=48430

        * manual-tests/plugins/windowed.html: change to QtTestBrowser
        * manual-tests/plugins/windowless.html: ditto

2010-10-27  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [WINCE] Buildfix after r70400.
        https://bugs.webkit.org/show_bug.cgi?id=48419

        * platform/wince/TemporaryLinkStubs.cpp: Added.
        (WebCore::setCookieStoragePrivateBrowsingEnabled):

2010-10-27  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Add runtime flag check before enabling speech input in code.
        https://bugs.webkit.org/show_bug.cgi?id=48426

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isSpeechEnabled): Added runtime flag check.

2010-10-27  Adam Roben  <aroben@apple.com>

        Only decompress pixel buffers when needed (and fix a crash in the
        process)

        Fixes <http://webkit.org/b/48417> Crash when running
        compositing/video/video-background-color.html on Windows

        Reviewed by Anders Carlsson.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Only
        decompress the pixel buffer when it has an incompatible format. This
        also has the benefit of only decompressing the buffer when a
        QTDecompressionSession has been created! (I assume this was just a typo
        from when this code was added in r70252.)

2010-10-27  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        getTextAtOffset returns incorrect results if a link includes text and an image
        https://bugs.webkit.org/show_bug.cgi?id=47365

        Properly consider text under a non-text renderer in textForObject.

        We need to check all the children under a non-text renderer, if
        any, to consider when current object is not a text object but some
        of its children are, in order not to miss those portions of text
        by not properly handling those situations.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (textForRenderer): New. Get the text for a RenderObject's children.
        (textForObject): Use the new textForRenderer function.

2010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Convert SVGRect to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48204

        Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
        Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.

        Test: svg/dom/SVGRect.html

        * GNUmakefile.am: Add SVGAnimatedRect.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAngle.idl: Remove [SVGProperty] flag.
        * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
        * svg/SVGAnimatedLength.idl: Ditto.
        * svg/SVGAnimatedLengthList.idl: Ditto.
        * svg/SVGAnimatedRect.h: Added.
        * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
        * svg/SVGLength.idl: Remove [SVGProperty] flag.
        * svg/SVGMarkerElement.h:
        * svg/SVGPatternElement.h:
        * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
        * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
        (WebCore::SVGSVGElement::currentView):
        (WebCore::SVGSVGElement::inheritViewAttributes):
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
        * svg/SVGSymbolElement.h:
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
        (WebCore::SVGViewSpec::SVGViewSpec):
        * svg/SVGViewSpec.h: Ditto.
        (WebCore::SVGViewSpec::contextElement):
        * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
        * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.

2010-10-27  Pavel Podivilov  <podivilov@chromium.org>

        Unreviewed, fix line endings in InspectorState.h

        * inspector/InspectorState.h:

2010-10-27  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move frontend settings to local storage
        https://bugs.webkit.org/show_bug.cgi?id=47715

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.prototype.installApplicationSetting):
        (WebInspector.Settings.prototype.installProjectSetting):
        (WebInspector.Settings.prototype._get):
        (WebInspector.Settings.prototype._set):
        (WebInspector.Settings.prototype._getProjectSetting):
        (WebInspector.Settings.prototype._setProjectSetting):
        (WebInspector.Settings.prototype._formatProjectKey):
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane):
        (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
        * inspector/front-end/inspector.js:
        (WebInspector.reset):

2010-10-27  Andy Estes  <aestes@apple.com>

        Reviewed by David Hyatt.

        Siblings of floated elements should be cleared below the float if they
        are too wide to fit in the containing block.
        https://bugs.webkit.org/show_bug.cgi?id=48396

        Test: fast/block/float/clear-element-too-wide-for-containing-block.html

        WebKit did not clear elements adjacent to floats if they were wider than
        the containing block, instead keeping them on the same line and allowing
        them to spill out the right side of the containing block. We should
        match the spec in this regard and clear the element below the float even
        if it is too wide for the containing block. Doing this seems to also
        match IE's and Firefox's behavior.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::getClearDelta): Continue to compute the clear
        delta even if the child's minimum preferred width is greater than the
        containing block's available width.

2010-10-26  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Nikolas Zimmermann.

        Title-Element has no popup on <svg>-Elements, but on <g>
        https://bugs.webkit.org/show_bug.cgi?id=47669

        Allow tooltips on non-root svg elements.

        No new tests.

        * svg/SVGStyledElement.cpp:

2010-10-26  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        constraint validation: stepMismatch (rounding error)
        https://bugs.webkit.org/show_bug.cgi?id=48220

        1. Changed the computation to achieve difference from a integral
        multiple of the allowed value step.

        The previous fmod(doubleValue, step) sometimes returned unacceptable
        remainder. For example,
            double doubleValue = 1.005; // Actually, near to 1.005
            double step = 0.005; // Actually, near to 0.005
            fmod(doubleValue, step) ==> (near to) 0.005
        It's a case that doubleValue is a little smaller than 1.005 and step is
        a little larger than 0.005.

        2. Changed the error threshold.

        Number values in HTML5 are expressed in IEEE 754 single-precision.
        Too precise comparison sometimes leads unintended errors.

        For example, I found a case :
                  remainder = 0.00000000000000022204460
            acceptableError = 0.00000000000000007105427

        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::stepMismatch):

2010-10-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add DelayNode files
        https://bugs.webkit.org/show_bug.cgi?id=47516

        No new tests since audio API is not yet implemented.

        * webaudio/DelayNode.cpp: Added.
        (WebCore::DelayNode::DelayNode):
        (WebCore::DelayNode::delayTime):
        * webaudio/DelayNode.h: Added.
        (WebCore::DelayNode::create):
        (WebCore::DelayNode::delayProcessor):
        * webaudio/DelayNode.idl: Added.

2010-10-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        AudioContext and AudioNode followup changes for AudioNodeInput/AudioNodeOutput thread safety
        https://bugs.webkit.org/show_bug.cgi?id=47504

        No new tests since audio API is not yet implemented.

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::isAudioThread):
        (WebCore::AudioContext::isGraphOwner):
        (WebCore::AudioContext::handlePreRenderTasks):
        (WebCore::AudioContext::handlePostRenderTasks):
        (WebCore::AudioContext::deleteMarkedNodes):
        (WebCore::AudioContext::markAudioNodeInputDirty):
        (WebCore::AudioContext::markAudioNodeOutputDirty):
        (WebCore::AudioContext::handleDirtyAudioNodeInputs):
        (WebCore::AudioContext::handleDirtyAudioNodeOutputs):
        * webaudio/AudioContext.h:
        * webaudio/AudioNode.cpp:
        * webaudio/AudioNode.h:
        (WebCore::AudioNode::isMarkedForDeletion):
        * webaudio/AudioNode.idl:

2010-10-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add DelayProcessor files
        https://bugs.webkit.org/show_bug.cgi?id=47517

        No new tests since audio API is not yet implemented.

        * webaudio/DelayProcessor.cpp: Added.
        (WebCore::DelayProcessor::DelayProcessor):
        (WebCore::DelayProcessor::~DelayProcessor):
        (WebCore::DelayProcessor::createKernel):
        * webaudio/DelayProcessor.h: Added.
        (WebCore::DelayProcessor::delayTime):

2010-10-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioNodeOutput files
        https://bugs.webkit.org/show_bug.cgi?id=45581

        No new tests since audio API is not yet implemented.

        * webaudio/AudioNodeOutput.cpp: Added.
        (WebCore::AudioNodeOutput::AudioNodeOutput):
        (WebCore::AudioNodeOutput::setNumberOfChannels):
        (WebCore::AudioNodeOutput::setInternalBus):
        (WebCore::AudioNodeOutput::updateRenderingState):
        (WebCore::AudioNodeOutput::updateNumberOfChannels):
        (WebCore::AudioNodeOutput::propagateChannelCount):
        (WebCore::AudioNodeOutput::pull):
        (WebCore::AudioNodeOutput::bus):
        (WebCore::AudioNodeOutput::renderingFanOutCount):
        (WebCore::AudioNodeOutput::fanOutCount):
        (WebCore::AudioNodeOutput::addInput):
        (WebCore::AudioNodeOutput::removeInput):
        (WebCore::AudioNodeOutput::disconnectAllInputs):
        (WebCore::AudioNodeOutput::disable):
        (WebCore::AudioNodeOutput::enable):
        * webaudio/AudioNodeOutput.h: Added.
        (WebCore::AudioNodeOutput::node):
        (WebCore::AudioNodeOutput::context):
        (WebCore::AudioNodeOutput::numberOfChannels):
        (WebCore::AudioNodeOutput::isChannelCountKnown):

2010-10-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioNodeInput files
        https://bugs.webkit.org/show_bug.cgi?id=45577

        No new tests since audio API is not yet implemented.

        * webaudio/AudioNodeInput.cpp: Added.
        (WebCore::AudioNodeInput::AudioNodeInput):
        (WebCore::AudioNodeInput::connect):
        (WebCore::AudioNodeInput::disconnect):
        (WebCore::AudioNodeInput::disable):
        (WebCore::AudioNodeInput::enable):
        (WebCore::AudioNodeInput::changedOutputs):
        (WebCore::AudioNodeInput::updateRenderingState):
        (WebCore::AudioNodeInput::numberOfChannels):
        (WebCore::AudioNodeInput::numberOfRenderingChannels):
        (WebCore::AudioNodeInput::bus):
        (WebCore::AudioNodeInput::internalSummingBus):
        (WebCore::AudioNodeInput::sumAllConnections):
        (WebCore::AudioNodeInput::pull):
        * webaudio/AudioNodeInput.h: Added.
        (WebCore::AudioNodeInput::node):
        (WebCore::AudioNodeInput::context):
        (WebCore::AudioNodeInput::numberOfRenderingConnections):
        (WebCore::AudioNodeInput::renderingOutput):
        (WebCore::AudioNodeInput::isConnected):
        (WebCore::AudioNodeInput::numberOfConnections):

2010-10-26  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        Rolling in r70512 again, added missing null-check to
        Editor::isSpellCheckingEnabled().
        http://trac.webkit.org/changeset/70512

        spellcheck='' should be the same as spellcheck="true"
        https://bugs.webkit.org/show_bug.cgi?id=25539

        * dom/Element.cpp:
        (WebCore::Element::spellcheckAttributeState):
        (WebCore::Element::isSpellCheckingEnabled):
        * dom/Element.h:
        * editing/Editor.cpp:
        (WebCore::markMisspellingsOrBadGrammar):
        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/Editor.h:
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2010-10-26  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fixes.

        * WebCore.vcproj/WebCore.vcproj: Turn off several non-WinCairo
        files.  We don't support CoreAnimation!
        * WebCore.vcproj/WebCoreCairo.vsprops: Add missing include path
        for 'image-decoders/webp'
        * platform/network/curl/CookieJarCurl.cpp:
        (WebCore::setCookieStoragePrivateBrowsingEnabled): Add build stub.

2010-10-26  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        Crash in CompositeEditCommand::splitTreeToNode
        https://bugs.webkit.org/show_bug.cgi?id=48349

        The bug was caused by indentIntoBlockquote's passing null pointer to splitTreeToNode.
        Fixed the crash by adding early exits.

        Test: editing/execCommand/indent-node-to-split-to-crash.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::splitTreeToNode):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentIntoBlockquote):

2010-10-26  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        REGRESSION(r67170): crash in removeImplicitlyStyledElement
        https://bugs.webkit.org/show_bug.cgi?id=48389

        Fixed the crash by adding a null pointer check.

        Test: editing/style/invalid-font-size.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):

2010-10-26  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r70573.
        http://trac.webkit.org/changeset/70573
        https://bugs.webkit.org/show_bug.cgi?id=48204

        Broke 39 tests on Chromium

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * svg/DeprecatedSVGAnimatedPropertyTraits.h:
        * svg/DeprecatedSVGAnimatedTemplate.h:
        * svg/SVGAngle.idl:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedRect.h: Removed.
        * svg/SVGFitToViewBox.h:
        * svg/SVGLength.idl:
        * svg/SVGMarkerElement.h:
        * svg/SVGPatternElement.h:
        * svg/SVGRect.idl:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentView):
        (WebCore::SVGSVGElement::inheritViewAttributes):
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl:
        * svg/SVGSymbolElement.h:
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::SVGViewSpec):
        * svg/SVGViewSpec.h:
        (WebCore::SVGViewSpec::contextElement):
        * svg/SVGZoomEvent.idl:
        * svg/properties/SVGAnimatedPropertyMacros.h:

2010-10-26  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * platform/graphics/mac/FontMac.mm:
        (WebCore::showGlyphsWithAdvances):

2010-10-26  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Dmitry Titov.

        Resource tracking failure when trying to move a frame between documents
        https://bugs.webkit.org/show_bug.cgi?id=44713

        Test: fast/frames/iframe-reparenting-fail-load.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
        Added method that notifies the client to update resource tracking for
        loading resources that have been transferred to a different page.
        * loader/DocumentLoader.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
        Empty method.
        * loader/FrameLoader.h:
        * loader/FrameLoader.cpp:
        Added method that triggers resource tracking updates. This wraps
        the DocumentLoader method as it appears DocumentLoader is opaque
        to Frame.
        * loader/FrameLoaderClient.h:
        Added API to notify the client to update resource tracking for
        a loading resource that has been transferred to a different page.
        * page/Frame.cpp:
        (WebCore::Frame::transferChildFrameToNewDocument):
        Update resource tracking if page has changed.

2010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Convert SVGRect to the new SVGPropertyTearOff concept
        https://bugs.webkit.org/show_bug.cgi?id=48204

        Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
        Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.

        Test: svg/dom/SVGRect.html

        * GNUmakefile.am: Add SVGAnimatedRect.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAngle.idl: Remove [SVGProperty] flag.
        * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
        * svg/SVGAnimatedLength.idl: Ditto.
        * svg/SVGAnimatedLengthList.idl: Ditto.
        * svg/SVGAnimatedRect.h: Added.
        * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
        * svg/SVGLength.idl: Remove [SVGProperty] flag.
        * svg/SVGMarkerElement.h:
        * svg/SVGPatternElement.h:
        * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
        * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
        (WebCore::SVGSVGElement::currentView):
        (WebCore::SVGSVGElement::inheritViewAttributes):
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
        * svg/SVGSymbolElement.h:
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
        (WebCore::SVGViewSpec::SVGViewSpec):
        * svg/SVGViewSpec.h: Ditto.
        (WebCore::SVGViewSpec::contextElement):
        * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
        * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.

2010-10-26  takano takumi  <takano1@asia.apple.com>

        Reviewed by Dave Hyatt.

        Advances are wrong and glyphs are rotated improperly in vertical writing
        https://bugs.webkit.org/show_bug.cgi?id=48315

        We shouldn't use vertical metrics for Roman fonts. Also, we should rotate vertical variant
        glyphs back on drawing as the whole run has already been rotated beforehand.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData): Changed to ignore vertical orientation when the font doesn't support vertical metrics.
        * platform/graphics/mac/FontMac.mm:
        (WebCore::showGlyphsWithAdvances): Changed to rotate glyphs -90 degree for vertical variants.
        (WebCore::Font::drawGlyphs):

2010-10-26  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Add a 'grammar' attribute for speech input.
        https://bugs.webkit.org/show_bug.cgi?id=48339

        To differentiate between various types of speech input, we add a 'x-webkit-grammar' attribute to a
        speech enabled input element. This is passed without validation to the speech recognizer. Typical values
        could be "builtin:search", "builtin:dictation" and even an externally hosted SRGS grammar XML file URI.
        It is up to the recognizer to interpret the value and use it as an aid in recognition.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.idl:
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2010-10-26  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: console does not work after two reloads.
        https://bugs.webkit.org/show_bug.cgi?id=48318

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disconnectFrontend):

2010-10-26  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: console doesn't work in closures when window is overrode 
        https://bugs.webkit.org/show_bug.cgi?id=48320

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

2010-10-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix an assert with QtPixmapInstance creation.
        https://bugs.webkit.org/show_bug.cgi?id=48323

        This places the newly refcounted QtPixmapInstance in a RefPtr
        to prevent an assert on the first ref() call.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):

2010-10-26  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        Input Method inserts conversion candidates unexpectedly
        https://bugs.webkit.org/show_bug.cgi?id=46868

        Calls updateStyleIfNeeded() before setting selection for the composition to
        avoid inserting the previous composition text into a content editable element
        which has an event handler that changes the style of the element.

        Test: platform/chromium/fast/text/chromium-mac-duplicate-ime-composition.html

        * editing/Editor.cpp:
        (WebCore::Editor::setComposition): calls updateStyleIfNeeded() before setting selection.

2010-10-26  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [Gtk] Layout tables should indicate that they are not data tables via an object attribute
        https://bugs.webkit.org/show_bug.cgi?id=35422

        Set the 'layout-guess' attribute to 'true' for data tables.

        Reorganized some code in AccessibilityTable so now the function
        isDataTable() is more coherent by just answering that very
        specific question, regardless of whether the table is being
        exposed or not to Assistive Technologies.

        Hence, now it's possible to make two questions separately instead
        of just one, meaning that the new function isAccessibleTable() is
        now what we formerly defined as the isDataTable() function.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isAccessibilityTable):
           New function to allow asking tables both whether they are
           exposed and whether they are data tables, which are different
           questions whose answers might be the same in many situations,
           but different sometimes (as it can happen in the GTK port).
        * accessibility/AccessibilityTable.h:
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::hasARIARole):
           New, checks whether the table has a valid ARIA role.
        (WebCore::AccessibilityTable::isAccessibilityTable):
           New, returns the value of m_isAccessibilityTable. It's
           basically the former isDataTable() function renamed.
        (WebCore::AccessibilityTable::isDataTable):
           Changed behaviour. Instead of just returning the value of
           m_isAccessibilityTable as it did so far (which was confusing
           because of that's not what the name suggests), focus on
           checking whether it's a data table or not and return a bool
           value accordingly. It's basically a rename of the former
           isTableExposableThroughAccessibility() function, but withouth
           the GTK-specific if-endif region (which didn't make sense
           here now, because that was answering the question "is the table
           exposed in the GTK port?", instead of "is it a data table?").
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
           Uses the hasAriaRole(), and isDataTable() to determine whether
           a table should be exposed or not. Also includes the GTK-specific
           if-region coming from the former implementation of the function
           isTableExposableThroughAccessibility() not to check whether it's
           a data table in case the rest of the checks succeeded (all
           tables are exposed in the GTK port).
        (WebCore::AccessibilityTable::addChildren):
           Replace usage of isDataTable() with isAccessibilityTable(), to
           keep exactly the same behaviour happening before this patch.
        (WebCore::AccessibilityTable::roleValue): Ditto.
        (WebCore::AccessibilityTable::accessibilityIsIgnored): Ditto.
        (WebCore::AccessibilityTable::title): Ditto.

        Updated usage of the former function isDataTable() everywhere
        else, replacing it with the new isAccessibilityTable(), so keeping
        exactly the same behaviour happening before this patch.

        * accessibility/AccessibilityARIAGrid.cpp:
        (WebCore::AccessibilityARIAGrid::addChildren):
           Use isAccessibilityTable() instead of isDataTable().
        * accessibility/AccessibilityARIAGridCell.cpp:
        (WebCore::AccessibilityARIAGridCell::parentTable): Ditto.
        * accessibility/AccessibilityARIAGridRow.cpp:
        (WebCore::AccessibilityARIAGridRow::disclosedRows): Ditto.
        (WebCore::AccessibilityARIAGridRow::disclosedByRow): Ditto.
        (WebCore::AccessibilityARIAGridRow::parentTable): Ditto.
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::isTableCell):
           Use isAccessibilityTable() instead of isDataTable().
        * accessibility/AccessibilityTableHeaderContainer.cpp:
        (WebCore::AccessibilityTableHeaderContainer::addChildren): Ditto.
        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::isTableRow): Ditto
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
           Use isAccessibilityTable() instead of isDataTable().
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): Ditto.
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.

        Use the new function isAccessibilityTable() together with the
        modified implementation of isDataTable() to set the 'layout-guess'
        attribute when needed.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_attributes):
           Set the 'layout-guess' attribute to 'true' to help Assistive
           Technologies guessing which tables are not data tables.

2010-10-26  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Resuming animations causes webkitAnimationStart events to be fired
        https://bugs.webkit.org/show_bug.cgi?id=46540

        Added a flag that makes sure start animation event is only ever
        fired once. 

        Test: animations/suspend-resume-animation-events.html

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::KeyframeAnimation):
        (WebCore::KeyframeAnimation::sendAnimationEvent):
        * page/animation/KeyframeAnimation.h:

2010-10-26  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        Added checks to ensure that events types are right before casting. 
        https://bugs.webkit.org/show_bug.cgi?id=48345

        * html/ImageDocument.cpp:
        (WebCore::ImageEventListener::handleEvent):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::handleEvent):

2010-10-26  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Number values for form controls should be in the range of IEEE 754
        single-precision floating point number
        https://bugs.webkit.org/show_bug.cgi?id=48221

        Changed the range of number values to fit in IEEE 754 single-precision

        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberType):
        * html/NumberInputType.cpp:

2010-10-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=48157
        
        Direction and writing-mode should propagate from the <body> to the <html> to the initial containing block.
        Modify the existing code that propagates from the document element to also propagate from the body.
        
        Fix the buggy code that was trying to dirty the body when the view changed size if it stretched to fill the
        viewport.  The code didn't consider the root element, and it only worked with one axis.  I pulled it
        out of calculateScrollbarModesForLayout, since it should never have been put there in the first place.
        
        Added four new tests in fast/blockflow.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initElement):
        (WebCore::CSSStyleSelector::styleForDocument):
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::directionSetOnDocumentElement):
        (WebCore::Document::writingModeSetOnDocumentElement):
        (WebCore::Document::setDirectionSetOnDocumentElement):
        (WebCore::Document::setWritingModeSetOnDocumentElement):
        * page/FrameView.cpp:
        (WebCore::FrameView::calculateScrollbarModesForLayout):
        (WebCore::FrameView::layout):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::stretchesToViewport):

2010-10-26  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Fix Cache::dumpStats formatting
        https://bugs.webkit.org/show_bug.cgi?id=48286

        This updates the column width in the dumpStats output to be wide enough
        for all the titles. Previously one of the titles was too wide and crept
        into later column space.

        * loader/Cache.cpp:
        (WebCore::Cache::dumpStats): make columns 13 characters wide.

2010-10-26  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Check getGraphicsResetStatusARB and reinitialize the
        renderer in an error is returned.
        https://bugs.webkit.org/show_bug.cgi?id=47848

        Tested by failure injection (stopping in the debugger and issuing a
        jump as if an error has occurred).

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerRenderer):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::transferRootLayer): added

2010-10-26  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Touching inspector controller to kick gtk build, removing comments.

        * inspector/InspectorController.cpp:
        * inspector/front-end/ResourceManager.js:
        * inspector/front-end/ScriptsPanel.js:

2010-10-26  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: continue making resources panel optional.
        https://bugs.webkit.org/show_bug.cgi?id=48261

        This refactoring makes console, audits and extensions tests pass while taking data from
        resources panel. Network panel as a source is to follow.

        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditsPanel.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        (WebInspector.ExtensionServer.prototype._onGetResources):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype.buildMainResourceTimings):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype.get resources):
        (WebInspector.NetworkPanel.prototype.addResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set category):
        * inspector/front-end/ResourceCategory.js:
        (WebInspector.ResourceCategory):
        (WebInspector.ResourceCategory.prototype.toString):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype.willSendRequest):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.addResource):
        (WebInspector.ResourcesPanel.prototype.removeResource):
        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
        * inspector/front-end/inspector.js:
        (WebInspector._updateFocusedNode):
        (WebInspector.get networkResources):
        (WebInspector.forAllResources):
        (WebInspector.resourceForURL):
        (WebInspector.updateResource):
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.removeResource):
        (WebInspector.reset):
        (WebInspector.displayNameForURL):
        (WebInspector.linkifyStringAsFragment):
        (WebInspector.resourceURLForRelatedNode.callback):
        (WebInspector.resourceURLForRelatedNode):

2010-10-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.
        Fix IndexedDB crashes
        https://bugs.webkit.org/show_bug.cgi?id=48266

        If IDBKey returns null, type conversion failed. Handle this case
        in the bindings.

        Change UNKNOWN_ERR to be 1 since 0 is hard coded to mean no error.
        This is just a stop-gap move until we get it figured out in standards
        land.

        IDBObjectStore needs to handle null ranges.

        It's actually OK for m_transaction to be non-null when hitting the
        destructor. We just need to then remove it from the set of pending
        transactions.

        The transaction can become aborted in the middle of processing a
        list of tasks. Fix this.

        All changes (except the last 2 races) are tested in LayoutTests.
        I couldn't find a way to reliably reproduce the races.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::idbKeyCallback):
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::~IDBRequest):
        (WebCore::IDBRequest::timerFired):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):

2010-10-25  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Show cookie data in the request headers in network pane
        https://bugs.webkit.org/show_bug.cgi?id=16531

        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView): Factor out common cookies grid logic to CookiesTable
        (WebInspector.CookieItemsView.prototype._populateDataGrid):
        * inspector/front-end/CookieParser.js: Store cookie type (request/response) within a cookie.
        (WebInspector.CookieParser.prototype.parseCookie):
        (WebInspector.CookieParser.prototype.parseSetCookie):
        (WebInspector.CookieParser.prototype._addCookie):
        (WebInspector.Cookie):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype.autoSizeColumns): Optionally, traverse nested nodes when looking for max field widths.
        (WebInspector.DataGrid.prototype._enumerateChildren):
        (WebInspector.DataGrid.prototype.updateWidths): Skip attempt to calculate column widths if grid is not attached to DOM tree yet.
        * inspector/front-end/FontView.js:
        (WebInspector.FontView.prototype.resize):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype.resize):
        (WebInspector.ResourceView.prototype._selectTab):
        (WebInspector.ResourceView.prototype._selectCookiesTab):
        (WebInspector.ResourceView.prototype._innerSelectContentTab):
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        (WebInspector.ResourceView.prototype._refreshCookies):
        (WebInspector.ResourceCookiesTab):
        (WebInspector.ResourceCookiesTab.prototype.set requestCookies):
        (WebInspector.ResourceCookiesTab.prototype.set responseCookies):
        (WebInspector.ResourceCookiesTab.prototype._populateDataGrid):
        (WebInspector.ResourceCookiesTab.prototype._populateCookies):
        (WebInspector.ResourceCookiesTab.prototype._createFolder):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.resize):
        * inspector/front-end/inspector.css:
        (.resource-view .resource-view-cookies):
        (.resource-view.headers-visible .resource-view-cookies):
        (.resource-view-cookies.table .data-grid):
        (.resource-view-cookies .data-grid .row-group):

2010-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70518.
        http://trac.webkit.org/changeset/70518
        https://bugs.webkit.org/show_bug.cgi?id=48332

        Breaks inspector tests. (Requested by pfeldman on #webkit).

        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditsPanel.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        (WebInspector.ExtensionServer.prototype._onGetResources):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype.buildMainResourceTimings):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype.addResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set category):
        * inspector/front-end/ResourceCategory.js:
        (WebInspector.ResourceCategory):
        (WebInspector.ResourceCategory.prototype.toString):
        (WebInspector.ResourceCategory.prototype.addResource):
        (WebInspector.ResourceCategory.prototype.removeResource):
        (WebInspector.ResourceCategory.prototype.removeAllResources):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype.willSendRequest):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.addResource):
        (WebInspector.ResourcesPanel.prototype.removeResource):
        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
        * inspector/front-end/inspector.js:
        (WebInspector._updateFocusedNode):
        (WebInspector.updateResource):
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.removeResource):
        (WebInspector.reset):
        (WebInspector.displayNameForURL):
        (WebInspector.resourceForURL):
        (WebInspector.linkifyStringAsFragment):
        (WebInspector.resourceURLForRelatedNode):

2010-10-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Quota for IndexedDB should be per origin not per database
        https://bugs.webkit.org/show_bug.cgi?id=48064

        Merge all databases for each origin into a single SQLiteDatabase.

        Replace the awkward metaData table with a Database table.

        Create a new IDBSQLiteDatabase class that wraps SQLiteDatabase
        and implements weak pointer semantics for IDBFactory. It's ref
        counted so multiple IDBDatabaseBackendImpls can share one.

        Fix uniqueness constraints that were overly conservitive.

        Get rid of the code that blows away existing data every time
        the database is opened.

        Get rid of the fairly useless indexedDB manual test and replace
        it with one that verifies data persists.

        Use name+origin (not just name) in our cache of IDBDatabaseBackend
        objects (so one origin can't access anothers' data).

        Test: storage/indexeddb/duplicates.html

        * WebCore.gypi:
        * manual-tests/indexed-database.html: Removed.
        * manual-tests/indexeddb-persists.html: Added.
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::extractMetaData):
        (WebCore::setMetaData):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setDescription):
        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::create):
        (WebCore::IDBDatabaseBackendImpl::id):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
        (WebCore::openSQLiteDatabase):
        (WebCore::createTables):
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::IDBFactoryBackendImpl::databaseFileName):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::putObjectStoreData):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        * storage/IDBSQLiteDatabase.cpp: Added.
        (WebCore::IDBSQLiteDatabase::IDBSQLiteDatabase):
        (WebCore::IDBSQLiteDatabase::~IDBSQLiteDatabase):
        * storage/IDBSQLiteDatabase.h: Added.
        (WebCore::IDBSQLiteDatabase::create):
        (WebCore::IDBSQLiteDatabase::db):

2010-10-20  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Inspector needs to use cached resources to display image resources.
        https://bugs.webkit.org/show_bug.cgi?id=16395

        * inspector/Inspector.idl: Add base64Encode parameter to getContent
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::resourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype.contentTabSelected.onResourceContent):
        (WebInspector.ImageView.prototype.contentTabSelected):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell.):
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set finished):
        (WebInspector.Resource.prototype.getContent):
        (WebInspector.Resource.prototype.get contentURL):
        (WebInspector.Resource.prototype._requestContent.onResourceContent):
        (WebInspector.Resource.prototype._requestContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement.):
        (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
        * inspector/front-end/Settings.js: Added useDataURLForResourceImageIcons
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):

2010-10-26  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: continue making resources panel optional.
        https://bugs.webkit.org/show_bug.cgi?id=48261

        This refactoring makes console, audits and extensions tests pass while taking data from
        resources panel. Network panel as a source is to follow.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditsPanel.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        (WebInspector.ExtensionServer.prototype._onGetResources):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype.buildMainResourceTimings):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype.get resources):
        (WebInspector.NetworkPanel.prototype.addResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set category):
        * inspector/front-end/ResourceCategory.js:
        (WebInspector.ResourceCategory):
        (WebInspector.ResourceCategory.prototype.toString):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype.willSendRequest):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.addResource):
        (WebInspector.ResourcesPanel.prototype.removeResource):
        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        * inspector/front-end/Settings.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
        * inspector/front-end/inspector.js:
        (WebInspector._updateFocusedNode):
        (WebInspector.get networkResources):
        (WebInspector.forAllResources):
        (WebInspector.resourceForURL):
        (WebInspector.updateResource):
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.removeResource):
        (WebInspector.reset):
        (WebInspector.displayNameForURL):
        (WebInspector.linkifyStringAsFragment):
        (WebInspector.resourceURLForRelatedNode.callback):
        (WebInspector.resourceURLForRelatedNode):

2010-10-26  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Protect the frame from being blown away in loadWithDocumentLoader function call.
        dispatchBeforeLoadEvent can cause the frame to be freed, which gets later used in
        continueLoadAfterNavigationPolicy call.
        https://bugs.webkit.org/show_bug.cgi?id=48281

        Test: fast/events/form-iframe-target-before-load-crash.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadWithDocumentLoader):

2010-10-26  Xan Lopez  <xlopez@igalia.com>

        Restore another mix-up in copy&paste error. Use height for the
        vertical adjustments instead of width.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setVerticalAdjustment):

2010-10-26  Xan Lopez  <xlopez@igalia.com>

        Restore early return accidentally removed in previous
        patch. Should make API tests pass again.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setHorizontalAdjustment):
        (WebCore::ScrollView::setVerticalAdjustment):

2010-10-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Port to new GtkScrollable interface in GTK+ 3.x
        https://bugs.webkit.org/show_bug.cgi?id=48202

        The new GtkScrollable API sets the adjustments individually, so
        adjust the code for this fact.

        * platform/ScrollView.h:
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setHorizontalAdjustment): new method to set the horizontal adjustment.
        (WebCore::ScrollView::setVerticalAdjustment): new method to set the vertical adjustment.
        (WebCore::ScrollView::setGtkAdjustments): make this just call the other two methods.

2010-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70512.
        http://trac.webkit.org/changeset/70512
        https://bugs.webkit.org/show_bug.cgi?id=48314

        crashes many tests (Requested by inferno-sec on #webkit).

        * dom/Element.cpp:
        * dom/Element.h:
        * editing/Editor.cpp:
        (WebCore::markMisspellingsOrBadGrammar):
        (WebCore::Editor::spellCheckingEnabledInFocusedNode):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/Editor.h:
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2010-10-24  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        spellcheck='' should be the same as spellcheck="true"
        https://bugs.webkit.org/show_bug.cgi?id=25539

        - Added a check for empty string and missing attribute.
        - Extracted the check to Element::spellCheckingEnabled()
        - Introduced SpellcheckAttributeState enum to represent the
          states for spellcheck attributes.

        * dom/Element.cpp:
        (WebCore::Element::spellcheckAttributeState): Added.
        (WebCore::Element::isSpellCheckingEnabled): Added.
        * dom/Element.h:
        * editing/Editor.cpp:
        (WebCore::markMisspellingsOrBadGrammar):
        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Renamed, partly extracted to Element::isSpellCheckingEnabled()
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/Editor.h:
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2010-10-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Refactor HTMLInputElement: Move createRender(), appendFormData(),
        saveFormControlState() and restoreFormControlState() to InputTypes.
        https://bugs.webkit.org/show_bug.cgi?id=47834

        This change adds BaseButtonInputType and BaseCheckableInputType. They
        are super classes of some concrete InputType classes.

        No new tests. Just a code refactoring.

        * CMakeLists.txt: Add BaseButtonInputType and BaseCheckableInputType files.
        * GNUmakefile.am: ditto.
        * WebCore.gypi: ditto.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * html/BaseButtonInputType.cpp: Added.
        (WebCore::BaseButtonInputType::appendFormData):
        (WebCore::BaseButtonInputType::createRenderer):
        * html/BaseButtonInputType.h: Added.
        (WebCore::BaseButtonInputType::BaseButtonInputType):
        * html/BaseCheckableInputType.cpp: Added.
        (WebCore::BaseCheckableInputType::saveFormControlState):
        (WebCore::BaseCheckableInputType::restoreFormControlState):
        (WebCore::BaseCheckableInputType::appendFormData):
        * html/BaseCheckableInputType.h: Added.
        (WebCore::BaseCheckableInputType::BaseCheckableInputType):
        * html/ButtonInputType.h: Change the super class.
        (WebCore::ButtonInputType::ButtonInputType):
        * html/CheckboxInputType.h: Change the super class.
        (WebCore::CheckboxInputType::CheckboxInputType):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::appendFormData):
        (WebCore::FileInputType::createRenderer):
        * html/FileInputType.h: Change the super class.
        (WebCore::FileInputType::FileInputType):
        * html/HTMLFormControlElement.h:
          Make placeholderShouldBeVisible() public for access from TextFieldInputType.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::saveFormControlState):
        (WebCore::HTMLInputElement::restoreFormControlState):
        (WebCore::HTMLInputElement::createRenderer):
        (WebCore::HTMLInputElement::appendFormData):
        * html/HTMLInputElement.h:
          Add the following functions for ImageInputType and SubmitInputType.
        (WebCore::HTMLInputElement::xPosition):
        (WebCore::HTMLInputElement::yPosition):
        * html/HiddenInputType.cpp:
        (WebCore::HiddenInputType::createRenderer):
        * html/HiddenInputType.h:
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::isFormDataAppendable):
        (WebCore::ImageInputType::appendFormData):
        (WebCore::ImageInputType::createRenderer):
        * html/ImageInputType.h: Change the super class.
        (WebCore::ImageInputType::ImageInputType):
        * html/InputType.cpp:
        (WebCore::InputType::saveFormControlState):
        (WebCore::InputType::restoreFormControlState):
        (WebCore::InputType::isFormDataAppendable):
        (WebCore::InputType::appendFormData):
        (WebCore::InputType::createRenderer):
        * html/InputType.h:
        * html/PasswordInputType.cpp:
        (WebCore::PasswordInputType::saveFormControlState):
        (WebCore::PasswordInputType::restoreFormControlState):
        * html/PasswordInputType.h:
        * html/RadioInputType.h: Change the super class.
        (WebCore::RadioInputType::RadioInputType):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::createRenderer):
        * html/RangeInputType.h:
        * html/ResetInputType.h:
        (WebCore::ResetInputType::ResetInputType):
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::appendFormData):
        * html/SubmitInputType.h: Change the super class.
        (WebCore::SubmitInputType::SubmitInputType):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createRenderer):
        * html/TextFieldInputType.h:

2010-10-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix scrolling of noncomposited iframes within composited document
        https://bugs.webkit.org/show_bug.cgi?id=47391
        
        When an iframe that is painting into a compositing layer is scrolled,
        we need to repaint via the RenderObject (which dirties the compositing layer contents),
        rather than going out to hostWindow.

        Test: compositing/iframes/composited-iframe-scroll.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsSlowPath):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::scrollContentsSlowPath):
        * platform/ScrollView.h:

2010-10-25  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Qt build fix for r70496.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::numberValue):
        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapWidthField::valueFromInstance):
        (JSC::Bindings::QtPixmapHeightField::valueFromInstance):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):
        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):

2010-10-25  Andy Estes  <aestes@apple.com>

        Reviewed by Simon Fraser.

        Source change by Simon Fraser.

        Setting an element's visibility property to visible has no effect when
        it has a hidden parent.
        https://bugs.webkit.org/show_bug.cgi?id=48267

        Test: fast/layers/visible-layer-with-hidden-parent.html

        When a layer is hidden, there is an optimization that removes it from
        the layer tree. If the layer is made visible again, it would only mark
        its own stacking context's z-order list as dirty. If there are hidden
        parent layers, they need to be marked dirty as well so layers with
        visible descendents are re-added to the layer tree.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setHasVisibleContent): Dirty the z-order lists of
        all parent stacking context render layers up to and including the first
        visible stacking context.

2010-10-25  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Remove exec and globalData arguments from jsNumber
        https://bugs.webkit.org/show_bug.cgi?id=48270

        Mechanical removal of exec parameter to jsNumber.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        * bindings/js/JSCoordinatesCustom.cpp:
        (WebCore::JSCoordinates::altitude):
        (WebCore::JSCoordinates::altitudeAccuracy):
        (WebCore::JSCoordinates::heading):
        (WebCore::JSCoordinates::speed):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::setInterval):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::createAccelerationObject):
        (WebCore::createRotationRateObject):
        (WebCore::JSDeviceMotionEvent::interval):
        * bindings/js/JSDeviceOrientationEventCustom.cpp:
        (WebCore::JSDeviceOrientationEvent::alpha):
        (WebCore::JSDeviceOrientationEvent::beta):
        (WebCore::JSDeviceOrientationEvent::gamma):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::selectionStart):
        (WebCore::JSHTMLInputElement::selectionEnd):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::length):
        * bindings/js/JSIDBKeyCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::createInjectedScript):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::value):
        * bindings/js/JSScriptProfileNodeCustom.cpp:
        (WebCore::JSScriptProfileNode::callUID):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::setTimeout):
        (WebCore::JSWorkerContext::setInterval):
        * bindings/js/JSWorkerContextErrorHandler.cpp:
        (WebCore::JSWorkerContextErrorHandler::handleEvent):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptCallArgumentHandler::appendArgument):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readTerminal):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::numberValue):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertNPVariantToValue):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::valueFromInstance):
        (JavaArray::valueAt):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::numberValue):
        (JavaInstance::invokeMethod):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::numberValue):
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertObjcValueToValue):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::lengthGetter):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::lengthGetter):

2010-10-21  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Allow embedder to pass on all the speech recognition results to the input element.
        https://bugs.webkit.org/show_bug.cgi?id=48068

        No new tests added as functionality has not changed, tests will be added in the next
        patch where these results are exposed as an attribute to scripts.

        * Android.mk: Added new source files.
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::setRecognitionResult): Accept an array instead of a single string.
        * page/SpeechInput.h:
        * page/SpeechInputListener.h:
        * page/SpeechInputResult.cpp: Added, defines a class for managing a speech input result.
        (WebCore::SpeechInputResult::create):
        (WebCore::SpeechInputResult::SpeechInputResult):
        (WebCore::SpeechInputResult::confidence):
        (WebCore::SpeechInputResult::utterance):
        * page/SpeechInputResult.h: Added.
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::timerFired):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
        * rendering/TextControlInnerElements.h:

2010-10-25  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Support appending an ArrayBuffer object in BlobBuilder
        https://bugs.webkit.org/show_bug.cgi?id=47701

        Test cases have been added to read-blob-test-cases.js.

        * fileapi/BlobBuilder.cpp:
        (WebCore::BlobBuilder::getBuffer):
        (WebCore::BlobBuilder::append): Removed bool return values since they
        weren't used.
        * fileapi/BlobBuilder.h:
        * fileapi/BlobBuilder.idl:

2010-10-25  No'am 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

        Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
        a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
        the compositor and by the page client.
        Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)

        No new tests: the existing tests under LayoutTests/compositing already cover this.

        * platform/graphics/GraphicsLayer.h:
        * platform/qt/QWebPageClient.h:
        (QWebPageClient::setRootGraphicsLayer):

2010-10-25  No'am 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

        Add a config flag and a define (WTF_USE_TEXTURE_MAPPER) to WebCore, to enable opt-in compilation of texture-mapper with Qt.

        No new tests: WIP for a new implementation.

        * WebCore.pro:

2010-10-25  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Calling FileReader.abort during reading could cause crash
        https://bugs.webkit.org/show_bug.cgi?id=48163

        Test: fast/files/file-reader-abort.html

        * fileapi/FileReader.cpp:
        (WebCore::delayedAbort):
        (WebCore::FileReader::abort): Schedule to do the abort later to work
        around the case that abort() could be called from event handler.
        (WebCore::FileReader::doAbort):
        (WebCore::FileReader::didFail): Do not go with normal error handling
        when we are in the process of aborting.
        (WebCore::FileReader::failed):
        (WebCore::FileReader::readyState):
        * fileapi/FileReader.h:

2010-10-25  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for NetworkStateNotifier
        https://bugs.webkit.org/show_bug.cgi?id=48240

        WinCE does not support RegisterWaitForSingleObject, so disable it for now.

        * platform/network/win/NetworkStateNotifierWin.cpp:
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):

2010-10-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Make "rl" and "bt" writing-modes work for blocks and lines.  InlineTextBox is refactored to compute the correct
        top left corner and left baseline edge once so that can be passed down to all the painting functions instead of
        tx and ty.
        
        adjustment helpers have been added that can be called before painting children or lines and that fix up
        the coordinates from flipped to physical.
        
        Added fast/blockflow/english-rl-text.html and fast/blockflow/english-bt-text.html

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineTextBox.cpp:
        (WebCore::paintTextWithShadows):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintCompositionBackground):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::paintDocumentMarkers):
        (WebCore::InlineTextBox::paintCompositionUnderline):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintFloats):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
        * rendering/RenderBox.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::isFlippedBlocksWritingMode):

2010-10-25  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Build break with ENABLE(BLOB) and not ENABLE(3D_CANVAS)
        https://bugs.webkit.org/show_bug.cgi?id=48243

        Build fix only so no new tests.

        * bindings/generic/RuntimeEnabledFeatures.h: Guard appropriately.
        * bindings/v8/custom/V8ArrayBufferViewCustom.h: ditto.

2010-10-25  Cris Neckar  <cdn@chromium.org>

        Reviewed by Dimitri Glazkov.

        Added check to ensure that events with the type "mousedown" are mouse events before dispatching.
        https://bugs.webkit.org/show_bug.cgi?id=48159

        Test: fast/events/keyboardevent-mousedown-crash.html

        * dom/Node.cpp:
        (WebCore::Node::defaultEventHandler):

2010-10-25  Kwang Yul Seo  <skyul@company100.net>

        Unreviewed build fix for r70400.

        Add dummy setCookieStoragePrivateBrowsingEnabled.

        * platform/brew/TemporaryLinkStubs.cpp: Added.
        (WebCore::setCookieStoragePrivateBrowsingEnabled):

2010-10-25  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Use default implementation of AXObjectCache::platformGenerateAXID
        https://bugs.webkit.org/show_bug.cgi?id=48239

        WinCE does not support NotifyWinEvent, so use the default implementation.

        * accessibility/AXObjectCache.cpp:

2010-10-25  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Need WebKit2 API to figure out if a frame can provide source
        <rdar://problem/8424632>
        https://bugs.webkit.org/show_bug.cgi?id=48252

        * WebCore.exp.in:

2010-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70451.
        http://trac.webkit.org/changeset/70451
        https://bugs.webkit.org/show_bug.cgi?id=48249

        Broke set-unloaded-frame-location.html under Qt (Requested by
        caseq on #webkit).

        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        (WebCore::ScriptController::eventHandlerColumnNumber):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::startLine):
        * 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::startingLineNumber):
        * dom/ScriptableDocumentParser.h:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
        (WebCore::HTMLDocumentParser::columnNumber):
        * 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::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        * html/parser/HTMLTreeBuilder.h:

2010-10-25  Kwang Yul Seo  <skyul@company100.net>

        Unreviewed build fix for r70095.

        Provide platformDefaultLanguage().

        * platform/brew/LanguageBrew.cpp: Added.
        (WebCore::platformDefaultLanguage):
        * platform/brew/LocalizedStringsBrew.cpp:

2010-10-25  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Kilzer.

        Replace _countof with WTF_ARRAY_LENGTH
        https://bugs.webkit.org/show_bug.cgi?id=48229

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):
        * platform/wince/FileSystemWinCE.cpp:
        (WebCore::openTemporaryFile):
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::addPluginPathsFromRegistry):
        (WebCore::addWindowsMediaPlayerPluginDirectory):
        (WebCore::addMacromediaPluginDirectories):

2010-10-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Make selectionRect() on InlineTextBox give the right value for a vertical line.  Selection is still too broken
        to test anything though.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):

2010-10-25  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Antonio Gomes.

        Typo in the TextureMapperGL
        https://bugs.webkit.org/show_bug.cgi?id=48241

        Fix the typo.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::TextureMapperGL):

2010-10-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: slowly make old resources panel optional (continued).
        https://bugs.webkit.org/show_bug.cgi?id=48207

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set url):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
        (WebInspector.StoragePanel.prototype.showResource):
        (WebInspector.StoragePanel.prototype.searchMatchFound):
        (WebInspector.StoragePanel.prototype._findTreeElementForResource):
        (WebInspector.StoragePanel.prototype._findTreeElementForResource.getParent):
        (WebInspector.BaseStorageTreeElement.prototype.onattach):
        * inspector/front-end/inspector.css:
        (.storage.panel .sidebar):
        (.storage.panel .sidebar li):
        (.storage.panel .sidebar li.parent):
        (.storage.panel .sidebar li.selected):
        (.storage.panel .sidebar li .selection):
        (.storage.panel .sidebar :focus li .selection):
        (body.inactive .storage.panel .sidebar li .selection):
        (.storage.panel .sidebar .icon):

2010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap] [Qt] Texture mapper initial implementation
        This patch adds the OpenGL implementation of TextureMapper. See the other entries from bug 47070 for details.
        https://bugs.webkit.org/show_bug.cgi?id=47070

        No new tests. Part of a new implementation.

        * platform/graphics/opengl/TextureMapperGL.cpp: Added.
        * platform/graphics/opengl/TextureMapperGL.h: Added.

2010-10-25  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-10-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: slowly make old resources panel optional.
        https://bugs.webkit.org/show_bug.cgi?id=48207

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        (WebInspector.AuditsPanel.prototype.show):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        * inspector/front-end/ResourcesPanel.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector.doLoadedDone.populateInspectorState):
        (WebInspector.doLoadedDone):
        (WebInspector.openResource):
        (WebInspector.updateResource):
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.removeResource):
        (WebInspector.displayNameForURL):
        (WebInspector._choosePanelToShowSourceLine):
        (WebInspector.doPerformSearch):

2010-10-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: add support for errors, warnings and search to the storage panel.
        https://bugs.webkit.org/show_bug.cgi?id=48206

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set errors):
        (WebInspector.Resource.prototype.set warnings):
        (WebInspector.Resource.prototype.get searchMatches):
        (WebInspector.Resource.prototype.set searchMatches):
        (WebInspector.Resource.prototype.clearErrorsAndWarnings):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype._createResource):
        (WebInspector.ResourceManager.prototype._appendRedirect):
        (WebInspector.ResourceManager.prototype.didReceiveResponse):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
        (WebInspector.ResourceManager.prototype._addFramesRecursively):
        (WebInspector.ResourceManager.prototype.resourceForURL):
        (WebInspector.ResourceManager.prototype.addConsoleMessage):
        (WebInspector.ResourceManager.prototype.clearConsoleMessages):
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
        (WebInspector.ResourceTreeModel.prototype._clearResources):
        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
        (WebInspector.ResourceTreeModel.prototype.forAllResources):
        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.removeFrame):
        (WebInspector.StoragePanel.prototype.canShowSourceLine):
        (WebInspector.StoragePanel.prototype.showSourceLine):
        (WebInspector.StoragePanel.prototype.showResource):
        (WebInspector.StoragePanel.prototype._showResourceView):
        (WebInspector.StoragePanel.prototype.updateMainViewWidth):
        (WebInspector.StoragePanel.prototype.get searchableViews.callback):
        (WebInspector.StoragePanel.prototype.get searchableViews):
        (WebInspector.StoragePanel.prototype._forAllResourceTreeElements):
        (WebInspector.StoragePanel.prototype.searchMatchFound):
        (WebInspector.StoragePanel.prototype.searchCanceled.callback):
        (WebInspector.StoragePanel.prototype.searchCanceled):
        (WebInspector.StoragePanel.prototype.performSearch):
        (WebInspector.StoragePanel.prototype.showView):
        (WebInspector.BaseStorageTreeElement.prototype.onattach):
        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
        (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.FrameResourceTreeElement.prototype.onselect):
        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
        (WebInspector.FrameResourceTreeElement.prototype.onattach):
        (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
        (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
        (WebInspector.FrameResourceTreeElement.prototype._resetBubble):
        (WebInspector.FrameResourceTreeElement.prototype._searchMatchesUpdated):
        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
        * inspector/front-end/inspector.css:
        (.storage.panel .sidebar):
        (.storage.panel .outline-disclosure li):
        (.storage.panel .outline-disclosure li.parent):
        (.storage.panel .outline-disclosure li .selection):
        (.storage.panel .outline-disclosure .icon):
        (.storage.panel .base-storage-tree-element-title):
        (.storage.panel .status):
        (.storage.panel li .status .bubble):
        (li .status):
        (li .status:empty):
        (li .status .bubble):
        (li .status .bubble:empty):
        (li.selected .status .bubble):
        (:focus li.selected .status .bubble):
        (body.inactive li.selected .status .bubble):
        (li.selected .bubble.search-matches):
        (:focus li.selected .bubble.search-matches):
        (body.inactive li.selected .bubble.search-matches):

2010-10-24  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by David Kilzer.

        Fix Qt minimal build break revealed by r70413.
        https://bugs.webkit.org/show_bug.cgi?id=48185

        * rendering/RenderMeter.h: Missing include added, needless include removed.

2010-10-20  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Renumber FileError/FileException error codes per latest File API spec changes
        https://bugs.webkit.org/show_bug.cgi?id=47936

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException): Added FileExceptionType case.
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException): Added FileExceptionType case.
        * dom/ExceptionCode.cpp:
        (WebCore::getExceptionCodeDescription): Added code for FileException.
        * dom/ExceptionCode.h:
        * fileapi/AsyncFileWriterClient.h:
        * fileapi/DirectoryEntry.cpp:
        (WebCore::DirectoryEntry::getFile):
        (WebCore::DirectoryEntry::getDirectory):
        (WebCore::DirectoryEntry::removeRecursively):
        * fileapi/DirectoryEntrySync.cpp:
        (WebCore::DirectoryEntrySync::getFile):
        (WebCore::DirectoryEntrySync::getDirectory):
        (WebCore::DirectoryEntrySync::removeRecursively):
        * fileapi/DirectoryReaderSync.cpp:
        (WebCore::DirectoryReaderSync::readEntries):
        * fileapi/Entry.cpp:
        (WebCore::Entry::getMetadata):
        (WebCore::Entry::moveTo):
        (WebCore::Entry::copyTo):
        (WebCore::Entry::remove):
        (WebCore::Entry::getParent):
        * fileapi/EntrySync.cpp:
        (WebCore::EntrySync::getMetadata):
        (WebCore::EntrySync::moveTo):
        (WebCore::EntrySync::copyTo):
        (WebCore::EntrySync::remove):
        * fileapi/FileError.h: Added error code enum.
        (WebCore::FileError::create):
        (WebCore::FileError::code):
        (WebCore::FileError::FileError):
        * fileapi/FileError.idl: Rebased error code numbers.
        * fileapi/FileException.h: Added exception code enum.
        (WebCore::FileException::ErrorCodeToExceptionCode): Added.
        * fileapi/FileException.idl: Rebased exception code numbers.
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::abort):
        (WebCore::FileReader::failed):
        (WebCore::FileReader::httpStatusCodeToErrorCode): Changed from
        httpStatuCodeToExceptionCode.
        * fileapi/FileReader.h:
        * fileapi/FileReaderSync.cpp:
        (WebCore::FileReaderSyncLoader::start):
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::FileSystemCallbacksBase::didFail):
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::write):
        (WebCore::FileWriter::seek):
        (WebCore::FileWriter::truncate):
        (WebCore::FileWriter::abort):
        (WebCore::FileWriter::didFail):
        (WebCore::FileWriter::setError):
        * fileapi/FileWriter.h:
        * fileapi/SyncCallbackHelper.h:
        (WebCore::SyncCallbackHelper::SyncCallbackHelper):
        (WebCore::SyncCallbackHelper::getResult):
        (WebCore::SyncCallbackHelper::setError):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::requestFileSystem):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::requestFileSystem):
        (WebCore::WorkerContext::requestFileSystemSync):

2010-10-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Expose HitTestResult::absoluteMediaURL() via WebKit API
        https://bugs.webkit.org/show_bug.cgi?id=48219

        * WebCore.exp.in: Export HitTestResult::absoluteMediaURL().

2010-10-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Need a way to determine the screen rect for a form control in WebKit2
        <rdar://problem/8530670>
        https://bugs.webkit.org/show_bug.cgi?id=48216

        * WebCore.exp.in: Add export.
        * dom/Element.cpp:
        (WebCore::Element::boundsInWindowSpace):
        * dom/Element.h:
        Add function to return the bounding box in window (in ScrollView terminology) space,
        this is the same space as the root viewport.

2010-10-24  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] ImageBuffer::platformTransformColorSpace is unnecessarily slow
        https://bugs.webkit.org/show_bug.cgi?id=48211

        Grab the QImage::bits() and do direct access instead of going through
        QImage::pixel() and QImage::setPixel().

        This is a performance optimization, so no new tests.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::platformTransformColorSpace):

2010-10-24  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Filter example Chiseled from SVG Wow! is slow
        https://bugs.webkit.org/show_bug.cgi?id=48174

        Use a pointer to the ByteArray instead of the ref counted CanvasPixelArray or ImageData directly
        to access the data for pixel manipulation on SVG Filters or SVG Masker. This is a
        performance increase since the recurring use of the -> operator can be avoided.
        FEConvolveMatrix and FELighting still need to change in a followup patch.

        No functionality was changed. So, no new tests.

        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::luminance):
        (WebCore::effectType):
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::apply):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::arithmetic):
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::apply):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::boxBlur):
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::apply):
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::apply):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

2010-10-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: polish network panel UI.
        https://bugs.webkit.org/show_bug.cgi?id=48205

        * inspector/front-end/Images/frame.png:
        * inspector/front-end/Images/networkIcon.png:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._createTable):
        (WebInspector.NetworkPanel.prototype._setLargerResources):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        * inspector/front-end/networkPanel.css:
        (.network.panel .data-grid td):
        (.network.panel .data-grid.small td):
        (#network-views .resource-view.headers-visible .resource-view-content):
        (#network-views.small .resource-view.headers-visible .resource-view-content):
        (#network-views .resource-view-headers):
        (#network-views.small .resource-view-headers):
        (#network-views .resource-view .tabbed-pane-header):
        (#network-views.small .resource-view .tabbed-pane-header):

2010-10-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dimitri Glazkov.

        Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
        https://bugs.webkit.org/show_bug.cgi?id=48179

        Fix WebGL tests. Accept 'boolean' as valid numeric type in StrictTypeChecking mode.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:

2010-10-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
        https://bugs.webkit.org/show_bug.cgi?id=48179

        Speculative fix for the WebGL tests, I was not aware they're not run on Leopard, so I missed the breakage.

        * bindings/scripts/CodeGeneratorJS.pm: Restore the order of type checking in the 'StrictTypeChecking' code.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.

2010-10-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
        https://bugs.webkit.org/show_bug.cgi?id=48179

        Rewrite SVGAngle to use the new SVGPropertyTearOff concept, and consume much less memory.
        Down from two floats, one string and an ushort to one float and one ushort. Synchronize value/valueInSpecifiedUnits/valueAsString on demand.

        Adding an extensive SVGAngle test, that required to implement 'StrictTypeChecking' for attribute setters (was only implemented in V8/JSC for function cals so far).

        Test: svg/dom/SVGAngle.html

        * GNUmakefile.am: Add SVGAnimatedAngle.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGenerator.pm: Split IsPrimitiveType in IsPrimitiveType and IsNumericType.
        * bindings/scripts/CodeGeneratorJS.pm: Implement 'StrictTypeChecking' for setters and recognize SVGAngle as new SVGPropertyTearOff type.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAngle handling.
        * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedAngle handling.
        * svg/SVGAngle.cpp: Rewrite, to consume less memory and to operate more efficient.
        * svg/SVGAngle.h: Ditto.
        * svg/SVGAngle.idl: Add 'StrictTypeChecking' to the value/valueInSpecifiedUnits methods.
        * svg/SVGAnimatedAngle.h: Added.
        * svg/SVGAnimatedAngle.idl: Mark as [SVGAnimatedProperty].
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::parseMappedAttribute): SVGAngle::setValueAsString() now takes an ExceptionCode parameter.
        * svg/SVGMarkerElement.h: s/ANIMATED_PROPERTY/ANIMATED_PROPERTY_NEW/ for the SVGAngle type.
        * svg/SVGNumber.idl: Remove exception setter exceptions, which aren't needed. As we're now generating exception handlers in the bindings, it would lead to compile errors.
        * svg/SVGPoint.idl: Ditto.
        * svg/SVGRect.idl: Ditto.
        * svg/SVGSVGElement.idl: Remove obsolete [SVGLiveProperty] flag.

2010-10-23  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        Remove unused method HTMLFrameElementBase::setNameAndOpenURLCallback()
        https://bugs.webkit.org/show_bug.cgi?id=48197

        With the landing of the patch for bug #45365 in
        changeset 67182 <http://trac.webkit.org/changeset/67182>, 
        HTMLFrameElementBase::setNameAndOpenURLCallback() is not needed.
        Therefore, we remove it.

        Before changeset 67182, HTMLFrameElementBase::attach() set up a post-attach
        callback to HTMLFrameElementBase::setNameAndOpenURLCallback(). Changeset 67182
        removed this callback.

        No functionality was changed. So, no new tests.

        * html/HTMLFrameElementBase.cpp: Remove HTMLFrameElementBase::setNameAndOpenURLCallback().
        * html/HTMLFrameElementBase.h: Ditto.

2010-10-23  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Sam Weinig.

        Unify globalData APIs
        https://bugs.webkit.org/show_bug.cgi?id=47969

        Adapt code to JSGlobalObject::globalData returning a reference
        instead of a pointer.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::markChildren):
        * bindings/js/JSWorkerContextErrorHandler.cpp:
        (WebCore::JSWorkerContextErrorHandler::handleEvent):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_Construct):

2010-10-23  Alexey Proskuryakov  <ap@apple.com>

        Windows debug build fix.

        * platform/network/cf/CookieStorageCFNet.cpp: Include MainThread.h for isMainThread().

2010-10-23  Alexey Proskuryakov  <ap@apple.com>

        Windows build fix.

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::setCookieStoragePrivateBrowsingEnabled): It's adoptCF, not adoptPtr.

2010-10-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=48083
        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        Added CookieStorage.h to build files that contain headers.

        * WebCore.xcodeproj/project.pbxproj: Added CookieStorage.h and CookieStorageMac.mm.

        * WebCore.exp.in: Export _wkSetCookieStoragePrivateBrowsingEnabled (WebKit initializes WKSI
        on WebCore's behalf).

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        More work for passing the function pointer down to WebCore.

        * page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): Tell cookie manager to
        when to use private browsing mode. Note that although this is a per-page setting, it
        actually has global effect.

        * page/Settings.h: Extended a comment about what private browsing does.

        * platform/android/TemporaryLinkStubs.cpp: (setCookieStoragePrivateBrowsingEnabled):
        * platform/chromium/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
        * platform/efl/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
        * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
        * platform/haiku/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
        * platform/qt/TemporaryLinkStubsQt.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
        Added an empty implementation for ports that don't implement private browsing, or implement
        it in ways I cannot discover.

        * platform/network/CookieStorage.h: Added. I'm not entirely sure how this is different from
        CookieJar.h, just following a precedent already set by Windows port with CookieStorageWin.h.

        * platform/network/mac/CookieStorageMac.mm: Added.
        (WebCore::setCookieStoragePrivateBrowsingEnabled): Call a WKSI function to enable private
        browsing mode for cookies.

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::currentCookieStorage): Added ASSERT(isMainThread()).
        (WebCore::setCurrentCookieStorage): Ditto.
        (WebCore::setCookieStoragePrivateBrowsingEnabled): Set cookie storage to a private one
        when in private browsing mode. ResourceHandle applies the storage to each individual request.

        * platform/network/cf/CookieStorageCFNet.h: Added a comment explaining that these functions
        are only for WebKit1.

2010-10-23  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/48181> Add missing include of MacErrors.h

        Reviewed by Alexey Proskuryakov.

        * platform/network/mac/FormDataStreamMac.mm: Added #import of
        <MacErrors.h> for iOS since the formOpen() method uses "fnfErr",
        which was added in r55670.  The same header is included through
        <CoreServices/CoreServices.h> on Mac OS X.

2010-10-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Kilzer.

        [WINCE] Port COMPtr.h to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48190

        Don't include guiddef.h on WinCE. It's not required and only creates build problems.

        * platform/win/COMPtr.h:

2010-10-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Kilzer.

        [WINCE] Rename SharedBitmap::createInstance to SharedBitmap::create
        https://bugs.webkit.org/show_bug.cgi?id=48180

        Also use better arguments for the create function.

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContextPlatformPrivate::getTransparentLayerBitmap):
        (WebCore::TransparentLayerDC::TransparentLayerDC):
        (WebCore::GraphicsContext::drawFrameControl):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):

2010-10-23  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r70369.
        http://trac.webkit.org/changeset/70369
        https://bugs.webkit.org/show_bug.cgi?id=47974

        Caused weird artifacts in expected results.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):
        * platform/graphics/ImageSource.h:
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::operator=):
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):
        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):
        * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed.
        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):
        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):
        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage):

2010-10-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Andreas Kling.

        WebP decoding hits ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=48168

        Calling reserveCapacity only allocates the memory.  It doesn't actually
        set the length.  When you try to access the zeroth element, you hit an
        ASSERT.

        Covered by fast/images/webp-image-decoding.html in debug.

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):

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

        Reviewed by Xan Lopez.

        [GTK] Menu list buttons do react properly to CSS styling
        https://bugs.webkit.org/show_bug.cgi?id=48099

        Correct the way that menu list buttons get their necessary padding from
        GTK+. Instead of resetting the padding to these values, return them via
        the popupInternalPadding* methods. Add implementations for *MenuListButton*
        methods.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::getComboBoxPadding): Added.
        (WebCore::RenderThemeGtk::popupInternalPaddingLeft): Added.
        (WebCore::RenderThemeGtk::popupInternalPaddingRight): Added.
        (WebCore::RenderThemeGtk::popupInternalPaddingTop): Added.
        (WebCore::RenderThemeGtk::popupInternalPaddingBottom): Added.
        (WebCore::RenderThemeGtk::adjustMenuListStyle): Do not reset CSS
        properties, instead rely on the poupInternalPadding* methods.
        (WebCore::RenderThemeGtk::adjustMenuListButtonStyle): Added.
        (WebCore::RenderThemeGtk::paintMenuListButton): Added.
        * platform/gtk/RenderThemeGtk.h: Added new method declarations.

2010-10-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Kilzer.

        Add Gradient::hasAlpha
        https://bugs.webkit.org/show_bug.cgi?id=48183

        WinCE can do some performance improvements if the gradient is opaque.

        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::hasAlpha):
        * platform/graphics/Gradient.h:

2010-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by David Kilzer.

        [EFL] Implement platformDefaultLanguage() 
        https://bugs.webkit.org/show_bug.cgi?id=48113

        Implement the platformDefaultLanguage() function for EFL port.

        * platform/efl/LanguageEfl.cpp:
        (WebCore::platformDefaultLanguage):

2010-10-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70367.
        http://trac.webkit.org/changeset/70367
        https://bugs.webkit.org/show_bug.cgi?id=48176

        It made 8-10 tests crash on Qt bot (Requested by Ossy on
        #webkit).

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::MainResourceLoader):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::setDefersLoading):
        * loader/MainResourceLoader.h:

2010-10-22  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Roben and Sam Weinig.

        WebKit shouldn't load a plug-in based on file extension if a MIME type
        is specified.
        https://bugs.webkit.org/show_bug.cgi?id=48046

        The fix landed in r70332 only covered the Mac port. Implement this fix
        for other ports as well.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::findPlugin):

2010-10-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
        (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
        decoder interaction, and Darin Fisher SGTMed the policy decision.)

        [chromium] Chromium Mac should use WebKit's image decoders
        https://bugs.webkit.org/show_bug.cgi?id=47974

        This patch teaches WebKit's image decoders how to talk to CoreGraphics.
        This patch doesn't handle color profiles, but that will come in a
        subsequent patch.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):
        * platform/graphics/ImageSource.h:
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):
        * platform/image-decoders/cg: Added.
        * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        (WebCore::RGBA32Buffer::asNewNativeImage):

2010-10-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Barth and Darin Adler.

        Using the decidePolicyForMIMEType delegate message in an asynchronous manner does not work
        https://bugs.webkit.org/show_bug.cgi?id=48014
        <rdar://problem/8202716>

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        Resume loading.

        (WebCore::MainResourceLoader::didReceiveResponse):
        Defer loading until we hear back from the policy client.

2010-10-22  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        REGRESSION(66391): http://ligth-arts.all-up.com/ crashes in EventHandler::selectCursor
        https://bugs.webkit.org/show_bug.cgi?id=47942

        Add checks for a NULL StyleImage in a CursorList.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::loadPendingImages):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        * rendering/style/CursorList.h:
        (WebCore::CursorList::at):
        * manual-tests/cursor-empty-url.html: Added.
        * manual-tests/resources/cursor-empty-url.css: Added.

2010-10-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Adele Peterson.

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

        Make vertical lines hit test properly and show a vertical i-beam cursor.  Numerous bugs with overflow were discovered while getting this to work,
        so these are in the patch as well.  The broken layout tests are fixed by the overflow bug fixes as well (which just restore the old behavior).

        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::width):
        (WebCore::InlineBox::height):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::logicalTopVisibleOverflow):
        (WebCore::InlineFlowBox::logicalBottomVisibleOverflow):
        (WebCore::InlineFlowBox::visibleOverflowRect):
        (WebCore::InlineFlowBox::layoutOverflowRect):
        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
        (WebCore::InlineFlowBox::visualOverflowRect):
        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::blockDirectionOverflow):
        * rendering/RenderBox.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):

2010-10-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8251616> Layout not updating in a subtree when a scrollbar is hidden in a flexbox descendant
        https://bugs.webkit.org/show_bug.cgi?id=48154

        Test: scrollbars/hidden-scrollbar-prevents-layout.html

        updateScrollInfoAfterLayout() calling setHasHorizontalScrollbar() caused updateScrollbarParts()
        to call setChildNeedsLayout() on the overflow, because the RenderScrollbar was created with
        the default thickness instead of the thickness specified in style. This led to the the overflow’s
        parent to be re-marked for layout during its own parent’s finishDelayUpdateScrollInfo(), and
        the result was that at the end of RenderView::layout(), there was a dirty renderer.

        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::RenderScrollbar): Set the frame size in the 'display: none' and
        'visibility: hidden' cases as well.

2010-10-22  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed.

        [WINCE] Build fix after r70143.

        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2010-10-22  Adam Roben  <aroben@apple.com>

        Windows build fix

        r70319 added Windows-native versions of the various platform/network
        headers to platform/network/win. WebCoreGenerated was copying these
        headers over the CFNetwork-specific versions in $WebKitOutputDir,
        leading to the wrong headers being used in WebKit.

        This patch changes WebCoreGenerated not to copy any headers from
        platform/network/win into $WebKitOutputDir. Instead, only headers from
        platform/network/cf or platform/network/curl (as specified) are copied.
        There were some CFNetwork-specific files still hanging around in
        platform/network/win; these have been moved to platform/network/cf.

        * WebCore.vcproj/WebCore.vcproj: Updated for file moves and let VS
        * format the file as it saw fit.

        * WebCore.vcproj/WebCoreGenerated.vcproj: Added the various scripts
        * this project uses to make editing them easier.

        * WebCore.vcproj/copyForwardingHeaders.cmd: Changed not to copy any
        * headers from platform/network/win.

        * platform/network/cf/CookieJarCFNet.cpp: Renamed from WebCore/platform/network/win/CookieJarCFNetWin.cpp.
        * platform/network/cf/CookieStorageCFNet.cpp: Renamed from WebCore/platform/network/win/CookieStorageWin.cpp.
        * platform/network/cf/CookieStorageCFNet.h: Renamed from WebCore/platform/network/win/CookieStorageWin.h.

        * platform/network/cf/ResourceHandleCFNet.cpp: Updated for rename.

        * platform/network/cf/AuthenticationChallenge.h:
        * platform/network/cf/ResourceError.h:
        * platform/network/cf/ResourceRequest.h:
        * platform/network/cf/ResourceResponse.h:
        * platform/network/cf/SocketStreamError.h:
        * platform/network/cf/SocketStreamHandle.h:
        Touched to force a re-copy.

2010-10-22  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Add code in getMatchedCSSRules to block cross origin access to stylesheet data. Prevent access
        in Javascript to non author stylesheets.
        https://bugs.webkit.org/show_bug.cgi?id=46853

        Tests: http/tests/security/cross-origin-getMatchedCSSRules.html
               http/tests/security/cross-origin-getMatchedCSSRules2.html

        * css/CSSRule.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
        * css/CSSStyleSelector.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules):
        * page/DOMWindow.idl:

2010-10-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        WebKit2 needs to pass the current event modifier flags when requesting a new window
        https://bugs.webkit.org/show_bug.cgi?id=48140

        Store the NavigationAction used for the newWindowPolicyDecision in the PolicyCallback
        so that it can be used after the decision has been made in further callbacks.

        * WebCore.exp.in: Fix export name for new function signature.
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::createWindow):
        (WebCore::EmptyFrameLoaderClient::dispatchCreatePage):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
        (WebCore::createWindow):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/PolicyCallback.cpp:
        (WebCore::PolicyCallback::set):
        (WebCore::PolicyCallback::call):
        (WebCore::PolicyCallback::cancel):
        * loader/PolicyCallback.h:
        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):
        * page/Chrome.cpp:
        (WebCore::Chrome::createWindow):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):

2010-10-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=48149
        
        Update block direction line overflow computation to be writing-mode-aware.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::logicalBottom):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::blockDirectionOverflow):
        * rendering/RenderBox.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::addHighlightOverflow):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
        (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
        (WebCore::InheritedFlags::getShadowBlockDirectionExtent):

2010-10-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        ASSERT while viewing Google C++ style guide
        https://bugs.webkit.org/show_bug.cgi?id=48148

        This code used to stop the parser twice.  Instead of reaching in an
        trying to stop the parser manually, we now just let close() do the work
        for us.

        Test: fast/xsl/transform-to-html.xml

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2010-10-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Implement GraphicsContext::(get|release)WindowsContext
        https://bugs.webkit.org/show_bug.cgi?id=48136

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContext::releaseWindowsContext):

2010-10-22  Adam Roben  <aroben@apple.com>

        Attempt to fix the Windows build

        * platform/network/win/CookieJarCFNetWin.cpp: Add a missing #include.

2010-10-22  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Dirk Schulze.

        getBoundingClientRect does not work with SVG <text>
        https://bugs.webkit.org/show_bug.cgi?id=46775

        Added back to SVGStyledTransformableElement overloads of the following
        methods: nearestViewportElement, farthestViewportElement, getBBox.
        This was necessary to appease the Visual C++ compiler, which warned on
        inheritance via dominance.

        * svg/SVGStyledTransformableElement.cpp:
        * svg/SVGStyledTransformableElement.h:
        (SVGStyledTransformableElement::nearestViewportElement):
        (SVGStyledTransformableElement::farthestViewportElement):
        (SVGStyledTransformableElement::getBBox):

2010-10-21  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

        Content in <iframe> doesn't appear when going back to http://webkit.org/blog/386/3d-transforms/
        https://bugs.webkit.org/show_bug.cgi?id=32447

        Added documentDidBecomeActive() when document comes back from cache to cause compositing
        layers in iframes to be reattached.

        There is no layout test, but I added a manual test. This test is ready to be a layout test
        but currently DRT disables the WebCore page cache, so the back/forward essentially do a 
        page load which does not exhibit the bug.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore):
        * manual-tests/compositing/show-composited-iframe-on-back-button.html: Added.

2010-10-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Add Windows specific files for platform/network/win
        https://bugs.webkit.org/show_bug.cgi?id=27376

        * platform/network/win/AuthenticationChallenge.h: Added.
        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
        * platform/network/win/ResourceError.h: Added.
        (WebCore::ResourceError::ResourceError):
        * platform/network/win/ResourceRequest.h: Added.
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/win/ResourceResponse.h: Added.
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):

2010-10-22  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r70290.
        http://trac.webkit.org/changeset/70290
        https://bugs.webkit.org/show_bug.cgi?id=48111

        Undelete Android build files.

        * Android.mk: Added.

2010-10-22  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Nikolas Zimmermann.

        getBoundingClientRect does not work with SVG <text>
        https://bugs.webkit.org/show_bug.cgi?id=46775

        Dispatched the calls from Element::getBoundingClientRect to getBBox
        through SVGElement::boundingBox.
        Recognized SVGTextElement in addition to SVGStyledLocatableElement
        as a class that provides getBBox.
        Fixed the result of zooming: adjusted the getBoundingClientRect rectangle
        for absolute zoom, even for SVG elements.

        Additional cleanup task:
        Removed redundant overloads of SVGStyledTransformableElement
        methods: nearestViewportElement, farthestViewportElement, getBBox.
        These methods are already inherited from SVGStyledLocatableElement.

        Test: css3/zoom-coords.xhtml

        * WebCore.xcodeproj/project.pbxproj: Set role of SVGLocatable.h to private.
        * dom/Element.cpp:
        (Element::getBoundingClientRect): Used SVGElement::boundingBox.
        Adjusted coordinates for absolute zoom, for all kinds of elements.
        * svg/SVGElement.cpp:
        * svg/SVGElement.h:
        (SVGElement::boundingBox): Added.
        * svg/SVGStyledTransformableElement.cpp:
        * svg/SVGStyledTransformableElement.h:
        (SVGStyledTransformableElement::nearestViewportElement): Removed.
        (SVGStyledTransformableElement::farthestViewportElement): Removed.
        (SVGStyledTransformableElement::getBBox): Removed.

2010-10-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Add stubs for SocketStream classes
        https://bugs.webkit.org/show_bug.cgi?id=47983

        * platform/network/win/SocketStreamError.h: Copied from WebCore/platform/network/curl/SocketStreamError.h.
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/win/SocketStreamHandle.h: Copied from WebCore/platform/network/curl/SocketStreamHandle.h.
        (WebCore::SocketStreamHandle::create):
        * platform/network/win/SocketStreamHandleWin.cpp: Copied from WebCore/platform/network/curl/SocketStreamHandleCurl.cpp.

2010-10-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Disable cache in ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=48128

        The caching of windows does not work correctly, so disable it for now.

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):

2010-10-22  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Regression (r69548): cancelled autocorrection suggestion is still applied.
        https://bugs.webkit.org/show_bug.cgi?id=48081
        <rdar://problem/8579765>
        
        The test requires a 0.3 second delay using setTimeout(). So we put it in manual-tests.

        * editing/Editor.cpp:
        (WebCore::Editor::handleRejectedCorrection): Clear autocorrection info when user dismissed the panel.
        * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Added.

2010-10-22  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Gtk] Fix canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
        https://bugs.webkit.org/show_bug.cgi?id=48133

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::contains): Return false if any x or y are nonfinite.

2010-10-22  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement property toggling in InspectorCSSAgent

        This change implements enablement/disablement and setting of style properties.
        Disabled properties are persisted in the (top-level) scope of InspectorStyleSheet.
        https://bugs.webkit.org/show_bug.cgi?id=47339

        Drive-by: fixes for the Web Inspector Protocol format.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
        (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
        (WebCore::InspectorCSSAgent::setPropertyText2):
        (WebCore::InspectorCSSAgent::toggleProperty2):
        (WebCore::InspectorCSSAgent::setRuleSelector2):
        (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::buildObjectForStyle):
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::toggleProperty):
        (WebCore::InspectorStyle::disabledIndexByOrdinal):
        (WebCore::InspectorStyle::styleText):
        (WebCore::InspectorStyle::disableProperty):
        (WebCore::InspectorStyle::enableProperty):
        (WebCore::InspectorStyle::populateAllProperties):
        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
        (WebCore::InspectorStyle::shiftDisabledProperties):
        (WebCore::InspectorStyle::replacePropertyInStyleText):
        (WebCore::InspectorStyle::shorthandValue):
        (WebCore::InspectorStyle::shorthandPriority):
        (WebCore::InspectorStyle::longhandProperties):
        (WebCore::InspectorStyleSheet::setText):
        (WebCore::InspectorStyleSheet::setRuleSelector):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::ruleForId):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::setPropertyText):
        (WebCore::InspectorStyleSheet::toggleProperty):
        (WebCore::InspectorStyleSheet::styleForId):
        (WebCore::InspectorStyleSheet::inspectorStyleForId):
        (WebCore::InspectorStyleSheet::rememberInspectorStyle):
        (WebCore::InspectorStyleSheet::forgetInspectorStyle):
        (WebCore::InspectorStyleSheet::ruleOrStyleId):
        (WebCore::InspectorStyleSheet::ensureText):
        (WebCore::InspectorStyleSheet::setStyleText):
        (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
        (WebCore::InspectorStyleSheet::ruleId):
        (WebCore::InspectorStyleSheet::revalidateStyle):
        (WebCore::InspectorStyleSheet::originalStyleSheetText):
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        (WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorCSSId::createFromParts):
        (WebCore::InspectorCSSId::InspectorCSSId):
        (WebCore::InspectorCSSId::styleSheetId):
        (WebCore::InspectorCSSId::ordinal):
        (WebCore::InspectorCSSId::isEmpty):
        (WebCore::InspectorCSSId::asString):
        (WebCore::InspectorStyleProperty::InspectorStyleProperty):
        (WebCore::InspectorStyle::create):
        (WebCore::InspectorStyle::InspectorStyle):
        (WebCore::InspectorStyle::cssStyle):
        (WebCore::InspectorStyle::hasDisabledProperties):
        (WebCore::InspectorStyleSheet::styleId):
        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
        (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
        (WebCore::InspectorStyleSheetForInlineStyle::rememberInspectorStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::forgetInspectorStyle):

2010-10-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: update resources tree in storage panel upon network events.
        https://bugs.webkit.org/show_bug.cgi?id=48121

        * inspector/Inspector.idl:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForDocumentLoader):
        (WebCore::buildObjectForFrameTree):
        (WebCore::InspectorResourceAgent::didCommitLoad):
        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype._createResource):
        (WebInspector.ResourceManager.prototype.didReceiveResponse):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceManager.prototype._addResourceToStorageFrame):
        (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
        (WebInspector.ResourceManager.prototype._clearResources):
        (WebInspector.ResourceManager.prototype._processCachedResources):
        (WebInspector.ResourceManager.prototype._addFramesRecursively):
        (WebInspector.ResourceManager.getContents):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
        (WebInspector.StoragePanel.prototype.removeFrame):
        (WebInspector.StoragePanel.prototype.addResourceToFrame):
        (WebInspector.StoragePanel.prototype.removeResourcesFromFrame):
        (WebInspector.BaseStorageTreeElement.prototype.onattach):
        (WebInspector.BaseStorageTreeElement.prototype.onreveal):
        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.onselect):
        (WebInspector.FrameTreeElement.prototype.get displayName):
        (WebInspector.FrameTreeElement.prototype.set displayName):

2010-10-22  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fix wrong xHeight() value for Apple Symbols font.
        https://bugs.webkit.org/show_bug.cgi?id=41535

        Test: mathml/xHeight.xhtml

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):

2010-10-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Further preparations to deploy the new SVGAnimatedProperty concept for the rest of the SVG datatypes
        https://bugs.webkit.org/show_bug.cgi?id=48125

        Model SVGListPropertyTearOff similar to SVGPropertyTearOff, allow it to be used for SVGXXXList datatypes, that are not animated. (SVGStringList)
        Recognize all SVG primitive datatypes in SVGPropertyTraits.
        Add a new - temporary - macro to support multiple animated properties that map to a single DOM attribute (kernelUnitLength attribute vs. kernelUnitLengthX/Y properties).
        These macros will all be removed and expanded by their content, as soon as the transition to the new SVGAnimatedProperty concept is done.

        Doesn't affect any tests yet, as the code is still unused.

        * svg/properties/SVGAnimatedProperty.h:
        (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
        (WebCore::SVGAnimatedProperty::lookupWrapper):
        * svg/properties/SVGAnimatedPropertyMacros.h:
        * svg/properties/SVGAnimatedPropertySynchronizer.h:
        * svg/properties/SVGListPropertyTearOff.h:
        (WebCore::SVGListPropertyTearOff::create):
        (WebCore::SVGListPropertyTearOff::removeItemFromList):
        (WebCore::SVGListPropertyTearOff::detachListWrappers):
        (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::~SVGListPropertyTearOff):
        (WebCore::SVGListPropertyTearOff::commitChange):
        * svg/properties/SVGPropertyTearOff.h:
        * svg/properties/SVGPropertyTraits.h:

2010-10-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70301.
        http://trac.webkit.org/changeset/70301
        https://bugs.webkit.org/show_bug.cgi?id=48126

        "Lang attribute layout tests failing" (Requested by satish on
        #webkit).

        * dom/Element.cpp:
        (WebCore::Element::computeInheritedLanguage):
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-22  Leandro Gracia Gil  <leandrogracia@google.com>

        Reviewed by Jeremy Orlow.

        Patch the current speech input implementation to use and validate the
        nearest language tag. The language is now passed to the startRecognition
        methods so that language-specific recognition could be used. Also added
        a second parameter to setMockSpeechInputResult for the language used in
        speech recognition.
        https://bugs.webkit.org/show_bug.cgi?id=47089

        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
        details see http://codereview.chromium.org/3615005/show and
        http://codereview.chromium.org/3595018/show.

        Test: fast/speech/input-text-language-tag.html

        * dom/Element.cpp:
        (WebCore::Element::computeInheritedLanguage): includes a brief character
          validation for the BCP 47 language tag.
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
          stored by language using a hash map.
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-21  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed, rolling out r70298.WebKit win compilation failure.
        http://trac.webkit.org/changeset/70298
        https://bugs.webkit.org/show_bug.cgi?id=48122

2010-10-21  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.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptCallFrame.cpp: Removed.
        * bindings/js/ScriptCallFrame.h: Removed.
        * bindings/js/ScriptCallStack.cpp: Removed.
        * bindings/js/ScriptCallStack.h: Removed.
        * bindings/js/ScriptCallStackFactory.cpp: Added.
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStackFactory.h: Added.
        * bindings/js/ScriptState.h:
        (WebCore::ScriptStateProtectedPtr::get):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptCallFrame.cpp: Removed.
        * bindings/v8/ScriptCallFrame.h: Removed.
        * bindings/v8/ScriptCallStack.cpp: Removed.
        * bindings/v8/ScriptCallStack.h: Removed.
        * bindings/v8/ScriptCallStackFactory.cpp: Added.
        (WebCore::toScriptCallFrame):
        (WebCore::toScriptCallFramesVector):
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptCallStackFactory.h: Added.
        * 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):
        * 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: Added.
        (WebCore::ScriptArguments::ScriptArguments):
        (WebCore::ScriptArguments::~ScriptArguments):
        (WebCore::ScriptArguments::argumentAt):
        (WebCore::ScriptArguments::globalState):
        (WebCore::ScriptArguments::getFirstArgumentAsString):
        (WebCore::ScriptArguments::isEqual):
        * inspector/ScriptArguments.h: Added.
        (WebCore::ScriptArguments::argumentCount):
        * inspector/ScriptCallFrame.cpp: Added.
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        (WebCore::ScriptCallFrame::~ScriptCallFrame):
        (WebCore::ScriptCallFrame::isEqual):
        (WebCore::ScriptCallFrame::buildInspectorObject):
        * inspector/ScriptCallFrame.h: Added.
        (WebCore::ScriptCallFrame::functionName):
        (WebCore::ScriptCallFrame::sourceURL):
        (WebCore::ScriptCallFrame::lineNumber):
        * inspector/ScriptCallStack.cpp: Added.
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::~ScriptCallStack):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        (WebCore::ScriptCallStack::isEqual):
        (WebCore::ScriptCallStack::buildInspectorObject):
        * inspector/ScriptCallStack.h: Added.
        * 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:

2010-10-22  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] All widgets are rendered incorrectly when rendered through a cache
        https://bugs.webkit.org/show_bug.cgi?id=47767

        When a widget is not available to the RenderTheme, default
        value are used for the state.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::initStyleOption):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::paintMenuListButton):
        (WebCore::RenderThemeQt::paintProgressBar):
        (WebCore::RenderThemeQt::paintSliderTrack):

2010-10-22  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Moving all bounding box related calculation to RenderSVGResourceFilterPrimitive
        https://bugs.webkit.org/show_bug.cgi?id=47174

        The primitive sub-region calculation was spread in many
        files across in WebKit source code, and all of them are moved
        to RenderSVGResourceFilterPrimitive, where they should be.
        In this patch the calculation is a static method which will
        be turned to a real member function in the near future.

        * platform/graphics/filters/FETile.cpp:
        * platform/graphics/filters/FETile.h:
        (WebCore::FETile::filterEffectType):
        * platform/graphics/filters/Filter.h:
        * platform/graphics/filters/FilterEffect.cpp:
        * platform/graphics/filters/FilterEffect.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        * rendering/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
        * rendering/RenderSVGResourceFilterPrimitive.h:
        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
        * svg/graphics/filters/SVGFilter.cpp:
        * svg/graphics/filters/SVGFilter.h:
        (WebCore::SVGFilter::mapLocalRectToAbsoluteRect):
        (WebCore::SVGFilter::targetBoundingBox):

2010-10-21  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add a String constructor which takes AECHAR*
        https://bugs.webkit.org/show_bug.cgi?id=45043

        Implement String(const AECHAR*) constructor.

        * platform/text/brew/StringBrew.cpp: Added.
        (WTF::String::String):

2010-10-21  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder's InForeignContent code needs a re-write

        Foreign Content mode was changed significantly by:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314

        The differences can be seen here:
        http://html5.org/tools/web-apps-tracker?from=5520&to=5522

        This bug addresses all spec changes in the diff except the select scope
        changes, which have already been fixed in a separate bug.

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

        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isScopeMarker): Add foreign elements to list.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processDoctypeToken): Switch mode before reprocessing any tokens.
        (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. Remove secondary insertion mode.
        (WebCore::HTMLTreeBuilder::processStartTagForInTable): Switch mode before reprocessing any tokens.
        (WebCore::HTMLTreeBuilder::processStartTag): Ditto. Remove secondary insertion mode.
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Remove foreign var. Use hasTagName() instead of == localName() to fix bug with foreign elements.
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Switch mode before reprocessing any tokens.
        (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
        (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
        (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
        (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
        (WebCore::HTMLTreeBuilder::prepareToReprocessToken): Added.
        (WebCore::HTMLTreeBuilder::reprocessStartTag): Added.
        (WebCore::HTMLTreeBuilder::reprocessEndTag): Added.
        (WebCore::HTMLTreeBuilder::processForeignContentUsingInBodyModeAndResetMode): Added.
        (WebCore::HTMLTreeBuilder::resetForeignInsertionMode): Added.
        (WebCore::HTMLTreeBuilder::processComment): Switch mode before reprocessing any tokens.
        (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
        (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
        * html/parser/HTMLTreeBuilder.h: Functions and member for tracking potential switch from InForeignContentMode.

2010-10-21  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Remove Android build system
        https://bugs.webkit.org/show_bug.cgi?id=48111

        As far as I can tell, these files are not maintained.  They are a
        mantaince burden on the project.  If folks would like to come out of
        the woodwork and maintain these files, that's great.  At the moment,
        they seem like dead weight for the project.

        * Android.mk: Removed.

2010-10-21  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by James Robinson.

        Make sure skia is not Chromium specific
        https://bugs.webkit.org/show_bug.cgi?id=39672

        GlyphPageTreeNodeLinux does not depend on Linux or Chromium.
        Move GlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
        GlyphPageTreeNodeSkia.cpp so that other ports can use it.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.

2010-10-21  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        removeFormat needs to be reimplemented
        https://bugs.webkit.org/show_bug.cgi?id=43017

        Reimplemented execCommand('RemoveFormat', false, null). New implementation removes
        the same elements removed by Internet Explorer. Because WebKit supports StyleWithCSS
        we also reset any editing styles to match that of the root editable element
        while Internet Explorer does not remove any CSS styles.

        New implementation uses ApplyStyleCommand to remove appropriate elements and reset the style.
        Added new constructor and member variable to ApplyStyleCommand to support mass-removal of elements
        since it's inefficient to call ApplyStyleCommand on each element we're removing.

        To avoid an infinite loop in pushDownInlineStyleAroundNode when mass-removing, WebKit no longer
        push down element one level at a time. Instead, we keep a stack of styled elements to be applied,
        and apply wrap siblings of targetNode's ancestors by all of them at once.

        Tests: editing/execCommand/remove-format-elements.html
               editing/execCommand/remove-format-multiple-elements.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::ApplyStyleCommand): Added; this version takes style and a function pointer
        to a boolean function that determines which element needs to removed, and set m_removeOnly to true.
        (WebCore::ApplyStyleCommand::doApply): Added support for m_isInlineElementToRemoveFunction.
        (WebCore::ApplyStyleCommand::applyBlockStyle): Ditto.
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Exits early if m_removeOnly is true.
        (WebCore::ApplyStyleCommand::isStyledInlineElementToRemove): Added.
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls isStyledInlineElementToRemove.
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Ditto.
        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): See above.
        * editing/ApplyStyleCommand.h:
        (WebCore::ApplyStyleCommand::create): Added.
        * editing/RemoveFormatCommand.cpp:
        (WebCore::isElementForRemoveFormatCommand): Added.
        (WebCore::RemoveFormatCommand::doApply): Rewritten.

2010-10-21  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Ignore document.write() when it comes from a network task
        https://bugs.webkit.org/show_bug.cgi?id=47560

        This implements the update to the spec made by:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767

        It also matches the latest Firefox 4 beta. The notable change is that
        document.write from a deferred script no longer works. This avoids
        blowing the patch away.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::write):
        * dom/Document.h:
        (WebCore::DestructiveWriteCountIncrementer::DestructiveWriteCountIncrementer):
        (WebCore::Document::ignoreDestructiveWriteCountIncrementer):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::insertedIntoDocument):
        (WebCore::ScriptElementData::ScriptElementData):
        (WebCore::ScriptElementData::evaluateScript):
        * dom/ScriptElement.h:
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):

2010-10-21  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Leopard build fix attempt.

        Explicitly cast the return value of deg2rad to float.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):

2010-10-21  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by James Robinson.

        [Chromium] Fix Chromium Mac build
        https://bugs.webkit.org/show_bug.cgi?id=48096

        Fix Chromium Mac build after r70225 (Chromium uses Core Text but is not
        PLATFORM(MAC)).

        * platform/graphics/SimpleFontData.h:

2010-10-21  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Performance improvement for FontLinux.
        https://bugs.webkit.org/show_bug.cgi?id=47019
        
        Reduce the number of calls for the normalization function because converting
        to NFC form is very expensive.
    
        Combine space normalization and character mirroring into one text scan.

        Test: platform/chromium/fast/text/font-linux-normalize.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::getNormalizedTextRun):
        (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars):

2010-10-21  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

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

        Make basic vertical text painting work.  This includes the text itself, underlines, overlines, line-throughs and shadows.

        Added fast/blockflow/english-lr-text.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::applyShadowToGraphicsContext):
        (WebCore::paintTextWithShadows):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/InlineTextBox.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintTextWithShadows):

2010-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
        https://bugs.webkit.org/show_bug.cgi?id=48070

        No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082

        * page/Frame.cpp:
        (WebCore::Frame::tiledBackingStoreBackgroundColor):
        * page/Frame.h:
        * platform/graphics/TiledBackingStoreClient.h:
        * platform/graphics/qt/TileQt.cpp:
        (WebCore::Tile::updateBackBuffer):

2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Use GCharsetConverter instead of g_iconv in TextCodecGtk
        https://bugs.webkit.org/show_bug.cgi?id=47896

        It makes error handling easier. Fixes tests:
         fast/encoding/invalid-multi-byte-over-consumption.html
         fast/encoding/invalid-xml.html
         fast/encoding/japanese-encoding-mix.html
        when building with glib unicode

        * platform/text/gtk/TextCodecGtk.cpp:
        (WebCore::TextCodecGtk::TextCodecGtk):
        (WebCore::TextCodecGtk::~TextCodecGtk):
        (WebCore::TextCodecGtk::createIConvDecoder):
        (WebCore::TextCodecGtk::createIConvEncoder):
        (WebCore::TextCodecGtk::decode):
        (WebCore::TextCodecGtk::encode):
        * platform/text/gtk/TextCodecGtk.h:

2010-10-21  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: contenteditable nodes do not return correct AXSelectedText* attributes
        https://bugs.webkit.org/show_bug.cgi?id=48080

        The ariaSelectedDOMTextRange() method was not returning the correct values. 
        The fix is to return a plain text range that represents the current selection.

        Test: platform/mac/accessibility/content-editable-range-properties.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::accessibilityDescription):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
        (WebCore::AccessibilityRenderObject::selectedText):
        (WebCore::AccessibilityRenderObject::selectedTextRange):
        * accessibility/AccessibilityRenderObject.h:

2010-10-20  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Video -> Canvas doesn't work on Windows
        https://bugs.webkit.org/show_bug.cgi?id=47996
        rdar://problem/7884690

        * WebCore.vcproj/QTMovieWin.vcproj: Added QTDecompressionSession.{cpp,h}
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Create a 
            QTDecompressionSession if necessary and convert the QTPixelBuffer
            into a CG-compatible one.
        * platform/graphics/win/QTDecompressionSession.cpp: Added.
        * platform/graphics/win/QTDecompressionSession.h: Added.
        * platform/graphics/win/QTPixelBuffer.cpp:
        (SetNumberValue): Moved from QTMovieVisualContext.
        (QTPixelBuffer::createPixelBufferAttributesDictionary): Moved from inside
            QTMovieVisualContext::createPixelBufferOptionsDictionary().
        * platform/graphics/win/QTPixelBuffer.h: Moved the Type enum 
            from QTMovieVisualContext.h.

2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] TextBreakIteratorGtk should initialize its internal index to 0
        https://bugs.webkit.org/show_bug.cgi?id=48065

        It fixes the following tests when using glib unicode:
          fast/forms/ValidityState-tooLong-input.html
          fast/forms/ValidityState-tooLong-textarea.html
          fast/forms/input-appearance-maxlength.html
          fast/forms/input-implicit-length-limit.html
          fast/forms/input-maxlength.html
          fast/forms/textarea-live-pseudo-selectors.html
          fast/forms/mailto/advanced-get.html
          fast/forms/mailto/advanced-put.html

        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        (WebCore::setUpIterator):

2010-10-21  takano takumi  <takano1@asia.apple.com>

        Reviewed by Dan Bernstein.

        Need to swap glyphs for vertical writing
        https://bugs.webkit.org/show_bug.cgi?id=46973

        Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
        and ultimately to CoreText APIs in both font complex path and fast path.

        Tests: fast/text/international/vertical-text-glyph-test.html
               fast/text/international/vertical-text-metrics-test.html

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
        when writing-mode is being specified.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
        * loader/CachedFont.h:
        * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        (WebCore::FontPlatformDataCacheKey::operator==):
        (WebCore::computeHash):
        (WebCore::FontCache::getCachedFontPlatformData):
        * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::orientation):
        (WebCore::FontDescription::setOrientation):
        (WebCore::FontDescription::operator==):
        * platform/graphics/FontOrientation.h: Added.
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::orientation):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
        (WebCore::FontPlatformData::description):
        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
        CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
        * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
        (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
        to get vertical metrics when the font orientation is vertical.
        * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()

2010-10-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: provide resource tree in the Storage panel (behind the flag).
        https://bugs.webkit.org/show_bug.cgi?id=48069

        * WebCore.gypi:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::frameDetachedFromParent):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForDocumentLoader):
        (WebCore::buildObjectForFrameResource):
        (WebCore::buildObjectForCachedResource):
        (WebCore::populateObjectWithFrameResources):
        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::buildObjectForFrameTree):
        (WebCore::InspectorResourceAgent::didCommitLoad):
        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
        (WebCore::InspectorResourceAgent::cachedResources):
        (WebCore::InspectorResourceAgent::resourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/Images/frame.png: Added.
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.refreshResource):
        (WebInspector.NetworkPanel.prototype._showResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.getContents):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        (WebInspector.ResourceManager.prototype._createResource):
        (WebInspector.ResourceManager.prototype.willSendRequest):
        (WebInspector.ResourceManager.prototype._appendRedirect):
        (WebInspector.ResourceManager.prototype.markResourceAsCached):
        (WebInspector.ResourceManager.prototype.didReceiveResponse):
        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
        (WebInspector.ResourceManager.prototype.didReceiveContentLength):
        (WebInspector.ResourceManager.prototype.didFinishLoading):
        (WebInspector.ResourceManager.prototype.didFailLoading):
        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.ResourceManager.prototype._updateResourceWithCachedResource):
        (WebInspector.ResourceManager.prototype.setOverrideContent):
        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
        (WebInspector.ResourceManager.prototype._clearResources):
        (WebInspector.ResourceManager.prototype.didCreateWebSocket):
        (WebInspector.ResourceManager.prototype.willSendWebSocketHandshakeRequest):
        (WebInspector.ResourceManager.prototype.didReceiveWebSocketHandshakeResponse):
        (WebInspector.ResourceManager.prototype.didCloseWebSocket):
        (WebInspector.ResourceManager.prototype._processCachedResources):
        (WebInspector.ResourceManager.prototype._appendFramesRecursively.comparator):
        (WebInspector.ResourceManager.prototype._appendFramesRecursively):
        (WebInspector.ResourceManager.createResourceView):
        (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
        (WebInspector.ResourceManager.resourceViewForResource):
        (WebInspector.ResourceManager.getContents):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.get searchableViews):
        (WebInspector.ResourcesPanel.prototype.addMessageToResource):
        (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
        (WebInspector.ResourcesPanel.prototype.showResource):
        (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.addFrame):
        (WebInspector.StoragePanel.prototype.removeFrame):
        (WebInspector.StoragePanel.prototype.addFrameResource):
        (WebInspector.StoragePanel.prototype.removeFrameResources):
        (WebInspector.StoragePanel.prototype.showResource):
        (WebInspector.BaseStorageTreeElement.prototype.onattach):
        (WebInspector.BaseStorageTreeElement.prototype.onreveal):
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.onselect):
        (WebInspector.FrameResourceTreeElement):
        (WebInspector.FrameResourceTreeElement.prototype.onselect):
        (WebInspector.FrameResourceTreeElement.prototype.onattach):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.frame-storage-tree-item .icon):
        (.storage.panel .sidebar.outline-disclosure > ol):
        (.resources-category-images .image-resource-icon-preview):
        (.children.small .resources-category-images .image-resource-icon-preview):
        * inspector/front-end/inspector.js:

2010-10-21  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/48047> Fix warnings found by check-Xcode-source-file-types

        Reviewed by Adam Roben.

        Fixes the following warning:

            WARNING: Unknown file type 'sourcecode' for file 'CSSPrimitiveValue.idl'.
            1 issues found for WebCore/WebCore.xcodeproj/project.pbxproj.

        * WebCore.xcodeproj/project.pbxproj: Removed explicit file type
        for CSSPrimitiveValue.idl to make it match other IDL files.

2010-10-21  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.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptCallFrame.cpp: Removed.
        * bindings/js/ScriptCallFrame.h: Removed.
        * bindings/js/ScriptCallStack.cpp: Removed.
        * bindings/js/ScriptCallStack.h: Removed.
        * bindings/js/ScriptCallStackFactory.cpp: Added.
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStackFactory.h: Added.
        * bindings/js/ScriptState.h:
        (WebCore::ScriptStateProtectedPtr::get):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptCallFrame.cpp: Removed.
        * bindings/v8/ScriptCallFrame.h: Removed.
        * bindings/v8/ScriptCallStack.cpp: Removed.
        * bindings/v8/ScriptCallStack.h: Removed.
        * bindings/v8/ScriptCallStackFactory.cpp: Added.
        (WebCore::toScriptCallFrame):
        (WebCore::toScriptCallFramesVector):
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptCallStackFactory.h: Added.
        * 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):
        * 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: Added.
        (WebCore::ScriptArguments::ScriptArguments):
        (WebCore::ScriptArguments::~ScriptArguments):
        (WebCore::ScriptArguments::argumentAt):
        (WebCore::ScriptArguments::globalState):
        (WebCore::ScriptArguments::getFirstArgumentAsString):
        (WebCore::ScriptArguments::isEqual):
        * inspector/ScriptArguments.h: Added.
        (WebCore::ScriptArguments::argumentCount):
        * inspector/ScriptCallFrame.cpp: Added.
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        (WebCore::ScriptCallFrame::~ScriptCallFrame):
        (WebCore::ScriptCallFrame::isEqual):
        (WebCore::ScriptCallFrame::buildInspectorObject):
        * inspector/ScriptCallFrame.h: Added.
        (WebCore::ScriptCallFrame::functionName):
        (WebCore::ScriptCallFrame::sourceURL):
        (WebCore::ScriptCallFrame::lineNumber):
        * inspector/ScriptCallStack.cpp: Added.
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::~ScriptCallStack):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        (WebCore::ScriptCallStack::isEqual):
        (WebCore::ScriptCallStack::buildInspectorObject):
        * inspector/ScriptCallStack.h: Added.
        * 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:

2010-10-21  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Revert r70232. Chromium compilation failure.

2010-10-21  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Revert r70233. Too many failures.

2010-10-21  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Remove references to deleted headers from WebCore.pro

        * WebCore.pro:

2010-10-21  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.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptCallFrame.cpp: Removed.
        * bindings/js/ScriptCallFrame.h: Removed.
        * bindings/js/ScriptCallStack.cpp: Removed.
        * bindings/js/ScriptCallStack.h: Removed.
        * bindings/js/ScriptCallStackFactory.cpp: Added.
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStackFactory.h: Added.
        * bindings/js/ScriptState.h:
        (WebCore::ScriptStateProtectedPtr::get):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptCallFrame.cpp: Removed.
        * bindings/v8/ScriptCallFrame.h: Removed.
        * bindings/v8/ScriptCallStack.cpp: Removed.
        * bindings/v8/ScriptCallStack.h: Removed.
        * bindings/v8/ScriptCallStackFactory.cpp: Added.
        (WebCore::toScriptCallFrame):
        (WebCore::toScriptCallFramesVector):
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptCallStackFactory.h: Added.
        * 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):
        * 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: Added.
        (WebCore::ScriptArguments::ScriptArguments):
        (WebCore::ScriptArguments::~ScriptArguments):
        (WebCore::ScriptArguments::argumentAt):
        (WebCore::ScriptArguments::globalState):
        (WebCore::ScriptArguments::getFirstArgumentAsString):
        (WebCore::ScriptArguments::isEqual):
        * inspector/ScriptArguments.h: Added.
        (WebCore::ScriptArguments::argumentCount):
        * inspector/ScriptCallFrame.cpp: Added.
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        (WebCore::ScriptCallFrame::~ScriptCallFrame):
        (WebCore::ScriptCallFrame::isEqual):
        (WebCore::ScriptCallFrame::buildInspectorObject):
        * inspector/ScriptCallFrame.h: Added.
        (WebCore::ScriptCallFrame::functionName):
        (WebCore::ScriptCallFrame::sourceURL):
        (WebCore::ScriptCallFrame::lineNumber):
        * inspector/ScriptCallStack.cpp: Added.
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::~ScriptCallStack):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        (WebCore::ScriptCallStack::isEqual):
        (WebCore::ScriptCallStack::buildInspectorObject):
        * inspector/ScriptCallStack.h: Added.
        * 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:

2010-10-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium: use dedicated event listener type in EventListenerWrapper.
        https://bugs.webkit.org/show_bug.cgi?id=48059

        This change introduces new EventListener::Type NativeEventListenerType.
        This new type is intended to be used by any code that wants to protect
        itself from unsafe casts to particular event listener implementations.

        * dom/EventListener.h:

2010-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70225.
        http://trac.webkit.org/changeset/70225
        https://bugs.webkit.org/show_bug.cgi?id=48061

        Build breakage on Leopard. (Requested by pfeldman on #webkit).

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::platformDataFromCustomData):
        * loader/CachedFont.h:
        * platform/graphics/FontCache.cpp:
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        (WebCore::FontPlatformDataCacheKey::operator==):
        (WebCore::computeHash):
        (WebCore::FontCache::getCachedFontPlatformData):
        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::operator==):
        * platform/graphics/FontOrientation.h: Removed.
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cairo/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/cairo/FontCustomPlatformData.h:
        * platform/graphics/cocoa/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::allowsLigatures):
        (WebCore::FontPlatformData::description):
        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::GlyphPage::fill):
        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        * platform/graphics/wince/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/wince/FontCustomPlatformData.h:
        * platform/graphics/wx/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/wx/FontCustomPlatformData.h:

2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Tests LayoutTests/fast/encoding/utf-32* fail when using glib unicode
        https://bugs.webkit.org/show_bug.cgi?id=47805

        Register UTF-32 encodings in TextCodecGtk.

        * platform/text/gtk/TextCodecGtk.cpp:
        (WebCore::TextCodecGtk::registerBaseEncodingNames):
        (WebCore::TextCodecGtk::registerBaseCodecs):

2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Darin Adler.

        Adding MediaQueryListListener binding test cases
        https://bugs.webkit.org/show_bug.cgi?id=48028

        MediaQueryListListener type will need special handling of the code generators. Adding the test cases.

        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Added.
        (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListenerPrivate::WebDOMTestMediaQueryListListenerPrivate):
        (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListener):
        (WebDOMTestMediaQueryListListener::operator=):
        (WebDOMTestMediaQueryListListener::impl):
        (WebDOMTestMediaQueryListListener::~WebDOMTestMediaQueryListListener):
        (WebDOMTestMediaQueryListListener::method):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: Added.
        (WebKit::kit):
        (webkit_dom_test_media_query_list_listener_method):
        (WebKit::core):
        (webkit_dom_test_media_query_list_listener_finalize):
        (webkit_dom_test_media_query_list_listener_set_property):
        (webkit_dom_test_media_query_list_listener_get_property):
        (webkit_dom_test_media_query_list_listener_constructed):
        (webkit_dom_test_media_query_list_listener_class_init):
        (webkit_dom_test_media_query_list_listener_init):
        (WebKit::wrapTestMediaQueryListListener):
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: Added.
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h: Added.
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Added.
        (WebCore::JSTestMediaQueryListListenerConstructor::classInfo):
        (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
        (WebCore::JSTestMediaQueryListListenerPrototype::self):
        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
        (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
        (WebCore::JSTestMediaQueryListListener::createPrototype):
        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
        (WebCore::jsTestMediaQueryListListenerConstructor):
        (WebCore::JSTestMediaQueryListListener::getConstructor):
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        (WebCore::toJS):
        (WebCore::toTestMediaQueryListListener):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Added.
        (WebCore::JSTestMediaQueryListListener::classInfo):
        (WebCore::JSTestMediaQueryListListener::createStructure):
        (WebCore::JSTestMediaQueryListListener::impl):
        (WebCore::JSTestMediaQueryListListenerPrototype::classInfo):
        (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
        (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Added.
        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Added.
        (-[DOMTestMediaQueryListListener dealloc]):
        (-[DOMTestMediaQueryListListener finalize]):
        (-[DOMTestMediaQueryListListener method:]):
        (core):
        (kit):
        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Added.
        * bindings/scripts/test/TestMediaQueryListListener.idl: Added.
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Added.
        (WebCore::TestMediaQueryListListenerInternal::V8_USE):
        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
        (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
        (WebCore::V8TestMediaQueryListListener::GetTemplate):
        (WebCore::V8TestMediaQueryListListener::HasInstance):
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        (WebCore::V8TestMediaQueryListListener::derefObject):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Added.
        (WebCore::V8TestMediaQueryListListener::toNative):
        (WebCore::V8TestMediaQueryListListener::wrap):
        (WebCore::toV8):

2010-10-21  takano takumi  <takano1@asia.apple.com>

        Reviewed by Dan Bernstein.

        Need to swap glyphs for vertical writing
        https://bugs.webkit.org/show_bug.cgi?id=46973

        Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
        and ultimately to CoreText APIs in both font complex path and fast path.

        Tests: fast/text/international/vertical-text-glyph-test.html
               fast/text/international/vertical-text-metrics-test.html

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
        when writing-mode is being specified.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
        * loader/CachedFont.h:
        * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        (WebCore::FontPlatformDataCacheKey::operator==):
        (WebCore::computeHash):
        (WebCore::FontCache::getCachedFontPlatformData):
        * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::orientation):
        (WebCore::FontDescription::setOrientation):
        (WebCore::FontDescription::operator==):
        * platform/graphics/FontOrientation.h: Added.
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::orientation):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
        (WebCore::FontPlatformData::description):
        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
        CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
        * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
        (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
        to get vertical metrics when the font orientation is vertical.
        * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
        * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()

2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings)
        https://bugs.webkit.org/show_bug.cgi?id=47905

        Tests: svg/dom/SVGLengthList-appendItem.xhtml
               svg/dom/SVGLengthList-basics.xhtml
               svg/dom/SVGLengthList-getItem.xhtml
               svg/dom/SVGLengthList-initialize.xhtml
               svg/dom/SVGLengthList-insertItemBefore.xhtml
               svg/dom/SVGLengthList-removeItem.xhtml
               svg/dom/SVGLengthList-replaceItem.xhtml
               svg/dom/SVGLengthList-xml-dom-modifications.xhtml

        Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings.

        Concrete example:
        The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'.
        Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations),
        both of type 'SVGLength'. These objects are all _live_. That means you can do:
        var foobar = rect.x.baseVal; foobar.value += 150;

        If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects
        in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store
        SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all.

        In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>.
        When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength).
        This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM.
        Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly.

        The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement).
        Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper.

        It works like this:
        A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute.
        It also stores a RefPtr to the SVGElement that created it.
        
        In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength>
        object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap.

        The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList).
        SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and
        SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr.
        The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example:
        When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr.
        When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement.
        Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods.
        This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail).

        The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes
        like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.)
        is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all.
        SVGLengthList is live just like most other SVG DOM object. Concrete example:
        var item0 = text.x.baseVal.getItem(0); item0.value += 150;

        Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM
        w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object
        around the real object 'SVGLength'. This complexity is completly gone.

        The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength>
        wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects
        store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized.
        The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases.

        This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept.
        This will change in follow-up patches.

        * GNUmakefile.am: Add new files from svg/properties to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
        (WebCore::JSSVGLength::value):
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList".
        * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C).
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
        (WebCore::V8SVGLength::valueAccessorGetter):
        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference.
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now.
        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
        * svg/SVGAnimatedLength.h: Added.
        * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty].
        * svg/SVGAnimatedLengthList.h: Added.
        * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty].
        * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
        * svg/SVGCursorElement.h: Ditto.
        * svg/SVGEllipseElement.h: Ditto.
        * svg/SVGFilterElement.h: Ditto.
        * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
        * svg/SVGForeignObjectElement.h: Ditto.
        * svg/SVGImageElement.h: Ditto.
        * svg/SVGLength.idl: Mark as [SVGProperty].
        * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now.
        (WebCore::SVGLengthList::parse): 
        (WebCore::SVGLengthList::valueAsString):
        * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now.
        (WebCore::SVGLengthList::SVGLengthList):
        * svg/SVGLengthList.idl: Mark as [SVGListProperty].
        * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
        * svg/SVGLinearGradientElement.h: Ditto.
        * svg/SVGMarkerElement.h: Ditto.
        * svg/SVGMaskElement.h: Ditto.
        * svg/SVGPatternElement.h: Ditto.
        * svg/SVGRadialGradientElement.h: Ditto.
        * svg/SVGRectElement.h: Ditto.
        * svg/SVGSVGElement.h: Ditto.
        * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created.
        * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
        * svg/SVGTextPathElement.h: Ditto.
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM.
        (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now.
        * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished.
        * svg/SVGUseElement.h:
        * svg/properties/SVGAnimatedListPropertyTearOff.h: Added.
        * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff.
        * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h.
        * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished.
        * svg/properties/SVGAnimatedPropertyTearOff.h: Added.
        * svg/properties/SVGListPropertyTearOff.h: Added.
        * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff.
        * svg/properties/SVGPropertyTearOff.h: Added.
        * svg/properties/SVGPropertyTraits.h: Added.

2010-10-21  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        Changed the layout algorithm for rows to avoid unnecessary recursion
        into child rows.  This solves the long rendering time experienced in
        https://bugs.webkit.org/show_bug.cgi?id=43462 as well as reports in
        various other bugs.  The change in the algorithm required some
        tweaks to other rendering objects to make sure that the baseline
        alignment still works.

        In addition, an attempt was made to go through the various
        rendering objects for MathML and reduce unnecessary calls that
        mark the tree in need of layout.

        * mathml/RenderMathMLFenced.cpp:
        * mathml/RenderMathMLFenced.h:
        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::layout):
        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::stretchToHeight):
        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::layout):
        * mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::layout):
        * mathml/RenderMathMLRow.h:
        (WebCore::RenderMathMLRow::stretchToHeight):
        * mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::addChild):
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        (WebCore::RenderMathMLSubSup::nonOperatorHeight):
        (WebCore::RenderMathMLSubSup::layout):
        (WebCore::RenderMathMLSubSup::baselinePosition):
        * mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::stretchToHeight):
        (WebCore::RenderMathMLUnderOver::layout):
        (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
        * mathml/mathtags.in:

2010-10-21  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        sqlite: show extended error codes in error logs
        https://bugs.webkit.org/show_bug.cgi?id=47859

        SQLite can provide "extended" error codes, where extra information
        about the error is potentially encoded in the high bits of the error
        code.  It's only off by default in case older apps rely on equality
        testing on the older error codes, which WebKit doesn't do.

        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::open):
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::step):

2010-10-21  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Handle WebSocket events via InspectorInstrumentation
        https://bugs.webkit.org/show_bug.cgi?id=47968

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didCreateWebSocket):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorInstrumentation::didCloseWebSocket):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        Now we do not depend on InspectorController to generate a resource identifier.
        (WebCore::WebSocketChannel::disconnect):
        Check if m_identifier is valid in case we could not obtain an identifier.
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        * websockets/WebSocketChannel.h:

2010-10-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Convert sidebar into the browsing tree in the Storage panel.
        https://bugs.webkit.org/show_bug.cgi?id=47988

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addDatabase):
        (WebInspector.StoragePanel.prototype.addCookieDomain):
        (WebInspector.StoragePanel.prototype.addDOMStorage):
        (WebInspector.StoragePanel.prototype.addApplicationCache):
        (WebInspector.StoragePanel.prototype.showDatabase):
        (WebInspector.StoragePanel.prototype.showDOMStorage):
        (WebInspector.StoragePanel.prototype.showCookies):
        (WebInspector.StoragePanel.prototype.showApplicationCache):
        (WebInspector.StoragePanel.prototype.showCategoryView):
        (WebInspector.StoragePanel.prototype._innerShowView):
        (WebInspector.BaseStorageTreeElement):
        (WebInspector.BaseStorageTreeElement.prototype.onattach):
        (WebInspector.StorageCategoryTreeElement):
        (WebInspector.StorageCategoryTreeElement.prototype.onselect):
        (WebInspector.DatabaseTreeElement):
        (WebInspector.DatabaseTreeElement.prototype.onselect):
        (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback):
        (WebInspector.DatabaseTreeElement.prototype.onpopulate):
        (WebInspector.DatabaseTableTreeElement):
        (WebInspector.DatabaseTableTreeElement.prototype.onselect):
        (WebInspector.DOMStorageTreeElement):
        (WebInspector.DOMStorageTreeElement.prototype.onselect):
        (WebInspector.CookieTreeElement):
        (WebInspector.CookieTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheTreeElement):
        (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
        (WebInspector.StorageCategoryView):
        (WebInspector.StorageCategoryView.prototype.setText):
        * inspector/front-end/inspector.css:
        (.properties-tree ol):
        (.properties-tree ol.expanded):
        (.database-storage-tree-item .icon):
        (.database-table-storage-tree-item .icon):
        (.domstorage-storage-tree-item.local-storage .icon):
        (.domstorage-storage-tree-item.session-storage .icon):
        (.cookie-storage-tree-item .icon):
        (.application-cache-storage-tree-item .icon):
        (.storage.panel .sidebar):
        (.storage.panel .outline-disclosure > ol):
        (.storage.panel .outline-disclosure li):
        (.storage.panel .outline-disclosure li .selection):
        (.storage.panel .sidebar-resizer-vertical):
        (.storage-base-tree-element-title):
        (.storage.panel .outline-disclosure ol):
        (.storage.panel .outline-disclosure li.selected):
        (.storage.panel .outline-disclosure .icon):
        (.storage-empty-view, .storage-view.table .storage-table-error):

2010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Replace encodings multi-dimensional array with calls to registrar method
        https://bugs.webkit.org/show_bug.cgi?id=47990

        * platform/text/gtk/TextCodecGtk.cpp:
        (WebCore::isEncodingAvailable):
        (WebCore::registerEncodingNameIfAvailable):
        (WebCore::registerEncodingAliasIfAvailable):
        (WebCore::registerCodecIfAvailable):
        (WebCore::TextCodecGtk::registerBaseEncodingNames):
        (WebCore::TextCodecGtk::registerBaseCodecs):
        (WebCore::TextCodecGtk::registerExtendedEncodingNames):
        (WebCore::TextCodecGtk::registerExtendedCodecs):
        (WebCore::TextCodecGtk::createIConvDecoder):
        (WebCore::TextCodecGtk::createIConvEncoder):
        * platform/text/gtk/TextCodecGtk.h:

2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70040.
        http://trac.webkit.org/changeset/70040
        https://bugs.webkit.org/show_bug.cgi?id=48042

        "Reverting a performance regression detected by page_cycler"
        (Requested by hayato on #webkit).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
        (WebCore::CSSStyleSelector::checkSelector):
        * css/CSSStyleSelector.h:

2010-10-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Gavin Barraclough.

        https://bugs.webkit.org/show_bug.cgi?id=47851
        
        Avoid buffer overflows in CSSPrimitiveValue's use of 
        DecimalNumber, and pass the buffer size in InspectorBasicValue.

        Test: fast/css/large-value-csstext.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::formatNumber):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):

2010-10-20  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by David Levin.

        Add SecurityOrigin::threadsafeCopy() to the list of exported symbols.
        https://bugs.webkit.org/show_bug.cgi?id=40655

        * WebCore.exp.in:

2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70165.
        http://trac.webkit.org/changeset/70165
        https://bugs.webkit.org/show_bug.cgi?id=48007

        It broke tests on Qt bot (Requested by Ossy on #webkit).

        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        (WebCore::ScriptController::eventHandlerColumnNumber):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::startLine):
        * 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::startingLineNumber):
        * dom/ScriptableDocumentParser.h:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
        (WebCore::HTMLDocumentParser::columnNumber):
        * 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::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        * html/parser/HTMLTreeBuilder.h:

2010-10-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Make boxes place themselves properly in the block direction.  Get basic painting working for spans and add a test that
        verifies that span painting and replaced element painting (like images) works correctly.
        
        Added fast/blockflow/basic-vertical-line.html

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::logicalHeight):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::verticalPositionForBox):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::flipLinesInBlockDirection):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::isFlippedLinesWritingMode):

2010-10-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS 
        transforms should affect scrolling

        This patch causes topmostPosition, lowestPosition, 
        leftmostPosition, and rightmostPosition to take transforms into 
        account.

        Compute the topmost/lowest/leftmost/rightmost position without 
        factoring in the block's transform until the end.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::topmostPosition):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        * rendering/RenderBlock.h:

        transformedFrameRect() returns the frameRect() transformed to the 
        layer's transform. applyLayerTransformToRect() does the same thing 
        for the input rect.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::applyLayerTransformToRect):
        (WebCore::RenderBox::transformedFrameRect):
        (WebCore::RenderBox::topmostPosition):
        (WebCore::RenderBox::lowestPosition):
        (WebCore::RenderBox::rightmostPosition):
        (WebCore::RenderBox::leftmostPosition):
        * rendering/RenderBox.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::topmostPosition):
        (WebCore::RenderMedia::lowestPosition):
        (WebCore::RenderMedia::rightmostPosition):
        (WebCore::RenderMedia::leftmostPosition):
        * rendering/RenderMedia.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::topmostPosition):
        (WebCore::RenderTableSection::lowestPosition):
        (WebCore::RenderTableSection::rightmostPosition):
        (WebCore::RenderTableSection::leftmostPosition):
        * rendering/RenderTableSection.h:

2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
        https://bugs.webkit.org/show_bug.cgi?id=47973

        Copy headers from svg/properties, otherwhise builds from scratch on win are broken.

        * WebCore.vcproj/copyForwardingHeaders.cmd:

2010-10-20  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-10-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=47994
        
        Make computeBlockDirectionPositionsForLine writing-mode-aware.  None of the functions it calls are patched yet.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):

2010-10-20  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Fix crash when mousing over scrollview
        https://bugs.webkit.org/show_bug.cgi?id=47956

        Test: plugins/mouse-move-over-plugin-in-frame.html

        * platform/Widget.h:
        (WebCore::Widget::isPluginContainer):

2010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70149.
        http://trac.webkit.org/changeset/70149
        https://bugs.webkit.org/show_bug.cgi?id=47989

        "Build breaks in mac and win" (Requested by satish on
        #webkit).

        * dom/Element.cpp:
        (WebCore::Element::computeInheritedLanguage):
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-20  Leandro Gracia Gil  <leandrogracia@google.com>

        Reviewed by Jeremy Orlow.

        Patch the current speech input implementation to use and validate the
        nearest language tag. The language is now passed to the startRecognition
        methods so that language-specific recognition could be used. Also added
        a second parameter to setMockSpeechInputResult for the language used in
        speech recognition.
        https://bugs.webkit.org/show_bug.cgi?id=47089

        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
        details see http://codereview.chromium.org/3615005/show and
        http://codereview.chromium.org/3595018/show.

        Test: fast/speech/input-text-language-tag.html

        * dom/Element.cpp:
        (WebCore::Element::computeInheritedLanguage): includes a brief character
          validation for the BCP 47 language tag.
        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
          stored by language using a hash map.
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        (WebCore::SearchFieldCancelButtonElement::detach):
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-10-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Merge ColorSpace and ImageColorSpace enums
        https://bugs.webkit.org/show_bug.cgi?id=47922

        Merging these two enums makes it easier to implement color-interpolation as well as
        color-interpolation-filter for SVG.
        Added ColorSpaceLinearRGB to the ColorSpace enum and changed ImageColorSpace to ColorSpace in all related
        files. Renamed enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
        to follow webkit style rules.
        Removed gray scale support in ImageBuffer since it is not used anymore on WebKit.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator ColorSpace):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::paintCaret):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
        (WebCore::CanvasRenderingContext2D::setShadow):
        (WebCore::CanvasRenderingContext2D::applyShadow):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::applyStrokeColor):
        (WebCore::CanvasStyle::applyFillColor):
        * inspector/InspectorController.cpp:
        (WebCore::drawOutlinedQuad):
        (WebCore::InspectorController::drawElementTitle):
        * mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paint):
        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):
        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::spoolAllPagesWithBoundaries):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollbarTheme.h:
        (WebCore::ScrollbarTheme::paintScrollCorner):
        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::paintScrollCorner):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::paintBorder):
        (WebCore::PopupListBox::paint):
        (WebCore::PopupListBox::paintRow):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        (WebCore::ScrollbarThemeChromium::paintTickmarks):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/graphics/ColorSpace.h:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setStrokePattern):
        (WebCore::GraphicsContext::setFillPattern):
        (WebCore::GraphicsContext::setStrokeGradient):
        (WebCore::GraphicsContext::setFillGradient):
        * platform/graphics/GraphicsContextPrivate.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/ImageBuffer.cpp:
        (WebCore::ImageBuffer::transformColorSpace):
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::cachedCGColorSpace):
        (WebCore::cachedCGColor):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::linearRGBColorSpaceRef):
        * platform/graphics/cg/GraphicsContextCG.h:
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::cgImage):
        (WebCore::ImageBuffer::draw):
        * platform/graphics/cg/ImageBufferData.h:
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::imageWithColorSpace):
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::clearRect):
        (WebCore::GLES2Canvas::fillRect):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEFlood.cpp:
        (WebCore::FEFlood::apply):
        * platform/graphics/filters/FEMerge.cpp:
        (WebCore::FEMerge::apply):
        * platform/graphics/filters/FEOffset.cpp:
        (WebCore::FEOffset::apply):
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::apply):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::effectContext):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::apply):
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::apply):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::paint):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::setLayerBorderColor):
        (WebCore::setLayerBackgroundColor):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::draw):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        (WebCore::setLayerBorderColor):
        (WebCore::setLayerBackgroundColor):
        * platform/graphics/win/ImageCGWin.cpp:
        (WebCore::BitmapImage::getHBITMAPOfSize):
        * platform/graphics/win/ImageCairoWin.cpp:
        (WebCore::BitmapImage::getHBITMAPOfSize):
        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
        * platform/graphics/win/WebLayer.cpp:
        (WebCore::WebLayer::drawInContext):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::BitmapImage::getHBITMAPOfSize):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::paintMediaButton):
        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):
        * platform/win/WebCoreTextRenderer.cpp:
        (WebCore::doDrawTextAtPoint):
        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
        (WebCore::drawTextWithSpacing):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::paintMissingPluginIcon):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintResizer):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaButton):
        (WebCore::paintMediaSlider):
        (WebCore::paintMediaVolumeSlider):
        (WebCore::paintMediaTimelineContainer):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::applyResource):
        * rendering/RenderScrollbarTheme.cpp:
        (WebCore::RenderScrollbarTheme::paintScrollCorner):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintProgressBar):
        (WebCore::RenderThemeMac::paintMenuListButton):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButton):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWinCE::paintSliderTrack):
        (WebCore::RenderThemeWinCE::paintSliderThumb):
        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::createImageBuffer):
        * rendering/SVGImageBufferTools.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::apply):

2010-10-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Andreas Kling.

        Remove left over code after moving Cairo port to ShadowContext
        https://bugs.webkit.org/show_bug.cgi?id=47929

        ImageBufferFilter is not needed anymore, since Cairo is using ShadowContext now.
        Made kernelPosition() in FEGaussianBlur a inline function instead of a static function.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::kernelPosition):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/ImageBufferFilter.cpp: Removed.
        * platform/graphics/filters/ImageBufferFilter.h: Removed.

2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Fix efl build, by adding the new svg/properties include directory.

        * CMakeLists.txt:

2010-10-19  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: expose request/response cookies in HAR
        https://bugs.webkit.org/show_bug.cgi?id=47894

        Test: inspector/cookie-parser.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/CookieParser.js: Added.
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildCookies):
        (WebInspector.HAREntry.prototype._buildCookie):
        * inspector/front-end/Resource.js: Parse Cookie/Set-Cookie headers and expose cookies.
        (WebInspector.Resource.prototype.set requestHeaders):
        (WebInspector.Resource.prototype.get requestCookies):
        (WebInspector.Resource.prototype.set responseHeaders):
        (WebInspector.Resource.prototype.get responseCookies):
        (WebInspector.Resource.prototype._parseRequestCookies):
        (WebInspector.Resource.prototype._parseResponseCookies):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Fix non-mac builds, by adding the new svg/properties include directory.

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pro:
        * WebCore.vcproj/WebCoreCommon.vsprops:

2010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Adam Roben.

        Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
        https://bugs.webkit.org/show_bug.cgi?id=47973

        Prepare fixing bug 47905, redesigning SVGAnimatedProperty. As we're going to move type by type
        to the new animated property concept, keep the old one around, marked deprecated, until the
        transition is finished.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * svg/DeprecatedSVGAnimatedProperty.h: Copied from svg/SVGAnimatedProperty.h.
        (WebCore::DeprecatedSVGAnimatedPropertyTearOff::DeprecatedSVGAnimatedPropertyTearOff):
        (WebCore::DeprecatedSVGAnimatedPropertyTearOff::~DeprecatedSVGAnimatedPropertyTearOff):
        (WebCore::DeprecatedSVGAnimatedProperty::~DeprecatedSVGAnimatedProperty):
        (WebCore::DeprecatedSVGAnimatedProperty::DeprecatedSVGAnimatedProperty):
        (WebCore::DeprecatedSVGAnimatedProperty::value):
        (WebCore::DeprecatedSVGAnimatedProperty::baseValue):
        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Copied from svg/SVGAnimatedPropertyTraits.h.
        * svg/DeprecatedSVGAnimatedTemplate.h: Copied from svg/SVGAnimatedTemplate.h.
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::DeprecatedSVGAnimatedTypeWrapperKey):
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::operator==):
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::equal):
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue):
        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue):
        (WebCore::DeprecatedSVGAnimatedTemplate::~DeprecatedSVGAnimatedTemplate):
        (WebCore::DeprecatedSVGAnimatedTemplate::forgetWrapper):
        (WebCore::lookupOrCreateWrapper):
        * svg/SVGAnimatedProperty.h: Removed.
        * svg/SVGAnimatedPropertySynchronizer.h: Removed.
        * svg/SVGAnimatedPropertyTraits.h: Removed.
        * svg/SVGAnimatedTemplate.h: Removed.
        * svg/SVGElement.h:
        * svg/SVGExternalResourcesRequired.h:
        * svg/SVGFitToViewBox.h:
        * svg/SVGURIReference.h:
        * svg/properties: Added.
        * svg/properties/SVGAnimatedPropertySynchronizer.h: Copied from svg/SVGAnimatedPropertySynchronizer.h.

2010-10-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Kent Tamura.

        absolutely positioned list in inline element crashes
        https://bugs.webkit.org/show_bug.cgi?id=45095

        Add a NULL check to avoid crash. The rendering result isn't ideal yet.

        Test: fast/lists/positioned-count-crash.html

        * rendering/RenderListItem.cpp:
        (WebCore::previousListItem):

2010-10-19  Adam Roben  <aroben@apple.com>

        Remove uses of CACFContextRef and CARender* from WebCore

        These types are now wrapped in a WKCACFContext type exported by
        WebKitSystemInterface.

        Fixes <http://webkit.org/b/43244>.

        Reviewed by Sam Weinig.

        * platform/graphics/win/WKCACFContextFlusher.cpp:
        (WebCore::WKCACFContextFlusher::addContext):
        (WebCore::WKCACFContextFlusher::removeContext):
        (WebCore::WKCACFContextFlusher::flushAllContexts):
        * platform/graphics/win/WKCACFContextFlusher.h:
        Changed to use WKCACFContext. We don't retain/release the context when
        putting it into/taking it out of the set. WKCACFContext is not a
        ref-counted type, so we can't retain/release it, but the
        retain/release was also unnecessary as WKCACFLayerRenderer calls
        removeContext before the context is destroyed.

        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::becomeRootLayerForContext):
        * platform/graphics/win/WKCACFLayer.h:
        Changed to use WKCACFContext.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::didFlushContext):
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
        (WebCore::WKCACFLayerRenderer::createRenderer):
        (WebCore::WKCACFLayerRenderer::destroyRenderer):
        (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
        CGSRegion with WebKitSystemInterface functions/types.
        (WebCore::WKCACFLayerRenderer::resetDevice):
        * platform/graphics/win/WKCACFLayerRenderer.h:
        Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
        with a single WKCACFContext, which wraps all three. We hold a bare
        pointer to it and destroy it in our destructor.

2010-10-19  Yongjun Zhang  <yongjun_zhang@apple.com>

        Reviewed by Dan Bernstein.

        Pixel cracks when using background image sprite on transformed element at certain scales.
        https://bugs.webkit.org/show_bug.cgi?id=47868

        The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh
        or kCGInterpolationDefault.  If the source rect size is smaller than the intrinsic image size,  some
        pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which
        results in unwanted thin lines around the painted area.  We need to use sub-image patch to get rid of
        the artifacts in this case.

        Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw):

2010-10-19  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        sqlite: remove unused member variable
        https://bugs.webkit.org/show_bug.cgi?id=47957

        There's no need to save the error code into a member variable
        because nobody ever looks at it.

        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::open):
        * platform/sql/SQLiteDatabase.h:

2010-10-19  Jia Pu  <jpu@apple.com>

        Reviewed by James Robinson.

        Moving cursor back to autocorrected word in the same line shouldn't remove the underline
        https://bugs.webkit.org/show_bug.cgi?id=47629
        <rdar://problem/8546758>
        
        Patch <http://trac.webkit.org/changeset/70071> breaks some Chromium Mac hehavior. This patch
        fixes that.

        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes
          on non-Mac platforms.

2010-10-19  Alexey Proskuryakov  <ap@apple.com>

        Build fix (EFL, maybe more).

        * CMakeLists.txt: Added platform/Language.cpp here, too.

2010-10-19  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Rename createBlobURL to createObjectURL and revokeBlobURL to
        revokeObjectURL per the latest File API spec.
        https://bugs.webkit.org/show_bug.cgi?id=47934

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._contextMenu):
        * inspector/front-end/utilities.js:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::createObjectURL):
        (WebCore::DOMWindow::revokeObjectURL):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::createObjectURL):
        (WebCore::WorkerContext::revokeObjectURL):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:

2010-10-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=47933
        <rdar://problem/8494337> navigator.language doesn't work in WebKit2

        * CMakeListsEfl.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/chromium/Language.cpp: Removed.
        * platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp.
        * platform/efl/Language.cpp: Removed.
        * platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp.
        * platform/gtk/Language.cpp: Removed.
        * platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp.
        * platform/qt/Language.cpp: Removed.
        * platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp.
        * platform/win/Language.cpp: Removed.
        * platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp.
        * platform/Language.cpp: Added.
        Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match
        the common pattern.

        * WebCore.exp.in: Exported new functions.

        * platform/Language.h: Added an ability to force the language, and an ability to set up
        listeners for changes (if the platform implements that). Web process will always use the
        forced language, as sent to it from UI process.

        * platform/mac/Language.mm: Moved code from WebKit.
        (WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason,
        they come unsynchronized in WebKit2 here, unlike WebKit1.

        * page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit
        to ask for that.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Added wkCopyCFLocalizationPreferredName().

2010-10-19  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        Add "in select" insertion mode to parser.

        This was added to the spec in:
        http://html5.org/tools/web-apps-tracker?from=5520&to=5522

        And as a result of:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314

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

        No new tests. Open to ideas.

        * html/parser/HTMLElementStack.cpp: Added "in select" mode.
        (WebCore::HTMLNames::isSelectScopeMarker): Ditto.
        (WebCore::HTMLElementStack::inSelectScope): Ditto.
        * html/parser/HTMLElementStack.h: Ditto.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table."
        (WebCore::HTMLTreeBuilder::processEndTag): Ditto.

2010-10-19  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Fix multiple index support in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=47919

        Fix 2 bugs that caused the IndexData of all but the last index to be
        properly updated:
        * The objectStoreDataId is NOT unique if there are multiple indexes. So
          remove the constraint.
        * Do not delete all existing entries with that objectStoreDataId before
          adding an entry for each index. Only do it once at the beginning.

        Test: storage/indexeddb/queued-commands.html
            + index-basics.html modified

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::deleteIndexData):
        (WebCore::putIndexData):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):

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

        Fix the GTK+ build after r70072. The logic looks incorrect, but
        this fix tries to preserves it, even so.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (baselinePositionForAccessibilityRenderObject):
        (getAttributeSetForAccessibilityObject):

2010-10-06  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Windows: Implement 'preload=none'
        https://bugs.webkit.org/show_bug.cgi?id=47317
        <rdar://problem/7718442>
        
        Implement the 'preload=none' identically to the mac implementation. Add three new
        ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate
        functions: prepareToPlay() and setPreload().

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
            Initialize new ivars m_delayLoad and m_preload.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between
            load and loadInternal.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        
2010-10-19  Enrica Casucci  <enrica@apple.com>

        Reviewed by Alexey Proskuryakov.

        Upstream support of KeyCodes for iOS
        https://bugs.webkit.org/show_bug.cgi?id=47857
        
        * platform/cocoa/KeyEventCocoa.mm:
        (WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS.

2010-10-19  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        iOS: ASSERT in Cache::adjustSize running layout tests
        https://bugs.webkit.org/show_bug.cgi?id=47873

        Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable
        with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource
        was already purgeable or not, and the makeResourcePurgeable call was always calling
        adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's
        dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked
        as purgeable and then evicted, we should not adjust the size again.

        The balancing call is when we have a resource that has been marked as purgeable and we
        successfully mark it as no longer purgeable in Cache::resourceForURL.

        No test added because this requires testing purgeable memory.

        * loader/Cache.cpp:
        (WebCore::Cache::makeResourcePurgeable):
        (WebCore::Cache::evict):

2010-10-19  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Disable mipmapping for ImageLayer's to prevent memory use and
        performance regression.
        https://bugs.webkit.org/show_bug.cgi?id=47913
        
        This patch is a straight revert of the patch committed with issue 46493

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
        (WebCore::ContentLayerChromium::updateTextureRect):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::SharedValues::initialized):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContents):

2010-10-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        gl-teximage.html fails on chromium webkit mac bot
        https://bugs.webkit.org/show_bug.cgi?id=47034

        * platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data.
        (WebCore::convertColor16LittleTo8):
        (WebCore::convertColor16BigTo8):
        (WebCore::doPacking):
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
        (WebCore::GraphicsContext3D::getImageData):

2010-10-19  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Rework baselinePosition and lineHeight to be writing-mode-aware.  There's a lot of refactoring here to clean up
        the method parameters to be more readable and to simplify the subclassing of the various methods in order to 
        keep the horizontal/vertical querying to a minimum.

        * 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:
        * rendering/InlineBox.h:
        (WebCore::InlineBox::baselinePosition):
        (WebCore::InlineBox::lineHeight):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::baselinePosition):
        (WebCore::InlineTextBox::lineHeight):
        * rendering/InlineTextBox.h:
        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/RenderBR.h:
        (WebCore::toRenderBR):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lineHeight):
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::firstLineBoxBaseline):
        (WebCore::RenderBlock::lastLineBoxBaseline):
        (WebCore::RenderBlock::localCaretRect):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::lineHeight):
        (WebCore::RenderBox::baselinePosition):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::verticalPosition):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::lineHeight):
        (WebCore::RenderInline::baselinePosition):
        * rendering/RenderInline.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::baselinePosition):
        * rendering/RenderListBox.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::lineHeight):
        (WebCore::RenderListMarker::baselinePosition):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGRoot.cpp:
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::baselinePosition):
        * rendering/RenderSlider.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::baselinePosition):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::isTableCol):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        * rendering/RenderText.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computeLogicalHeight):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::baselinePosition):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::baselinePosition):
        (WebCore::RootInlineBox::lineHeight):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::calculateBoundaries):

2010-10-19  Jia Pu  <jpu@apple.com>

        Reviewed by Adele Peterson.

        Moving cursor back to autocorrected word in the same line shouldn't remove the underline
        https://bugs.webkit.org/show_bug.cgi?id=47629
        <rdar://problem/8546758>

        Tests: platform/mac/editing/spelling/click-autocorrected-word.html
               platform/mac/editing/spelling/delete-into-autocorrected-word.html
               platform/mac/editing/spelling/delete-into-misspelled-word.html
               platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html
               platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
               platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html
               platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html

        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection
          underlines when cursor is moved onto a word.

2010-10-19  Eric Carlson  <eric.carlson@apple.com>

        Not reviewed. Build fix.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows
        "potentially uninitialized local variable" warning.

2010-10-19  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46763
        CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal

        Fix crashes caused by moving and deleting <source> element(s) of active media element.

        Tests: media/video-source-moved.html
               media/video-source-removed.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild.
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
        (WebCore::HTMLMediaElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
        (WebCore::HTMLMediaElement::scheduleLoad): Ditto.
        (WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when
        the media engine signals a failure by skipping the error message and continuing as usual.
        (WebCore::HTMLMediaElement::setVolume): Fix logging typo.
        (WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider
        around call to selectNextSourceChild because they are both significant.
        (WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick
        the first node to consider. Bail immediately if it signals that we have already processed 
        every <source> node. Stach the node following the current source element in m_nextChildNodeToConsider
        so we can resume the search even if m_currentSourceNode is removed while it is being processed.
        (WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree
        here and correct it to deal with a <source> node being inserted immediately after the
        current <source> node and a new <source> node being inserted at the end of the list after
        all candidates have failed.
        (WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next
        potential node being removed.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate
        that all nodes have been processed.

        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::HTMLSourceElement): Add logging.
        (WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead
        of having logic here.
        (WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved
        (WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging.
        (WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging.
        * html/HTMLSourceElement.h:

2010-10-19  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Antti Koivisto.

        [Qt] WebKit2 MacOS build fix
        https://bugs.webkit.org/show_bug.cgi?id=47897

        Qt WebKit2 MacOS build fix.

        * bridge/npapi.h:

2010-10-19  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Soup cache code still has some warnings
        https://bugs.webkit.org/show_bug.cgi?id=47733

        Fixed some compilation warnings happening with gcc 4.4.5 on
        64-bits architecture.

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

2010-10-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: crash while trying to step over a function using inspector
        https://bugs.webkit.org/show_bug.cgi?id=47902

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation.

2010-10-19  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed attempt to remove warning in EFL build.

        Fix #if to #ifdef.

        No new features, so no tests added.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyFallbackCursor):

2010-10-19  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] getImageData returns wrong data for non-0,0 source offset
        https://bugs.webkit.org/show_bug.cgi?id=47898

        Test: fast/canvas/canvas-getImageData-negative-source.html

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData): Add missing *4's to get correct pixel offset.

2010-10-19  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Correct initial state of ImageBuffer QPen
        https://bugs.webkit.org/show_bug.cgi?id=47804

        Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBufferData::ImageBufferData):

2010-10-19  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
        https://bugs.webkit.org/show_bug.cgi?id=46790

        Simple API addition to PlatformVideoWindow to allow
        implementations to optionally prepare their own PlatformWidget
        before applying the GStreamer XOverlay to it. This will likely be
        needed on Mac OSX only.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::setWindowOverlay):
        * platform/graphics/gstreamer/PlatformVideoWindow.h:
        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
        (PlatformVideoWindow::prepareForOverlay):
        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
        (PlatformVideoWindow::prepareForOverlay):

2010-10-19  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Missing support for document.createTouch and document.createTouchList
        https://bugs.webkit.org/show_bug.cgi?id=47676

        These APIs are used by many sites to detect support for touch events.

        Implement the APIs according to the documentation at:
        http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html

        Tests: fast/events/touch/document-create-touch-list.html
               fast/events/touch/document-create-touch.html

        * bindings/js/JSBindingsAllInOne.cpp: Add new files to list.
        * bindings/js/JSTouchCustom.cpp: Added.
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSTouchListCustom.cpp: Added.
        (WebCore::toJSNewlyCreated):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.cpp:
        (WebCore::Document::createTouch):
        (WebCore::Document::createTouchList):
        * dom/Document.h:
        * dom/Document.idl: Add createTouch and createTouchList functions.
        * Android.jscbindings.mk: Update makefiles.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.


2010-10-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code.
        https://bugs.webkit.org/show_bug.cgi?id=47890

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._reportCompletions):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onGetResources):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog.prototype.build):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/utilities.js:

2010-10-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not access ResourcePanel from resources directly.
        https://bugs.webkit.org/show_bug.cgi?id=47892

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set documentURL):
        (WebInspector.Resource.prototype.set startTime):
        (WebInspector.Resource.prototype.set responseReceivedTime):
        (WebInspector.Resource.prototype.set endTime):
        (WebInspector.Resource.prototype.set resourceSize):
        (WebInspector.Resource.prototype.set expectedContentLength):
        (WebInspector.Resource.prototype.set category):
        (WebInspector.Resource.prototype.set cached):
        (WebInspector.Resource.prototype.set mimeType):
        (WebInspector.Resource.prototype.get requestHeaders):
        (WebInspector.Resource.prototype.set requestHeaders):
        (WebInspector.Resource.prototype.get responseHeaders):
        (WebInspector.Resource.prototype.set responseHeaders):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.addResource):
        (WebInspector.ResourcesPanel.prototype.refreshResource):
        (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
        (WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory):
        (WebInspector.ResourceGraph):
        (WebInspector.ResourceGraph.prototype.refresh):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):

2010-10-19  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Make sure WebSocket resource has the url field when it is created.

        Web Inspector: Uncaught TypeError when connection to WebSocket server is refused
        https://bugs.webkit.org/show_bug.cgi?id=47891

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::createWebSocket):

2010-10-19  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Make CSS style selector non-recursive.
        https://bugs.webkit.org/show_bug.cgi?id=43783

        This change is one of the required changes to fix the following master bug:
        https://bugs.webkit.org/show_bug.cgi?id=42806

        To avoid recursion, we prepare a call stack and maintain a list of
        function call state by ourselves and try matching iteratively.

        Test: fast/css/long-css-selector-matches.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
        (WebCore::CSSStyleSelector::checkSelector):
        * css/CSSStyleSelector.h:

2010-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70034.
        http://trac.webkit.org/changeset/70034
        https://bugs.webkit.org/show_bug.cgi?id=47889

        "Gustavo's bot is lame" (Requested by xan_ on #webkit).

        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::defaultCookieJar):
        (WebCore::setCookies):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::prepareForURL):
        (WebCore::restartedCallback):
        (WebCore::startHttp):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::toSoupMessage):
        (WebCore::ResourceRequest::updateFromSoupMessage):

2010-10-19  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Bump minimum requirement for libsoup to 2.30
        https://bugs.webkit.org/show_bug.cgi?id=46176

        Bump minimum required libsoup version to 2.30.

        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::defaultCookieJar):
        (WebCore::setCookies):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::prepareForURL):
        (WebCore::restartedCallback):
        (WebCore::startHttp):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::toSoupMessage):
        (WebCore::ResourceRequest::updateFromSoupMessage):

2010-10-19  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Fix distcheck, take 2.

        * GNUmakefile.am: also move the generated CSS hash files to the
        build dir.

2010-10-18  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Should not save state of a detached form control.
        https://bugs.webkit.org/show_bug.cgi?id=47811

        Test: fast/forms/state-save-of-detached-control.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
          If the node is detached, don't save the state.

2010-10-18  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * GNUmakefile.am: add missing files.

2010-10-18  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION: Feedly extension crashes Webkit
        https://bugs.webkit.org/show_bug.cgi?id=45811

        The basic problem was the deserializer was holding a pointer into
        the constant pool, but if you were sufficiently unlucky then the
        constant pool would be moved while still relying on the pointer,
        which leads to badness.

        I looked at just making all the sites this could happen extract the
        right string/jsstring before any possible allocations, but it seemed
        too fragile so i've gone for a forwarding object as the solution.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::CachedStringRef::CachedStringRef):
        (WebCore::CloneDeserializer::CachedStringRef::operator->):
        (WebCore::CloneDeserializer::readStringData):
        (WebCore::CloneDeserializer::readFile):
        (WebCore::CloneDeserializer::readTerminal):
        (WebCore::CloneDeserializer::deserialize):

2010-10-18  Chris Rogers  <crogers@google.com>

        Reviewed by Chris Fleizach.

        Add AudioResampler files
        https://bugs.webkit.org/show_bug.cgi?id=47623

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioResampler.cpp: Added.
        (WebCore::AudioResampler::AudioResampler):
        (WebCore::AudioResampler::configureChannels):
        (WebCore::AudioResampler::process):
        (WebCore::AudioResampler::setRate):
        (WebCore::AudioResampler::reset):
        * platform/audio/AudioResampler.h: Added.
        (WebCore::AudioResampler::~AudioResampler):
        (WebCore::AudioResampler::rate):

2010-10-18  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Prevent the creation of very large textures for layers by switching
        to "large layer" mode when a texture is larger than some fixed reasonable size
        (set to 2000 pixels for now).
        https://bugs.webkit.org/show_bug.cgi?id=47751

        The code also changes the large layer logic to use the current scissor rect used
        by the compositor instead of the visible rect to determine how to clip large layers.
        This will provide additional texture savings. In addition, the various layer rects
        have been converted to use integers instead of floats to preserve uniformity in the code.
        
        Tests: Existing large layer layout tests including huge-layer and huge-layer-img

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
        (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::getDrawRect):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::drawLayersRecursive):
        (WebCore::LayerRendererChromium::scissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::currentScissorRect):

2010-10-18  Jia Pu  <jpu@apple.com>

        Reviewed by Stephanie Lewis.

        Correct the description of manual test: autocorrection-cancelled-by-typing-1.html
        https://bugs.webkit.org/show_bug.cgi?id=47722
        <rdar://problem/8556206>

        * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description
          to match the test content.

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

        Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY()
        use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was
        recently deprecated and the latter method has been available since GTK+
        2.2.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::initXEvent):
        (WebCore::PluginView::platformGetValue):
        (WebCore::getVisualAndColormap):
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::platformDestroy):

2010-10-18  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Adam Barth.

        elementCannotHaveEndTag should be a member function of MarkupAccumulator
        https://bugs.webkit.org/show_bug.cgi?id=47846

        Moved elementCannotHaveEndTag into MarkupAccumulator.

        No new tests are added since this is a cleanup.

        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
        * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
        * editing/markup.cpp: Removed elementCannotHaveEndTag.
        * editing/markup.h: Removed elementCannotHaveEndTag.

2010-10-18  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Set the right referent sourceURL for the script with force user gesture.
        https://bugs.webkit.org/show_bug.cgi?id=37138

        Because empty sourceURL indicates running script with force user gesture,
        make WebKit use document.url() as referent sourceURL (Since it uses blank
        URL instead empty if the input URL is empty) if WebKit isn't running the
        script from a hyper-link.

        Test: fast/events/popup-blocked-from-window-open.html

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeScript):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::executeScriptInWorld):

2010-10-18  Darin Adler  <darin@apple.com>

        * dom/Node.h: Fix ancient typo in just-modified comment.

2010-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Remove some functions from class Node and make a few others non-virtual
        https://bugs.webkit.org/show_bug.cgi?id=47735

        Refactoring. No new tests.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual
        ownerDocument function.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren): Removed the unused return value.

        * dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and
        appendChild non-virtual for clarity and performance. Made removeChildren
        non-virtual and removed its return value. Moved the inline Node functions
        that call through to ContainerNode into this file since the old way involved
        an extra level of inline function but otherwise had no advantages.

        * dom/Element.h: Moved isMathMLElement here because there is no call site
        that needs to call it on a Node*. We can always move it back if we need to,
        but it's better to have less in the Node class.

        * dom/Node.cpp:
        (WebCore::Node::insertBefore): Added an isContainerNode check so this can
        be non-virtual. There are very few callers who call this function on Node.
        If we want to optimize them further we can make the isContainerNode check
        inline in the future.
        (WebCore::Node::replaceChild): Ditto.
        (WebCore::Node::removeChild): Ditto.
        (WebCore::Node::appendChild): Ditto.
        (WebCore::Node::remove): Removed unneeded ref/unref because
        ContainerNode::removeChild already does this.
        (WebCore::Node::createRendererIfNeeded): Removed #if around call to
        childShouldCreateRenderer since it's needed even without SVG and XHTMLMP.

        * dom/Node.h: Moved definitions of inline functions that depend on
        ContainerNode to the ContainerNode.h header. They already required inclusion
        of that header, so there is no functional change. Made insertBefore,
        replaceChild, removeChild, and appendChild non-virtual. There are very few
        callers of these functions on this class. Moved isMathMLElement to Element.
        Added a FIXME about the name of eventAncestors. Fixed comment formatting.
        Eliminated unused isEditableBlock function. Moved the body of the
        enclosingInlineElement function to the editing file that was the only
        call site. Removed the previousEditable and nextEditable functions,
        incorporating their bodies into the one place they were called.
        Took the childShouldCreateRenderer function out of #if since it's
        now used by the implementation of the <noscript> element.

        * dom/Position.cpp:
        (WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode
        instead of nextEditable.
        (WebCore::previousRenderedEditable): Rewrote the function to use
        previousLeafNode instead of previousEditable.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::enclosingInline): Moved function here from the Node class. Also
        fixed an incorrect cast this function did, which assumed the function
        result was always an element, which the function does not guarantee.
        (WebCore::ReplaceSelectionCommand::doApply): Call the function above.

        * history/HistoryItem.cpp: Added include of MathExtras.h.

2010-10-18  Yongjun Zhang  <yongjun_zhang@apple.com>

        Reviewed by Darin Adler.

        Missing support for document.createEvent("OrientationEvent")
        https://bugs.webkit.org/show_bug.cgi?id=32492

        Add support for document.createEvent("OrientationEvent") to help unit testing of
        onOrientationChange event.

        Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html

        * dom/Document.cpp:
        (WebCore::Document::createEvent):

2010-10-18  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        DOMStringList should return null if the index is out of range
        https://bugs.webkit.org/show_bug.cgi?id=47829

        When item() returns a null string, it needs to be passed to JS as
        null. The indexed getter will then magically do the right thing.
        So all that's left is having DOMStringList::item() return null when
        the index is out of bounds.

        * dom/DOMStringList.cpp:
        (WebCore::DOMStringList::item):
        * dom/DOMStringList.h:
        * dom/DOMStringList.idl:

2010-10-18  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Ariya Hidayat.

        [Qt] Implement Accelerated Composition for NPAPI Plugins.

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

        * plugins/PluginView.h:
        (WebCore::PluginView::platformLayer):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
        (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
        (WebCore::PluginGraphicsLayerQt::paint):
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::invalidateRegion):
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::platformLayer):

2010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>

        Reviewed by Eric Seidel.

        Switch to using the new Carbon NPAPI event declarations, and remove
        the old ones.

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

        * bridge/npapi.h:
        * plugins/mac/PluginViewMac.mm:
        (WebCore::PluginView::setFocus):
        (WebCore::PluginView::handleMouseEvent):

2010-10-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: comment out resource manager instantiation on front-end side.
        https://bugs.webkit.org/show_bug.cgi?id=47823

        * inspector/front-end/inspector.js:

2010-10-18  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        The description parameter of IDBFactory::open() should be mandatory.
        https://bugs.webkit.org/show_bug.cgi?id=47835

        Makes the description parameter mandatory, as per the IndexedDatabase specification.
        Modified existing tests to cover this change.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::extractMetaData):
        (WebCore::setMetaData):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBFactory.h:
        * storage/IDBFactory.idl:

2010-10-18  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Code cleanup: Move most function members in TextRunWorker from inlined.
        https://bugs.webkit.org/show_bug.cgi?id=47732

        No functionality change, so no tests added.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::setWordSpacingAdjustment):
        (WebCore::TextRunWalker::setLetterSpacingAdjustment):
        (WebCore::TextRunWalker::setXOffsetToZero):
        (WebCore::TextRunWalker::rtl):
        (WebCore::TextRunWalker::glyphs):
        (WebCore::TextRunWalker::length):
        (WebCore::TextRunWalker::xPositions):
        (WebCore::TextRunWalker::advances):
        (WebCore::TextRunWalker::width):
        (WebCore::TextRunWalker::logClusters):
        (WebCore::TextRunWalker::numCodePoints):
        (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
        (WebCore::TextRunWalker::isCodepointSpace):
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::isWordBreak):
        (WebCore::TextRunWalker::setPadding):
        (WebCore::TextRunWalker::reset):
        (WebCore::TextRunWalker::setBackwardsIteration):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::widthOfFullRun):
        (WebCore::TextRunWalker::getTextRun):
        (WebCore::TextRunWalker::getNormalizedTextRun):
        (WebCore::TextRunWalker::setupFontForScriptRun):
        (WebCore::TextRunWalker::allocHarfbuzzFont):
        (WebCore::TextRunWalker::deleteGlyphArrays):
        (WebCore::TextRunWalker::createGlyphArrays):
        (WebCore::TextRunWalker::resetGlyphArrays):
        (WebCore::TextRunWalker::shapeGlyphs):
        (WebCore::TextRunWalker::setGlyphXPositions):
        (WebCore::TextRunWalker::mirrorCharacters):

2010-10-18  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] AC rendering bugs
        There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
        contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.

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

        No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        (WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
        * platform/graphics/qt/GraphicsLayerQt.h:

2010-10-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Simon Fraser.

        Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
        https://bugs.webkit.org/show_bug.cgi?id=46224

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorClient.cpp: Added.
        (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::InspectorClient):

2010-10-18  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBKeyTree.h is no longer used.
        https://bugs.webkit.org/show_bug.cgi?id=47824

        No new tests, just removing unused files.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/IDBKeyTree.h: Removed.

2010-10-18  Andreas Kling  <kling@webkit.org>

        Unreviewed buildfix for Qt + V8.
        Add missing <wtf/text/CString.h> include.

        * inspector/InspectorInstrumentation.cpp:

2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: toJSON serialization for Numbers should be fixed.
        DecimalNumber is used instead of printf.

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

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):

2010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
        The initial state of an inspector setting should stay untouched
        if the profile has no value for it.

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

        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::loadFromSettings):

2010-10-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: tab headers on resource panel are 1px off on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=47798

        * inspector/front-end/inspector.css:
        (.tabbed-pane-header li):

2010-10-18  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Build fix.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::cachedResourceTypeString):

2010-10-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
        fill network panel with data.
        https://bugs.webkit.org/show_bug.cgi?id=47779
        
        InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
        to the front-end's. This new resource agent does not have state, instead it covers two functions:
         1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
        (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
        This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
        Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
        resource-related routines, inspector.js's code dealing with resources, they all will be gone.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::frameDetachedFromParent):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::markResourceAsCached):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::cachedResourceType):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::sourceString):
        (WebCore::InspectorResource::sourceBytes):
        (WebCore::InspectorResource::endTiming):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::resourceContent):
        (WebCore::InspectorResourceAgent::resourceContentBase64):
        (WebCore::InspectorResourceAgent::resourceData):
        (WebCore::InspectorResourceAgent::cachedResource):
        (WebCore::buildObjectForHeaders):
        (WebCore::buildObjectForTiming):
        (WebCore::buildObjectForResourceRequest):
        (WebCore::buildObjectForResourceResponse):
        (WebCore::buildObjectForMainResource):
        (WebCore::cachedResourceTypeString):
        (WebCore::buildObjectForCachedResource):
        (WebCore::buildObjectForFrameResources):
        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::markResourceAsCached):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didReceiveContentLength):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::didFailLoading):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::InspectorResourceAgent::setOverrideContent):
        (WebCore::InspectorResourceAgent::didCommitLoad):
        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
        (WebCore::createReadableStringFromBinary):
        (WebCore::InspectorResourceAgent::didCreateWebSocket):
        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorResourceAgent::didCloseWebSocket):
        (WebCore::InspectorResourceAgent::cachedResources):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        (WebCore::InspectorResourceAgent::create):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get responseReceivedTime):
        (WebInspector.Resource.prototype.set endTime):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.tabbed-pane-header li):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):

2010-10-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: brush up URL parsing on the front-end.
        https://bugs.webkit.org/show_bug.cgi?id=47772

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.getDomainToResourcesMap):
        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.Cookies.cookieMatchesResourceURL):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get displayName):
        * inspector/front-end/ResourceCategory.js:
        (WebInspector.ResourceCategory.prototype.addResource):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        * inspector/front-end/inspector.js:
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):
        (WebInspector.updateResource):
        (WebInspector.linkifyStringAsFragment):
        (WebInspector.resourceURLForRelatedNode):
        (WebInspector.completeURL):
        * inspector/front-end/utilities.js:
        (String.prototype.asParsedURL):

2010-10-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Support custom open() verbs/methods in XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=40476

        Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
        that's not specifically supported by QNetworkAccessManager.

        This prevents the infinite loop that otherwise occurs after sending
        an UnknownOperation request.

        This change is covered by existing (skipped) tests that will be
        unskipped once the Qt bots are running Qt 4.7.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::httpMethod):
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        * platform/network/qt/QNetworkReplyHandler.h:

2010-10-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Remove explicit passing of user gesture in NavigationScheduler
        https://bugs.webkit.org/show_bug.cgi?id=47786

        As requested by Mr. Glazkov, remove more explicit passing of the user
        gesture state.  We now use a static to pass this information around.

        * bindings/generic/BindingFrame.h:
        (WebCore::::navigateIfAllowed):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::reload):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::reloadCallback):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setResourceTrackingEnabled):
        (WebCore::InspectorController::reloadPage):
        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledNavigation::ScheduledNavigation):
        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
        (WebCore::ScheduledRedirect::ScheduledRedirect):
        (WebCore::ScheduledLocationChange::ScheduledLocationChange):
        (WebCore::ScheduledRefresh::ScheduledRefresh):
        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
        (WebCore::NavigationScheduler::scheduleRedirect):
        (WebCore::NavigationScheduler::mustLockBackForwardList):
        (WebCore::NavigationScheduler::scheduleLocationChange):
        (WebCore::NavigationScheduler::scheduleFormSubmission):
        (WebCore::NavigationScheduler::scheduleRefresh):
        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
        * loader/NavigationScheduler.h:
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadOrRedirectSubframe):

2010-10-17  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Andreas Kling.

        'transparent' should be a valid color
        https://bugs.webkit.org/show_bug.cgi?id=45482

        Test: svg/animations/svg-animate-color-transparent.svg

        Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>

        * platform/ColorData.gperf: Added 'transparent' to the list of colors.
        Added the alpha to all the colors as it was needed to support the new color.

        * platform/graphics/Color.cpp:
        (WebCore::Color::Color):
        (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
        always 0xFF.

2010-10-17  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Duplicate use element children in shadow tree.
        https://bugs.webkit.org/show_bug.cgi?id=47561

        Test: svg/custom/use-nested-children.svg

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

2010-10-17  Hyung Song  <beergun@company100.net>

        Reviewed by David Levin.

        Add !SINGLE_THREADED guard.
        https://bugs.webkit.org/show_bug.cgi?id=47608

        For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
        This will prevent interrupt() from falling into infinite loop.

        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::interrupt):

2010-10-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Nikolas Zimmermann.

        Very large and small numbers fail to round-trip through CSS
        https://bugs.webkit.org/show_bug.cgi?id=20674
        
        Use the new DecimalNumber functionality to convert CSS numberic values to strings
        using decimal notation, rather than %g (which can output scientific notation).

        Test: fast/css/round-trip-values.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::formatNumber):
        (WebCore::CSSPrimitiveValue::cssText):

2010-10-17  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Crash while processing ill-formed SVG with cycles
        https://bugs.webkit.org/show_bug.cgi?id=47498

        Test: svg/custom/invalid-paint-shape-mask.svg

        * rendering/SVGResources.cpp:
        (paintingResourceFromSVGPaint): Ensured that the painting resource is
        either a pattern resource or a gradient resource.
        (SVGResources::setClipper):
        (SVGResources::setFilter):
        (SVGResources::setMarkerStart):
        (SVGResources::setMarkerMid):
        (SVGResources::setMarkerEnd):
        (SVGResources::setMasker):
        (SVGResources::setFill):
        (SVGResources::setStroke): Added ASSERT statements for previously-unchecked
        preconditions.

2010-10-17  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fixed extra whitespace above operators when they aren't stretched
        yet the stretch height is large.  Also, the baseline alignment
        was changed so that rows and operators interact appropriately now
        that operators don't have the extra white space.

        * mathml/RenderMathMLOperator.cpp:
        * mathml/RenderMathMLRow.cpp:

2010-10-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Fix focusing of control elements on mouse click.
        Brings GTK fix to Qt platform.
        https://bugs.webkit.org/show_bug.cgi?id=40641
                        
        Test: fast/events/click-focus-control.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isMouseFocusable):

2010-10-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        FrameLoader doesn't need an explicit userGesture parameter
        https://bugs.webkit.org/show_bug.cgi?id=47777

        We used to pass around the user gesture state explicitly.  Now we use
        static state.  Explicitly passing the user gesture state to FrameLoader
        in these methods is pretty out-dated.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::createWindow):
        (WebCore::::open):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::createWindow):
        (WebCore::JSDOMWindow::open):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.h:
        * html/HTMLAnchorElement.cpp:
        (WebCore::handleLinkClick):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::openInInspectedWindow):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitForm):
        * loader/FrameLoader.h:
        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledURLNavigation::fire):
        (WebCore::ScheduledRefresh::fire):
        (WebCore::ScheduledHistoryNavigation::fire):
        (WebCore::NavigationScheduler::scheduleLocationChange):

2010-10-17  Sergey A. Sukiyazov  <sergey.sukiyazov@gmail.com>

        Reviewed by Andreas Kling

        [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
        https://bugs.webkit.org/show_bug.cgi?id=42248

        The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
        method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
        then the new point coordinates will be passed to Qt graphics engine.

        The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
        is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...),  which
        called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.

        NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.

        No new tests.

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

2010-10-17  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        Text under nested link dropped
        https://bugs.webkit.org/show_bug.cgi?id=46460

        Allow links inside of tspan and textPath elements.

        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::childShouldCreateRenderer):

2010-10-16  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port TextCodec
        https://bugs.webkit.org/show_bug.cgi?id=45797

        Implement TextCodec with Brew MP's ICharsetConv.
        Only UTF-8 is supported for now.

        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        * platform/text/brew/TextCodecBrew.cpp: Added.
        (WebCore::newTextCodecBrew):
        (WebCore::TextCodecBrew::registerBaseEncodingNames):
        (WebCore::TextCodecBrew::registerBaseCodecs):
        (WebCore::TextCodecBrew::registerExtendedEncodingNames):
        (WebCore::TextCodecBrew::registerExtendedCodecs):
        (WebCore::TextCodecBrew::TextCodecBrew):
        (WebCore::TextCodecBrew::~TextCodecBrew):
        (WebCore::TextCodecBrew::decode):
        (WebCore::TextCodecBrew::encode):
        * platform/text/brew/TextCodecBrew.h: Added.

2010-10-16  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed.

        Build fix for !ENABLE(INSPECTOR) after r69844.

        * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.

2010-10-16  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed, build fix.

        WinCE build fix for r69798.

        * platform/text/wince/TextCodecWinCE.cpp: Added missing include.

2010-10-16  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Requires a user gesture when opening file choose dialog.
        https://bugs.webkit.org/show_bug.cgi?id=47593

        Test: fast/forms/input-file-not-open-without-gesture.html

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::click):

2010-10-16  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        Changed the vertical alignment within mfenced to baseline to
        match the rest of the containers (e.g. mrow) and adjusted the
        operator spacing to 0.1em.

        Test: mathml/presentation/fenced-mi.xhtml

        * css/mathml.css:
        * mathml/RenderMathMLFenced.cpp:

2010-10-16  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Rename StringHasherFunctions.h to StringHasher.h
        https://bugs.webkit.org/show_bug.cgi?id=47200

        * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
        * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. 
 
2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        unlink removes inline style of anchor elements
        https://bugs.webkit.org/show_bug.cgi?id=47424

        The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
        Because we removed the element without pushing its inline style down, we lost style information.

        Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
        Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
        node as supposed to that of startNode from the style to apply when startNode is not an element.

        Test: editing/execCommand/toggle-unlink.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
        added an assert that extractedStyle is specified whenever we're removing a styled element.
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):

2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        serializeNodesWithNamespaces should be in MarkupAccumulator
        https://bugs.webkit.org/show_bug.cgi?id=47749

        Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
        MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
        Added several helper functions to MarkupAccumulator.

        No new tests are added since this is a cleanup.

        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
        (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
        (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
        (WebCore::MarkupAccumulator::appendEndTag): Ditto.
        (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
        (WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
        * editing/MarkupAccumulator.h:
        (WebCore::MarkupAccumulator::length): Added; calls totalLength.
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
        (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
        (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
        (WebCore::createMarkup): Uses MarkupAccumulator.

2010-10-15  Kinuko Yasuda  <kinuko@google.com>

        Reviewed by Jian Li.

        Implement FileEntrySync.file() in FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=47310

        Tests: fast/filesystem/workers/file-from-file-entry-sync.html
               fast/filesystem/workers/file-from-file-entry.html

        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::createFile): Added.
        * fileapi/DOMFileSystem.h:
        * fileapi/DOMFileSystemSync.cpp:
        (WebCore::DOMFileSystemSync::createFile): Added.
        * fileapi/DOMFileSystemSync.h:
        * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
        * fileapi/EntryBase.h: Added 'virtual path' comment.
        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
        * fileapi/FileEntrySync.cpp:
        (WebCore::FileEntrySync::file): Implemented.
        * fileapi/FileEntrySync.h:
        * fileapi/FileEntrySync.idl: Added file().

2010-10-15  Nico Weber  <thakis@chromium.org>

        Reviewed by Eric Carlson.

        Make sure to update the current graphics context when calling out to AppKit.
        https://bugs.webkit.org/show_bug.cgi?id=47757

        Like r57741, but for the spellchecking highlight

        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForTextChecking):

2010-10-15  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
        https://bugs.webkit.org/show_bug.cgi?id=47753
        <rdar://problem/8558242>
        
        r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
        where some Windows calls were returning null terminated strings, and this breaks the new
        method of concatenation.
        
        GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
        so once we create our WebCore string, we want to trim off the null terminating character before
        we return the localeInfo.

        Test: fast/dom/navigator-userAgent.html

        * platform/win/Language.cpp:
        (WebCore::localeInfo):

2010-10-15  Alexey Proskuryakov  <ap@apple.com>

        Trying to fix crashes on Leopard buildbot.

        * loader/loader.cpp:
        (WebCore::Loader::Host::didFinishLoading):
        (WebCore::Loader::Host::didFail):
        Moved logging higher in the function - it seems that CachedResource can be already destroyed.

        * platform/Logging.cpp: (WebCore::getChannelFromName):
        * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
        Initialize the new channel (oops).

2010-10-15  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by James Robinson.

        Prevent scrollbars from appearing in iframes with scrolling=no
        when the embedded content has overflow:scroll set on the html
        or body tags.

        iframes keep getting scrollbars with scrolling="no"
        https://bugs.webkit.org/show_bug.cgi?id=29240

        Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html

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

2010-10-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        Clean up RenderFlexibleBox::applyLineClamp()
        https://bugs.webkit.org/show_bug.cgi?id=47743

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::applyLineClamp):

2010-10-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=47736
        <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time

        Test: http/tests/cache/stopped-revalidation.html

        * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
        revalidation requests from didFail().

2010-10-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.

        Add a logging channel for WebCore cache and resource loading.

        Test: http/tests/cache/stopped-revalidation.html

        * platform/Logging.cpp:
        * platform/Logging.h:
        Added a logging channel for Cache and Loader.

        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        (WebCore::Cache::revalidateResource):
        (WebCore::Cache::revalidationFailed):
        (WebCore::Cache::evict):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::setResourceToRevalidate):
        (WebCore::CachedResource::switchClientsToRevalidatedResource):
        (WebCore::CachedResource::mustRevalidate):
        Added logging.

        * loader/loader.cpp:
        (WebCore::Loader::load): Added logging.
        (WebCore::Loader::scheduleServePendingRequests): Ditto.
        (WebCore::Loader::requestTimerFired): Ditto.
        (WebCore::Loader::servePendingRequests): Ditto.
        (WebCore::Loader::Host::servePendingRequests):  Changed logging to use the new channel.
        (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
        (WebCore::Loader::Host::didFail): Added logging.

2010-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Fraser.

        Add public functions to serialize TransformOperations.
        https://bugs.webkit.org/show_bug.cgi?id=47728

        Added public accessors to the internal data of the TransformOperations.

        No new tests. These functions are enablers for WebKit2.

        * platform/graphics/transforms/Matrix3DTransformOperation.h:
        (WebCore::Matrix3DTransformOperation::matrix):
        * platform/graphics/transforms/MatrixTransformOperation.h:
        (WebCore::MatrixTransformOperation::matrix):
        * platform/graphics/transforms/PerspectiveTransformOperation.h:
        (WebCore::PerspectiveTransformOperation::perspective):
        * platform/graphics/transforms/RotateTransformOperation.h:
        (WebCore::RotateTransformOperation::x):
        (WebCore::RotateTransformOperation::y):
        (WebCore::RotateTransformOperation::z):
        * platform/graphics/transforms/SkewTransformOperation.h:
        (WebCore::SkewTransformOperation::angleX):
        (WebCore::SkewTransformOperation::angleY):
        * platform/graphics/transforms/TranslateTransformOperation.h:
        (WebCore::TranslateTransformOperation::x):
        (WebCore::TranslateTransformOperation::y):
        (WebCore::TranslateTransformOperation::z):

2010-10-15  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        FileReader.readAsDataURL should take Blob object
        https://bugs.webkit.org/show_bug.cgi?id=47679

        Test cases have been added into read-blob-test-cases.js.

        * fileapi/FileReader.idl: Update per the latest File API spec.

2010-10-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move MarkupAccumulator from markup.cpp to its own file
        https://bugs.webkit.org/show_bug.cgi?id=47734

        This patch moves the MarkupAccumulator class into its own file.
        There's a lot of clean up left to do, but this patch is a step in the
        right direction.

        No behavior change.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/markup.cpp:
        (WebCore::elementCannotHaveEndTag):
        * editing/markup.h:
        * editing/MarkupAccumulator.h: Added.
        * editing/MarkupAccumulator.cpp: Added.

2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
        https://bugs.webkit.org/show_bug.cgi?id=47712

        Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
        div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
        in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
        to FormatBlockCommand.cpp

        Tests are added to editing/execCommand/query-format-block.html

        * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
        (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
        * editing/FormatBlockCommand.cpp:
        (WebCore::isElementForFormatBlock):
        (WebCore::FormatBlockCommand::FormatBlockCommand):
        (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
        is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
        (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp.  Takes Range* instead of accessing selection directly.
        (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
        (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
        * editing/FormatBlockCommand.h:
        (WebCore::FormatBlockCommand::didApply): Added.

2010-10-15  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        carto.net Dock example redraws *way* too often
        https://bugs.webkit.org/show_bug.cgi?id=16090

        Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
        Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
        setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
        differ, do nothing if not.
        Also added caching of the repaint rect to avoid multiple calculations.

        Test: svg/custom/repaint-on-constant-size-change.svg

        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::RenderSVGImage):
        (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
        (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
        * rendering/RenderSVGImage.h:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.

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

        Build fix for GTK+.

        * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
        in a file that does not include config.h

2010-10-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add FindIndicatorWindow class
        https://bugs.webkit.org/show_bug.cgi?id=47731

        Export symbols needed by the FindIndicator in WebKit2.

        * WebCore.exp.in:

2010-10-15  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed. Build fix.

        Add new files needed by the Soup network backend, and #ifdef a
        GTK+-port only include in soup-cache.h.

        * CMakeListsEfl.txt:
        * platform/network/soup/cache/webkit/soup-cache.h:

2010-10-14  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Use more specific types for node pointers, especially when calling node insertion and removal functions
        https://bugs.webkit.org/show_bug.cgi?id=47702

        Refactoring. No new tests.

        While developing this patch I temporarily removed the node insertion and
        removal member functions from the Node class and fixed almost all call sites
        so they call it directly on the ContainerNode class, which will be important
        once we make the functions non-virtual.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        * dom/Document.cpp:
        (WebCore::Document::caretRangeFromPoint):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicNodeList::itemWithName):
        * dom/Position.cpp:
        (WebCore::Position::previous):
        (WebCore::Position::next):
        * dom/Text.cpp:
        (WebCore::Text::replaceWholeText):
        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::firstChild):
        (WebCore::TreeWalker::lastChild):
        (WebCore::TreeWalker::previousNode):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * editing/CompositeEditCommand.h:
        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::outdentParagraph):
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply):
        * editing/JoinTextNodesCommand.cpp:
        (WebCore::JoinTextNodesCommand::doApply):
        (WebCore::JoinTextNodesCommand::doUnapply):
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::doUnapply):
        * editing/RemoveNodeCommand.cpp:
        (WebCore::RemoveNodeCommand::doApply):
        (WebCore::RemoveNodeCommand::doUnapply):
        * editing/RemoveNodeCommand.h:
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::executeApply):
        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::doApply):
        (WebCore::SplitTextNodeCommand::doReapply):
        * editing/TextIterator.cpp:
        (WebCore::parentCrossingShadowBoundaries):
        * editing/htmlediting.cpp:
        (WebCore::enclosingList):
        * editing/markup.cpp:
        (WebCore::serializeNodes):
        (WebCore::ancestorToRetainStructureAndAppearance):
        (WebCore::createMarkup):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::updateFocusAppearance):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::rendererIsNeeded):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::rendererIsNeeded):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::attach):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::insertedIntoTree):
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::associatedControl):
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::recalcSelectOptions):
        (WebCore::HTMLOptGroupElement::ownerSelectElement):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::ownerSelectElement):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::insertRow):
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::rowIndex):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::getRangeAt):
        (WebCore::DOMSelection::containsNode):
        * rendering/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::gradientElement):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::ownerSVGElement):
        (WebCore::SVGElement::viewportElement):
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged):
        (WebCore::SVGFELightElement::childrenChanged):
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
        * svg/SVGFontFaceFormatElement.cpp:
        (WebCore::SVGFontFaceFormatElement::childrenChanged):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::childrenChanged):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::invalidateGlyphCache):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::insertedIntoDocument):
        (WebCore::SVGHKernElement::removedFromDocument):
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::nearestViewportElement):
        (WebCore::SVGLocatable::farthestViewportElement):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::updateContainerOffsets):
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::insertedIntoDocument):
        (WebCore::SVGVKernElement::removedFromDocument):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::targetElement):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::insertedIntoDocument):
        (WebCore::WMLDoElement::removedFromDocument):
        * wml/WMLNoopElement.cpp:
        (WebCore::WMLNoopElement::insertedIntoDocument):
        * wml/WMLOptionElement.cpp:
        (WebCore::ownerSelectElement):
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::insertedIntoDocument):
        (WebCore::WMLPostfieldElement::removedFromDocument):
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::insertedIntoDocument):
        (WebCore::WMLSetvarElement::removedFromDocument):
        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::insertedIntoDocument):
        (WebCore::WMLTaskElement::removedFromDocument):
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::insertedIntoDocument):
        (WebCore::WMLTimerElement::removedFromDocument):
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodesInAxis):
        Use ContainerNode* for the result of the parentNode function now that
        it returns a ContainerNode*. In the past it used to return just Node*.

        * dom/ContainerNode.h: Added toContainerNode.

        * dom/Element.h: Use ContainerNode*. Added toElement.

        * dom/Element.cpp:
        (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
        cast to HTMLElement* in the case that handles <html> and <body>
        elements.
        (WebCore::Element::baseURI): Use ContainerNode*.

        * dom/Node.cpp:
        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
        (WebCore::Node::isDescendantOf): Ditto.
        (WebCore::Node::createRendererIfNeeded): Ditto.
        (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
        appendChild.
        (WebCore::Node::ancestorElement): Use ContainerNode*.

        * dom/Range.cpp:
        (WebCore::Range::compareNode): Use ContainerNode*.
        (WebCore::Range::intersectsNode): Ditto.
        (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
        where we previously checked that the node in question has a child. Any node
        that returns a non-zero value for firstChild is a ContainerNode.
        (WebCore::Range::checkNodeBA): Ditto.
        (WebCore::Range::selectNode): Ditto.
        (WebCore::Range::surroundContents): Ditto.

        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
        more specific types, document instead of doc, and paragraph instead of par.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
        Use ContainerNode*.
        (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
        Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
        took a Node argument and had Node in its name.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
        (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
        Renamed and changed to take HTMLElement. Also use ContainerNode.
        (WebCore::CompositeEditCommand::prune): Ditto.
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.

        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
        HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
        (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
        (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
        (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
        * editing/ReplaceNodeWithSpanCommand.h: Ditto.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
        of insertFragmentForTestRendering since that's what it returns.
        (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
        (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
        (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
        Use HTMLElement for body.
        (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
        StyledElement.
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
        (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
        the cloned span, since the clone will be a sspan too.
        (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
        the list item has a child, and that proves it is a ContainerNode.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
        Use ContainerNode and also removed an unnneded local variable.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setOuterText): Use ContainerNode.
        (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
        the logic a little simpler.
        (WebCore::contextElementForInsertion): Use ContainerNode.
        (WebCore::HTMLElement::findFormAncestor): Ditto.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
        (WebCore::InspectorDOMAgent::changeTagName): Ditto.
        (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
        (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
        nodeType. We should almost never use nodeType inside the engine.
        (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
        (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.

        * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
        replaceChild, removeChild, appendChild, and removeChildren functions.
        Ths already overrides childrenChanged, that is called by all of the above,
        and it does the same thing these functions did.
        (WebCore::ownerSelectElement): Use ContainerNode.
        * wml/WMLOptGroupElement.h: Ditto.

2010-10-15  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Crash in WebCore::ApplyStyleCommand::applyBlockStyle
        https://bugs.webkit.org/show_bug.cgi?id=47699

        The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
        Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.

        Test: editing/style/block-style-progress-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):

2010-10-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add a FindIndicator class
        https://bugs.webkit.org/show_bug.cgi?id=47635

        Make Gradient.h and Generator.h private headers; they're used by WebKit2.

        * WebCore.xcodeproj/project.pbxproj:

2010-10-15  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Soup] Should not ignore body for redirection responses
        https://bugs.webkit.org/show_bug.cgi?id=29299

        Body is now provided to WebKitGtk+ in some redirections (like 302)
        because it could be used by servers to perform clunky redirections
        for example using http-equiv=REFRESH

        Test: http/tests/navigation/redirect302-metaredirect.html

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

2010-10-15  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix introspection support
        https://bugs.webkit.org/show_bug.cgi?id=47723

        WebKitSoupCacheType was incorrectly registered twice. Renamed to
        WebKitSoupCacheTypeType for the enumerated type.

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

2010-10-15  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.

        This is a part of Inspector protocol sanitization activity.
        We want to populate console messages only if it is required by frontend.

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

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setConsoleMessagesEnabled):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/InspectorController.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone):

2010-10-15  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Nikolas Zimmermann.

        [EFL] REGRESSION(69798) UCHAR can't be converted to String.
        https://bugs.webkit.org/show_bug.cgi?id=47698

        Create String value using String(const char*, 1) instead of operator[].

        No tests. No functionality changed.

        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::createWindowsKeyMap):

2010-10-15  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Do a stricter check for invalid base64 dataURLs
        https://bugs.webkit.org/show_bug.cgi?id=47717

        Restore the strict base64 decoding we added in
        https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
        in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
        test. The actual issue was that we were not finishing the load of
        the resource gracefully when an error happened.

        Loading invalid base64-encoded data:// URLs are now handled
        properly.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::parseDataUrl):
        * platform/network/soup/cache/soup-request-data.c:
        (webkit_soup_request_data_send):

2010-10-15  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        compile fail with gtk >= 2.22
        https://bugs.webkit.org/show_bug.cgi?id=47483

        * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
        it was added long time ago and currently it is not adding any real
        area to the clip vertically, actually the gtk3 shrink version did
        not work.
        (WebCore::Font::drawComplexText):
        * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
        file is full of gtk2 stuff, and it does not seem interesting to
        upgrade because we are already creating a new version of the file
        for gtk3.

2010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: inspector settings/properties/states management
        should be extracted into separate class.

        We have a lot of flags/values in InspectorController.
        Some flags are persisting into profile.
        Others are part of inspector state for frontend.
        All these flags should keep their values after navigation.
        It'd be better to extract these flags/values into separate
        class which will care about theirs lifetime.

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

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectorStartsAttached):
        (WebCore::InspectorController::setInspectorStartsAttached):
        (WebCore::InspectorController::setInspectorAttachedHeight):
        (WebCore::InspectorController::inspectorAttachedHeight):
        (WebCore::InspectorController::searchingForNodeInPage):
        (WebCore::InspectorController::resourceTrackingEnabled):
        (WebCore::InspectorController::saveApplicationSettings):
        (WebCore::InspectorController::getInspectorState):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::getSettings):
        (WebCore::InspectorController::storeLastActivePanel):
        (WebCore::InspectorController::mouseDidMoveOverElement):
        (WebCore::InspectorController::handleMousePress):
        (WebCore::InspectorController::setSearchingForNode):
        (WebCore::InspectorController::setMonitoringXHREnabled):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::restoreDebugger):
        (WebCore::InspectorController::restoreProfiler):
        (WebCore::InspectorController::getTrackedResource):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::setResourceTrackingEnabled):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::loadBreakpoints):
        (WebCore::InspectorController::saveBreakpoints):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
        * inspector/InspectorState.cpp: Added.
        (WebCore::InspectorState::InspectorState):
        (WebCore::InspectorState::restoreFromInspectorCookie):
        (WebCore::InspectorState::generateStateObjectForFrontend):
        (WebCore::InspectorState::loadFromSettings):
        (WebCore::InspectorState::updateCookie):
        (WebCore::InspectorState::setValue):
        (WebCore::InspectorState::getBoolean):
        (WebCore::InspectorState::getString):
        (WebCore::InspectorState::getLong):
        (WebCore::InspectorState::registerBoolean):
        (WebCore::InspectorState::registerString):
        (WebCore::InspectorState::registerLong):
        (WebCore::InspectorState::Property::create):
        * inspector/InspectorState.h: Added.
        (WebCore::InspectorState::setBoolean):
        (WebCore::InspectorState::setString):
        (WebCore::InspectorState::setLong):

2010-10-14  Jia Pu  <jpu@apple.com>

        Reviewed by Adele Peterson.

        REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
        https://bugs.webkit.org/show_bug.cgi?id=47689
        <rdar://problem/8552250>

        The test requires using setTimeout(). So we put it in manual-tests.

        * editing/Editor.cpp:
        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
        (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
          start timer for next autocorrection check.
        * manual-tests/autocorrection: Added.
        * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.

2010-10-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang and Darin Adler.

        execCommand FormatBlock creates lots of blockquotes
        https://bugs.webkit.org/show_bug.cgi?id=19795

        The bug was caused by WebKit's not reusing the block node added by previous iteration
        and its inserting block node at wrong places.

        Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
        IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
        avoids the existing block elements when replacing blocks and it also adds a placeholder
        when removing the existing block caused paragraphs to collapse.

        Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
        the block element to which the paragraph is moved if the block element is the start of a paragraph
        and not the end of a paragraph.

        Tests: editing/execCommand/format-block-multiple-paragraphs.html
               editing/execCommand/format-block-table.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
        * editing/EditorCommand.cpp:
        (WebCore::executeFormatBlock):
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
        (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
        and moved from htmlediting.cpp.
        (WebCore::enclosingBlockToSplitTreeTo): Added.
        * editing/FormatBlockCommand.h:
        * editing/VisiblePosition.cpp:
        (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
        * editing/VisiblePosition.h:

2010-10-14  Justin Schuh  <jschuh@chromium.org>

        Reviewed by James Robinson.

        Crash in HTMLTextFormControlElement::selection()
        https://bugs.webkit.org/show_bug.cgi?id=47522

        Patch by Ryosuke Niwa  <rniwa@webkit.org>

        The bug was caused by our triggering layout inside RenderTextControl::selection.
        Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.

        Test: fast/forms/render-text-crash.html

        * editing/Editor.cpp:
        (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
        * html/HTMLFormControlElement.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selection): Changed the return type.
        * rendering/RenderTextControl.h:

2010-10-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        SelectElement should check if its renderer exists after calling Element::focus()
        https://bugs.webkit.org/show_bug.cgi?id=47696

        Adds null checks for element->renderer() after calling element->focus(), since focus()
        can dispatch an event and run arbitrary javascript that may cause the select element
        to lose its renderer.

        Test: fast/forms/select-listbox-focus-displaynone.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler):
        (WebCore::SelectElement::listBoxDefaultEventHandler):

2010-10-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        This patch lays the groundwork for 
        https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should 
        affect scrolling
        by adding topmostPosition().

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::topmostPosition):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::topmostPosition):
        * rendering/RenderBox.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::topmostPosition):
        * rendering/RenderMedia.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::topmostPosition):
        * rendering/RenderTableSection.h:

2010-10-14  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] fix compilation warnings in imported libsoup code
        https://bugs.webkit.org/show_bug.cgi?id=47674

        Fixed some warnings caused by comparisons between signed and
        unsigned integer expressions

        * platform/network/soup/cache/soup-directory-input-stream.c:
        (webkit_soup_directory_input_stream_read):
        * platform/network/soup/cache/soup-request-data.c:
        (webkit_soup_request_data_send):
        * platform/network/soup/cache/soup-request-file.c:
        (webkit_soup_request_file_ensure_file):
        * platform/network/soup/cache/webkit/soup-cache.c:
        (webkit_soup_cache_entry_is_fresh_enough):
        (webkit_soup_cache_has_response):

2010-10-14  Andreas Kling  <kling@webkit.org>

        Unreviewed buildfix, RetainPtr is a mac thing..

        * platform/network/soup/ProxyServerSoup.cpp:

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

        Reviewed by Xan Lopez.

        [GTK] Form controls do not respect GTK+ font size
        https://bugs.webkit.org/show_bug.cgi?id=47134

        Have form controls use the font specified in GtkSettings. This font is
        the default control font in GTK+ applications and Firefox. We need to
        pass the string through Pango to get a valid font name and size.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::getScreenDPI): A helper function which returns
        the DPI of the default screen or 96 as a fallback.
        (WebCore::RenderThemeGtk::systemFont): Calculate the system font
        by looking at the GtkSettings value and pushing it through Pango
        to get the font family and font size.

2010-10-14  Andreas Kling  <kling@webkit.org>

        Soup buildfix for r69808: add ProxyServer stub.

        * GNUmakefile.am:
        * platform/network/soup/ProxyServerSoup.cpp: Added.
        (WebCore::proxyServersForURL):

2010-10-14  Andreas Kling  <kling@webkit.org>

        Fix GTK+ build after r69808.

        * GNUmakefile.am:
        * platform/network/curl/ProxyServerCurl.cpp:
        (WebCore::proxyServersForURL):

2010-10-14  Simon Fraser  <simon.fraser@apple.com>

        Another build fix. Export FrameLoader::networkingContext()

        * WebCore.exp.in:

2010-10-14  Simon Fraser  <simon.fraser@apple.com>

        Fix the build after r69808.
        
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/cf/ProxyServerCFNet.cpp:
        (WebCore::proxyServersForURL):

2010-10-14  Gavin Barraclough  <barraclough@apple.com>

        Windows build fix following r69806.

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::markupToCFHTML):

2010-10-14  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Andreas Kling

        Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
        https://bugs.webkit.org/show_bug.cgi?id=34539

        These missing NPN functions cause Java applets to crash in ports such
        as QtWebkit that rely on webkit for Java applet support.

        * plugins/PluginDebug.cpp:
        (WebCore::prettyNameForNPNURLVariable):
        * plugins/PluginDebug.h:
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::initializeBrowserFuncs):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::getValueForURL):
        (WebCore::PluginView::setValueForURL):
        (WebCore::PluginView::getAuthenticationInfo):
        * plugins/PluginView.h:
        * plugins/npapi.cpp:
        (NPN_GetValueForURL):
        (NPN_SetValueForURL):
        (NPN_GetAuthenticationInfo):
        * platform/network/ProxyServer.h:
        * platform/network/cf/ProxyServerCFNet.cpp:
        (WebCore::proxyServersForURL):
        * platform/network/qt/ProxyServerQt.cpp:
        (WebCore::proxyServersForURL):
 
2010-10-14  Gavin Barraclough  <barraclough@apple.com>

        Windows build fix following r69806.

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::markupToCFHTML):

2010-10-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Cache link status at linkProgram and use it in useProgram instead of querying GPU
        https://bugs.webkit.org/show_bug.cgi?id=47685

        * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
        (WebCore::WebGLProgram::WebGLProgram):
        * html/canvas/WebGLProgram.h: Ditto.
        (WebCore::WebGLProgram::getLinkStatus):
        (WebCore::WebGLProgram::setLinkStatus):
        * html/canvas/WebGLRenderingContext.cpp: Ditto.
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::useProgram):

2010-10-14  Justin Schuh  <jschuh@chromium.org>

        Reviewed by James Robinson.

        Style fix for r69735
        https://bugs.webkit.org/show_bug.cgi?id=47684

        No logic change. Existing tests apply.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):

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

        Reviewed by Pavel Feldman.

        Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
        https://bugs.webkit.org/show_bug.cgi?id=47675

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

        * bindings/js/JSConsoleCustom.cpp:
        * bindings/js/ScriptCallFrame.cpp:
        * bindings/js/ScriptCallFrame.h:
        (WebCore::ScriptCallFrame::functionName):
        (WebCore::ScriptCallFrame::sourceURL):
        (WebCore::ScriptCallFrame::lineNumber):
        (WebCore::ScriptCallFrame::argumentCount):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::endGroup):
        * inspector/InspectorController.h:

2010-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Gavin Barraclough.

        Replace lots of String::format() usages by StringConcatenate
        https://bugs.webkit.org/show_bug.cgi?id=47664

        * ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        * dom/ExceptionBase.cpp:
        (WebCore::ExceptionBase::ExceptionBase):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::handleError):
        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):
        * html/FTPDirectoryDocument.cpp:
        (WebCore::processFileDateString):
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::count):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::createBreakpointId):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::formatBreakpointId):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
        * loader/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        (WebCore::FrameLoader::shouldAllowNavigation):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createFromSelection):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty):
        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canLoadObject):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::createKeyMap):
        (WebCore::createWindowsKeyMap):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::animationNameForTransition):
        * platform/graphics/brew/ImageBrew.cpp:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/efl/ImageEfl.cpp:
        (WebCore::loadResourceSharedBuffer):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::animationIdentifier):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/win/WebLayer.cpp:
        (WebCore::WebLayer::drawInContext):
        * platform/network/CredentialStorage.cpp:
        (WebCore::originStringFromURL):
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::setSynchronous):
        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::LanguageManager::LanguageManager):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::markupToCFHTML):
        * platform/win/Language.cpp:
        (WebCore::defaultLanguage):
        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::startStream):
        * svg/SVGUseElement.cpp:
        (WebCore::dumpInstanceTree):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::appendToBuffer):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readServerHandshake):

2010-10-14  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Small cleanup in PluginViewGtk
        https://bugs.webkit.org/show_bug.cgi?id=47588

        Remove some dead code and use PlatformRefPtr for cairo surfaces.

        No new tests, only refactoring.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::paint):

2010-10-14  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Andreas Kling.

        Fix compile error when bulding webkit's Qt port using the "--v8" option.
        https://bugs.webkit.org/show_bug.cgi?id=47455

        * platform/qt/PlatformBridge.h:

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

        Reviewed by Holger Freyther.

        [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
        https://bugs.webkit.org/show_bug.cgi?id=47033

        Fix logic that merges XSettings defaults and FontConfig settings. If
        FontConfig or XSettings specifies a subpixel order, we force subpixel
        anti-aliasing on. If anti-aliasing is turned on explicitly, only
        override the setting if it was previously off, otherwise we ignore
        the user's preference for subpixel or gray antialiasing.

        Test: platform/gtk/fonts/xsettings_antialias_settings.html

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
        and FontConfig anti-aliasing settings.
        (WebCore::getDefaultFontOptions): Added this helper.
        (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.

2010-10-14  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Support typed arrays in workers
        https://bugs.webkit.org/show_bug.cgi?id=47616

        To support typed arrays in workers, we need to expose constructors in
        WorkerContext and add NoStaticTables attribute.

        I also add File API feature guard to the constructors defined in
        DOMWindow.

        * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
        constructors defined in DOMWindow.
        * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
        * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
        * html/canvas/Float32Array.idl: Add NoStaticTables attribute.
        * html/canvas/Int16Array.idl: Add NoStaticTables attribute.
        * html/canvas/Int32Array.idl: Add NoStaticTables attribute.
        * html/canvas/Int8Array.idl: Add NoStaticTables attribute.
        * html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
        * html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
        * html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
        * page/DOMWindow.idl: Add File API feature guard to the constructors
        defined in DOMWindow.
        * workers/WorkerContext.idl: Expose type array constructors.

2010-10-14  Andreas Kling  <kling@webkit.org>

        Reviewed by Ariya Hidayat.

        [Qt] Avoid creating empty transparency layers in ImageBuffer::clip()

        We were creating empty layers for sub-1 height/width clips due to
        using IntRect(FloatRect) instead of enclosingIntRect().
        This lead to a bunch of QPainter warnings on the console since you
        can't draw on an empty QPixmap.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::clip):

2010-10-14  Holger Hans Peter Freyther  <holger@moiji-mobile.com>

        Reviewed by Martin Robinson.

        [cairo] Typo in determining fixed width fonts
        https://bugs.webkit.org/show_bug.cgi?id=47470

        It must be a single ampersand otherwise the
        && FT_FACE_FLAG_FIXED_WIDTH will always be true.

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2010-10-14  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
        https://bugs.webkit.org/show_bug.cgi?id=47666

        Do a less strict decoding of base64 data url's as it was done
        before. The actual problem is most likely
        https://bugs.webkit.org/show_bug.cgi?id=47661 tough.

        * platform/network/soup/cache/soup-request-data.c:
        (webkit_soup_request_data_send):

2010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Andreas Kling.

        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=47660

        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
        The patch also implements the simple setOrder and setKernelUnitLength methods.

        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html

        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::setOrder):
        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
        * svg/SVGFEConvolveMatrixElement.h:

2010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Text breaking is slow: enable ICU as an opt-in
        https://bugs.webkit.org/show_bug.cgi?id=40332

        Added a config flag that enables ICU as an opt-in instead of the Qt specific code.

        No new tests, this should be covered by existing tests.

        * WebCore.pro:
        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::currentTextBreakLocaleID):

2010-10-14  No'am 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

        This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
        once other parts of TextureMapper are fully working.

        No new tests: this is new implementation that's not enabled yet.

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
        (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
        (WebCore::TextureMapperVideoLayerQt::paint):
        (WebCore::TextureMapperVideoLayerQt::size):
        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
        (WebCore::MediaPlayerPrivateQt::platformLayer):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
        (WebCore::MediaPlayerPrivateQt::platformLayer):

2010-10-14  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        Fixed crashes in the GTK 64bits bot, we have to use NULL instead
        of 0 when calling these glib APIs, 0 is compiled as a char and in
        64bits systems it is not correct.

        * platform/network/soup/cache/soup-requester.c:
        (webkit_soup_requester_new):
        (webkit_soup_requester_request_uri):

2010-10-14  Daniel Bates  <dbates@rim.com>

        Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.

        * rendering/RenderInline.cpp: Include header "RenderTheme.h"

2010-10-14  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        Only draw focus ring in RenderInline and RenderImage if the theme
        is not able to draw a focus ring
        https://bugs.webkit.org/show_bug.cgi?id=47632

        Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
        would draw a focus ring regardless of whether the port-specific theme is able to
        draw a focus ring. Instead, these methods should only draw a focus ring if the
        theme is unable to draw a focus ring.

        Also, extracted common focus ring drawing code from RenderObject::paintOutline()
        and RenderInline::paintOutline() into RenderObject::paintFocusRing().

        Tests: fast/forms/textfield-focus-ring.html
               fast/images/imagemap-focus-ring.html
               fast/inline/inline-focus-ring.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
        the theme does not draw one.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintFocusRing): Added.
        (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
        * rendering/RenderObject.h:

2010-10-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Move load and dom content event timers into InspectorController.
        https://bugs.webkit.org/show_bug.cgi?id=47668

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
        (WebCore::InspectorController::mainResourceFiredLoadEvent):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorResource.h:
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):

2010-10-14  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Re-landing r69757.

2010-10-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: implement pausing on window events and timeouts
        https://bugs.webkit.org/show_bug.cgi?id=47542

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didInstallTimerImpl):
        (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
        (WebCore::InspectorInstrumentation::didDispatchEventImpl):
        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
        (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
        (WebCore::InspectorInstrumentation::willFireTimerImpl):
        (WebCore::InspectorInstrumentation::didFireTimerImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
        * inspector/InspectorInstrumentation.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
        (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
        (WebInspector.EventListenerBreakpoint.prototype._condition):
        (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):

2010-10-14  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Andreas Kling.

        Canvas: "currentColor" should inherit the canvas element's color
        https://bugs.webkit.org/show_bug.cgi?id=40273

        Warning fix after r69755. Missing default cases added.

        * html/canvas/CanvasStyle.cpp:
        (WebCore::parseColorOrCurrentColor):
        (WebCore::CanvasStyle::createFromString):
        (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):

2010-10-14  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolling out r69757.

2010-10-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract content-related methods into InspectorResourceAgent.
        https://bugs.webkit.org/show_bug.cgi?id=47415

        This is needed for resource-tracking-less operation of resources panel.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::sourceString):
        (WebCore::InspectorResource::sourceBytes):
        * inspector/InspectorResource.h:
        * inspector/InspectorResourceAgent.cpp: Added.
        (WebCore::InspectorResourceAgent::resourceContent):
        (WebCore::InspectorResourceAgent::resourceContentBase64):
        (WebCore::InspectorResourceAgent::resourceData):
        (WebCore::InspectorResourceAgent::cachedResourceType):
        (WebCore::InspectorResourceAgent::cachedResource):
        * inspector/InspectorResourceAgent.h: Added.
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/InspectorUtilities.cpp: Removed.
        * inspector/InspectorUtilities.h: Removed.

2010-10-14  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        Canvas: "currentColor" should inherit the canvas element's color
        https://bugs.webkit.org/show_bug.cgi?id=40273

        Add support for "currentColor" in CanvasRenderingContext2D APIs.
        If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
        otherwise we use fully opaque black.

        For gradient addColorStop(), "currentColor" always means fully opaque black.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#2dcontext

        Test: fast/canvas/canvas-currentColor.html

        * html/canvas/CanvasGradient.cpp:
        (WebCore::CanvasGradient::addColorStop):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        (WebCore::CanvasRenderingContext2D::setShadowColor):
        (WebCore::CanvasRenderingContext2D::setShadow):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::parseColor):
        (WebCore::currentColor):
        (WebCore::parseColorOrCurrentColor):
        (WebCore::CanvasStyle::CanvasStyle):
        (WebCore::CanvasStyle::createFromString):
        (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
        (WebCore::CanvasStyle::isEquivalentColor):
        (WebCore::CanvasStyle::applyStrokeColor):
        (WebCore::CanvasStyle::applyFillColor):
        * html/canvas/CanvasStyle.h:
        (WebCore::CanvasStyle::isCurrentColor):
        (WebCore::CanvasStyle::hasOverrideAlpha):
        (WebCore::CanvasStyle::overrideAlpha):

2010-10-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
        https://bugs.webkit.org/show_bug.cgi?id=47358

        Test: inspector/debugger-eval-on-call-frame.html

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.): don't embrace expression evaluated in the local scope
        of a call frame into with(window) to avoid shadowing local variables by global ones.

2010-10-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Implement getParameter from the URL API
        https://bugs.webkit.org/show_bug.cgi?id=46610

        Another API from
        https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
        getParameter lets a web site easily read the value of a URL parameter.
        This API is for the simple case of a non-repeated parameter name.
        getParameterAll will handle repeated parameter names in a future patch.

        Tests: fast/dom/anchor-getParameter.html
               http/tests/misc/location-getParameter.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::getParameter):
        * html/HTMLAnchorElement.h:
        * html/HTMLAnchorElement.idl:
        * page/Location.cpp:
        (WebCore::Location::getParameter):
        * page/Location.h:
        * page/Location.idl:
        * platform/KURL.cpp:
        (WebCore::KURL::copyParsedQueryTo):
        * platform/KURLGoogle.cpp:
        (WebCore::KURL::copyParsedQueryTo):
        * platform/KURL.h:

2010-10-14  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed. GTK build fix.

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

2010-10-14  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        Add a short-term solution for large layers.  Layers that are too
        large to be contained in a single texture just upload the portion of
        the layer that is within the content rect.  A longer-term solution
        is still tiling with proper memory management.  Layers that have full
        3D transforms (more than just translations) are still not drawn.
        https://bugs.webkit.org/show_bug.cgi?id=47016

        Test: compositing/tiling

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
        (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
        (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/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::rootLayerContentRect):

2010-10-14  Chris Rogers  <crogers@google.com>

        Reviewed by Chris Fleizach.

        Add DelayDSPKernel files
        https://bugs.webkit.org/show_bug.cgi?id=47518

        No new tests since audio API is not yet implemented.

        * webaudio/DelayDSPKernel.cpp: Added.
        (WebCore::DelayDSPKernel::DelayDSPKernel):
        (WebCore::DelayDSPKernel::process):
        (WebCore::DelayDSPKernel::reset):
        * webaudio/DelayDSPKernel.h: Added.
        (WebCore::DelayDSPKernel::maxDelayTime):
        (WebCore::DelayDSPKernel::setDelayFrames):
        (WebCore::DelayDSPKernel::delayProcessor):

2010-10-13  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        WebKitGtk+ to use the new API from the imported SoupURILoader code

        [GTK] Add HTTP caching support
        https://bugs.webkit.org/show_bug.cgi?id=44261

        ResourceHandleSoup now does everything via SoupURILoader. This means
        that all URLs are handled via the same code path, where WebCore simply
        asks libsoup for a WebKitSoupRequest and the request returns an input
        stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
        as well, to simplify reference counting

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::restartedCallback):
        (WebCore::gotChunkCallback):
        (WebCore::parseDataUrl):
        (WebCore::cleanupSoupRequestOperation):
        (WebCore::sendRequestCallback):
        (WebCore::startHttp):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        (WebCore::closeCallback):
        (WebCore::readCallback):
        (WebCore::startGio):
        * platform/network/soup/ResourceRequest.h:
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateSoupMessage):

2010-10-12  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Adler.

        Prevent block logical height of a root inline box from overflowing by clamping it
        at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
        removal a floating object.
        https://bugs.webkit.org/show_bug.cgi?id=45611        

        Test: fast/overflow/overflow-block-logical-height-crash.html

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):

2010-10-13  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Adler.

        Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
        Canvas: radialGradient with negative radius should throw exception
        https://bugs.webkit.org/show_bug.cgi?id=37176

        This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
        and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.

        Test: canvas/philip/tests/2d.gradient.radial.negative.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createLinearGradient):
        (WebCore::CanvasRenderingContext2D::createRadialGradient):
        (WebCore::createEmptyImageData):
        (WebCore::CanvasRenderingContext2D::measureText):

2010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Darin Adler.

        Add WebCore/plugins/win directory to CFLAGS
        https://bugs.webkit.org/show_bug.cgi?id=45547

        * GNUmakefile.am:

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

        Build fix for older versions of libsoup.

        * platform/network/soup/cache/soup-request-file.c:
        (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.

2010-10-13  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add TextBoundaries and TextBreakIterator
        https://bugs.webkit.org/show_bug.cgi?id=46105

        Copy the implementation of WinCE port.

        * platform/text/brew/TextBoundariesBrew.cpp: Added.
        (WebCore::findNextWordFromIndex):
        (WebCore::findWordBoundary):
        * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
        (WebCore::isCharStop):
        (WebCore::isLineStop):
        (WebCore::isSentenceStop):
        (WebCore::TextBreakIterator::reset):
        (WebCore::TextBreakIterator::following):
        (WebCore::TextBreakIterator::preceding):
        (WebCore::WordBreakIterator::first):
        (WebCore::WordBreakIterator::next):
        (WebCore::WordBreakIterator::previous):
        (WebCore::CharBreakIterator::first):
        (WebCore::CharBreakIterator::next):
        (WebCore::CharBreakIterator::previous):
        (WebCore::LineBreakIterator::first):
        (WebCore::LineBreakIterator::next):
        (WebCore::LineBreakIterator::previous):
        (WebCore::SentenceBreakIterator::first):
        (WebCore::SentenceBreakIterator::next):
        (WebCore::SentenceBreakIterator::previous):
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::lineBreakIterator):
        (WebCore::sentenceBreakIterator):
        (WebCore::textBreakFirst):
        (WebCore::textBreakNext):
        (WebCore::textBreakPreceding):
        (WebCore::textBreakFollowing):
        (WebCore::textBreakCurrent):
        (WebCore::isTextBreak):
        (WebCore::cursorMovementIterator):

2010-10-13  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        IndexedDB should fire some errors synchronously
        https://bugs.webkit.org/show_bug.cgi?id=47530

        Add dumb plumbing to pass around exception codes.
        Utilize that plumbing in the backend to fire some
        errors synchronously.
        Verify that create/remove* functions are only called
        in setVersionTransactions (and raise when not).
        Remove plumbing for obsolete IDBDatabase.objectStore
        Remove obsolete mode param.

        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::update):
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::remove):
        * storage/IDBCursor.h:
        (WebCore::IDBCursor::continueFunction):
        * storage/IDBCursor.idl:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::remove):
        * storage/IDBCursorBackendImpl.h:
        * storage/IDBCursorBackendInterface.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::removeObjectStore):
        (WebCore::IDBDatabase::setVersion):
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::objectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBFactory.h:
        (WebCore::IDBFactory::open):
        * storage/IDBFactory.idl:
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        (WebCore::IDBIndex::get):
        (WebCore::IDBIndex::getKey):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::IDBIndexBackendImpl::openKeyCursor):
        (WebCore::IDBIndexBackendImpl::get):
        (WebCore::IDBIndexBackendImpl::getKey):
        * storage/IDBIndexBackendImpl.h:
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::get):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::remove):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::index):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        * storage/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::name):
        (WebCore::IDBObjectStoreBackendImpl::keyPath):
        (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::objectStore):
        * storage/IDBTransaction.h:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::objectStore):

2010-10-13  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Add HTTP caching support
        https://bugs.webkit.org/show_bug.cgi?id=44261

        This patch adds HTTP caching support to libsoup networking backend.
        This code will eventually be part of libsoup, but has been temporarily
        imported into the WebCore tree for testing purposes. All libsoup code
        is located in WebCore/platform/network/soup/cache. The webkit prefix
        was added to all the symbols to prevent problems when this lands in
        libsoup. Some external API was also added under webkit/ directory and
        will be used by library clients to enable HTTP caching.

        There are two parts to this imported code, the first one is the code
        under WebCore/platform/network/soup/cache/ that contains all the
        SoupURILoader code that supports the development of the cache. The
        second part is the HTTP cache implementation located in
        WebCore/platform/network/soup/cache/webkit/.

        * GNUmakefile.am:
        * platform/network/soup/cache/soup-directory-input-stream.c: Added.
        (webkit_soup_directory_input_stream_parse_info):
        (webkit_soup_directory_input_stream_read_next_file):
        (webkit_soup_directory_input_stream_read):
        (webkit_soup_directory_input_stream_close):
        (webkit_soup_directory_input_stream_class_init):
        (webkit_soup_directory_input_stream_init):
        (webkit_soup_directory_input_stream_new):
        * platform/network/soup/cache/soup-directory-input-stream.h: Added.
        * platform/network/soup/cache/soup-http-input-stream.c: Added.
        (webkit_soup_http_input_stream_finalize):
        (webkit_soup_http_input_stream_class_init):
        (webkit_soup_http_input_stream_seekable_iface_init):
        (webkit_soup_http_input_stream_init):
        (webkit_soup_http_input_stream_queue_message):
        (webkit_soup_http_input_stream_new):
        (webkit_soup_http_input_stream_got_headers):
        (webkit_soup_http_input_stream_got_chunk):
        (webkit_soup_http_input_stream_finished):
        (webkit_soup_http_input_stream_cancelled):
        (webkit_soup_http_input_stream_prepare_for_io):
        (webkit_soup_http_input_stream_done_io):
        (set_error_if_http_failed):
        (read_from_leftover):
        (webkit_soup_http_input_stream_send_internal):
        (send_sync_finished):
        (webkit_soup_http_input_stream_send):
        (webkit_soup_http_input_stream_read):
        (webkit_soup_http_input_stream_close):
        (wrapper_callback):
        (send_async_thread):
        (webkit_soup_http_input_stream_send_async_in_thread):
        (send_async_finished):
        (webkit_soup_http_input_stream_send_async_internal):
        (webkit_soup_http_input_stream_send_async):
        (webkit_soup_http_input_stream_send_finish):
        (read_async_done):
        (webkit_soup_http_input_stream_read_async):
        (webkit_soup_http_input_stream_read_finish):
        (webkit_soup_http_input_stream_close_async):
        (webkit_soup_http_input_stream_close_finish):
        (webkit_soup_http_input_stream_tell):
        (webkit_soup_http_input_stream_can_seek):
        (webkit_soup_http_input_stream_seek):
        (webkit_soup_http_input_stream_can_truncate):
        (webkit_soup_http_input_stream_truncate):
        (webkit_soup_http_input_stream_get_message):
        * platform/network/soup/cache/soup-http-input-stream.h: Added.
        * platform/network/soup/cache/soup-request-data.c: Added.
        (webkit_soup_request_data_init):
        (webkit_soup_request_data_finalize):
        (webkit_soup_request_data_check_uri):
        (uri_decoded_copy):
        (webkit_soup_request_data_send):
        (webkit_soup_request_data_get_content_length):
        (webkit_soup_request_data_get_content_type):
        (webkit_soup_request_data_class_init):
        * platform/network/soup/cache/soup-request-data.h: Added.
        * platform/network/soup/cache/soup-request-file.c: Added.
        (webkit_soup_request_file_get_file):
        (webkit_soup_request_file_init):
        (webkit_soup_request_file_finalize):
        (webkit_soup_request_file_check_uri):
        (webkit_soup_request_file_ftp_main_loop_quit):
        (webkit_soup_request_file_ensure_file_ftp):
        (webkit_soup_request_file_ensure_file):
        (webkit_soup_request_file_send):
        (webkit_soup_request_file_send_async_thread):
        (webkit_soup_request_file_send_async):
        (webkit_soup_request_file_send_finish):
        (webkit_soup_request_file_get_content_length):
        (webkit_soup_request_file_get_content_type):
        (webkit_soup_request_file_class_init):
        * platform/network/soup/cache/soup-request-file.h: Added.
        * platform/network/soup/cache/soup-request-http.c: Added.
        (webkit_soup_request_http_get_message):
        (webkit_soup_request_http_init):
        (webkit_soup_request_http_check_uri):
        (webkit_soup_request_http_finalize):
        (webkit_soup_request_http_send):
        (sent_async):
        (conditional_get_ready_cb):
        (send_async_cb):
        (webkit_soup_request_http_send_async):
        (webkit_soup_request_http_send_finish):
        (webkit_soup_request_http_get_content_length):
        (webkit_soup_request_http_get_content_type):
        (webkit_soup_request_http_class_init):
        * platform/network/soup/cache/soup-request-http.h: Added.
        * platform/network/soup/cache/soup-request.c: Added.
        (webkit_soup_request_init):
        (webkit_soup_request_finalize):
        (webkit_soup_request_set_property):
        (webkit_soup_request_get_property):
        (webkit_soup_request_initable_init):
        (webkit_soup_request_default_check_uri):
        (webkit_soup_request_default_send_async):
        (webkit_soup_request_default_send_finish):
        (webkit_soup_request_send):
        (webkit_soup_request_send_async):
        (webkit_soup_request_send_finish):
        (webkit_soup_request_class_init):
        (webkit_soup_request_initable_interface_init):
        (webkit_soup_request_get_uri):
        (webkit_soup_request_get_session):
        (webkit_soup_request_get_content_length):
        (webkit_soup_request_get_content_type):
        * platform/network/soup/cache/soup-request.h: Added.
        * platform/network/soup/cache/soup-requester.c: Added.
        (webkit_soup_requester_init):
        (finalize):
        (webkit_soup_requester_class_init):
        (init_request_types):
        (webkit_soup_requester_new):
        (webkit_soup_requester_request):
        (webkit_soup_requester_request_uri):
        (webkit_soup_scheme_is_valid):
        (webkit_soup_requester_add_protocol):
        (webkit_soup_requester_remove_protocol):
        (webkit_soup_error_quark):
        * platform/network/soup/cache/soup-requester.h: Added.
        * platform/network/soup/cache/webkit/soup-cache-private.h: Added.
        * platform/network/soup/cache/webkit/soup-cache.c: Added.
        (get_cacheability):
        (webkit_soup_cache_entry_free):
        (copy_headers):
        (update_headers):
        (webkit_soup_cache_entry_get_current_age):
        (webkit_soup_cache_entry_is_fresh_enough):
        (webkit_soup_message_get_cache_key):
        (webkit_soup_cache_entry_set_freshness):
        (webkit_soup_cache_entry_new):
        (webkit_soup_cache_writing_fixture_free):
        (close_ready_cb):
        (write_ready_cb):
        (msg_got_chunk_cb):
        (msg_got_body_cb):
        (webkit_soup_cache_entry_delete):
        (lru_compare_func):
        (cache_accepts_entries_of_size):
        (make_room_for_new_entry):
        (webkit_soup_cache_entry_insert_by_key):
        (msg_restarted_cb):
        (append_to_ready_cb):
        (msg_got_headers_cb):
        (webkit_soup_cache_send_response):
        (request_started):
        (attach):
        (webkit_soup_cache_session_feature_init):
        (webkit_soup_cache_init):
        (webkit_soup_cache_finalize):
        (webkit_soup_cache_set_property):
        (webkit_soup_cache_get_property):
        (webkit_soup_cache_constructed):
        (webkit_soup_cache_type_get_type):
        (webkit_soup_cache_class_init):
        (webkit_soup_cache_new):
        (webkit_soup_cache_has_response):
        (webkit_soup_cache_get_cacheability):
        (force_flush_timeout):
        (webkit_soup_cache_flush):
        (remove_cache_item):
        (webkit_soup_cache_clear):
        (webkit_soup_cache_generate_conditional_request):
        (pack_entry):
        (webkit_soup_cache_dump):
        (webkit_soup_cache_load):
        (webkit_soup_cache_set_max_size):
        (webkit_soup_cache_get_max_size):
        * platform/network/soup/cache/webkit/soup-cache.h: Added.

2010-10-13  Gavin Barraclough  <barraclough@apple.com>

        Chromium build fix.

        * bindings/v8/ScriptProfiler.cpp:

2010-10-13  Chris Evans  <cevans@google.com>

        Reviewed by Jian Li.

        Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
        https://bugs.webkit.org/show_bug.cgi?id=47382

        Fix integer overflow errors in Blob.slice and BlobBuilder.append.

        Test: fast/files/blob-slice-overflow.html

        * fileapi/Blob.cpp:
        (WebCore::Blob::slice): handle integer overflow properly.
        * fileapi/BlobBuilder.cpp:
        (WebCore::BlobBuilder::append): use correct type for vector length.

2010-10-13  Gavin Barraclough  <barraclough@apple.com>

        Build fix - remove some redundant references to ScriptString.

        * WebCore.gypi:
        * WebCore.pro:
        * bindings/v8/ScriptProfiler.cpp:

2010-10-13  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 47621 - Remove bindings/v8/ScriptString
        This is now redundant.

        * bindings/v8/ScriptCallFrame.h:
        (WebCore::ScriptCallFrame::functionName):
        * bindings/v8/ScriptFunctionCall.cpp:
        * bindings/v8/ScriptFunctionCall.h:
        * bindings/v8/ScriptString.h: Removed.
        * bindings/v8/ScriptStringImpl.cpp: Removed.
        * bindings/v8/ScriptStringImpl.h: Removed.

2010-10-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by John Sullivan.

        Draw the find overlay holes
        https://bugs.webkit.org/show_bug.cgi?id=47631

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2010-10-13  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Adler.

        Implement onreadystatechange event handler for Documents
        https://bugs.webkit.org/show_bug.cgi?id=26140

        Test: fast/dom/Document/readystate.html

        * dom/Document.cpp:
        (WebCore::Document::setReadyState): Fire readystatechangeevent.
        (WebCore::Document::open): Clear event listeners.
        * dom/Document.h: Add readystatechange event.
        * dom/Document.idl: Ditto.

2010-10-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: accessibilityIsIgnored not respected on ARIA tables
        https://bugs.webkit.org/show_bug.cgi?id=47564

        For platforms that ignore column headers and header container objects (everything
        except Mac) on accessibility tables, that choice needs to be respected in 
        ARIA tables as well.

        GTK is the only open platform doing this, so I'll have to collect the result of this 
        test. It was copied from table-hierarchy.html, but changed to use ARIA tables.

        Test: platform/gtk/accessibility/aria-table-hierarchy.html

        * accessibility/AccessibilityARIAGrid.cpp:
        (WebCore::AccessibilityARIAGrid::addChildren):

2010-10-13  Victoria Kirst  <vrk@google.com>

        Reviewed by James Robinson.

        No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
        https://bugs.webkit.org/show_bug.cgi?id=47432

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

2010-10-13  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed. Build fix.

        * CMakeLists.txt: Add ContextShadow.cpp.
        * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.

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

        Reviewed by Holger Freyther.

        [GTK] r69681 caused some tests to crash
        https://bugs.webkit.org/show_bug.cgi?id=47622

        Properly initialize m_layerContext on the ContextShadow so that in situations
        where beginShadowLayer bails out early with a null return value, it is set
        to null. This may happen when the first call to beginShadowLayer on a particular
        ContextShadow uses a region which is entirely outside the clip region or which
        is empty.

        * platform/graphics/cairo/ContextShadow.cpp:
        (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.

2010-10-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Beth Dakin.

        Don't set the fill/stroke colorspace before filling/stroking
        https://bugs.webkit.org/show_bug.cgi?id=47619

        Setting the colorspace has the side-effect of setting the color to black, which is
        not what we want. When fill/stroke is called, a fill/stroke color should already have been set.

        Pixel tests show no regressions from this change.

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

2010-10-13  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed WinCairo build fix.
        New ContextShadow class not built for Windows builds.

        * WebCore.vcproj/WebCore.vcproj: Add missing files for
        building ContextShadow on WinCairo.
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        Add missing include for ContextShadow definition.

2010-10-13  Gavin Barraclough  <barraclough@apple.com>

        Chromium build fix pt1.

        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):

2010-10-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Send over find indicator information to the UI process
        https://bugs.webkit.org/show_bug.cgi?id=47612

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2010-10-13  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=43987
        Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
        to construct their internal result string.  Remove ScriptString (this is now
        redundant).

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsOwnedStringOrNull):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::responseText):
        * bindings/js/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/js/ScriptCallFrame.h:
        (WebCore::ScriptCallFrame::functionName):
        * bindings/js/ScriptCallStack.h:
        * bindings/js/ScriptFunctionCall.cpp:
        * bindings/js/ScriptFunctionCall.h:
        * bindings/js/ScriptString.h: Removed.
        * dom/ScriptExecutionContext.h:
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::FileReader):
        (WebCore::FileReader::abort):
        (WebCore::FileReader::didReceiveData):
        (WebCore::FileReader::result):
        (WebCore::FileReader::convertToText):
        (WebCore::FileReader::convertToDataURL):
        * fileapi/FileReader.h:
        * fileapi/FileReaderSync.cpp:
        (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
        (WebCore::FileReaderSyncLoader::didReceiveData):
        (WebCore::FileReaderSync::readAsBinaryString):
        (WebCore::FileReaderSync::readAsText):
        (WebCore::FileReaderSync::readAsDataURL):
        (WebCore::FileReaderSync::read):
        (WebCore::FileReaderSync::convertToText):
        * fileapi/FileReaderSync.h:
        (WebCore::FileReaderSync::readAsText):
        (WebCore::FileReaderSync::FileReaderSync):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::setOverrideContent):
        * inspector/InspectorResource.h:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/ResourceLoadNotifier.h:
        * workers/WorkerScriptLoader.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::responseText):
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::dropProtection):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:

2010-10-13  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 43987 - Downloading using XHR is much slower than before

        * svg/SVGPathStringBuilder.cpp:
        (WebCore::SVGPathStringBuilder::result):
            StringBuilder::size() -> StringBuilder::length().

2010-10-13  Yong Li  <yoli@rim.com>

        Reviewed by Oliver Hunt.

        Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
        that can result crash on ARM (<v6).
        https://bugs.webkit.org/show_bug.cgi?id=47594

        No new test added, because the crash can be produced by existing tests like:
        LayoutTests/fast/events/message-channel-gc-4.html

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readLittleEndian):
        (WebCore::CloneDeserializer::readString):

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

        Reviewed by Dirk Schulze.

        [Cairo] Activate ContextShadow in all places where shadows are drawn
        https://bugs.webkit.org/show_bug.cgi?id=46475

        Turn on ContextShadow for the Cairo port and remove all old shadow code.
        Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.

        * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
        * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
        (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
        on the specified cairo_t to prepare for drawing glyphs.
        (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
        while properly handling glyphs with synthetic bold.
        (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
        argument specifying whether to fill or stroke the solid figure for the shadow.
        (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
        (WebCore::strokeCurrentCairoPath): Ditto.
        (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
        (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
        (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
        (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
        (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
        (WebCore::GraphicsContext::contextShadow): Added.
        (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
        (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw): Updated to use ContextShadow.

2010-10-13  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Steve Block.

        First step towards client-based Geolocation in Chromium. Build
        fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
        https://bugs.webkit.org/show_bug.cgi?id=47586

        * WebCore.gyp/WebCore.gyp:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/GeolocationServiceChromium.cpp:

2010-10-13  Steve Block  <steveblock@google.com>

        Unreviewed fix

        Need to check for the existence of DeviceOrientation and DeviceMotion controllers

        These features can be disabled at run time, so an enable guard is not sufficient.
        This bug was introduced in http://trac.webkit.org/changeset/69646

        Tested with existing tests.

        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCache):

2010-10-13  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: stack information is inconsistent between console.trace and runtime errors.
        https://bugs.webkit.org/show_bug.cgi?id=47252

        * console.trace() is now formatted the same way as other stack traces

        * If there is //@ sourceURL=url line at the end of eval'ed script source
        the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
        type has changed from KURL to String.

        Tests: inspector/console-trace-in-eval.html
               inspector/console-uncaught-exception-in-eval.html

        * bindings/js/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/js/ScriptCallFrame.h:
        (WebCore::ScriptCallFrame::sourceURL):
        * bindings/v8/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/v8/ScriptCallFrame.h:
        (WebCore::ScriptCallFrame::sourceURL):
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::getFrameLocation):
        (WebCore::ScriptCallStack::create):
        * bindings/v8/ScriptCallStack.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::count):
        (WebCore::Console::timeEnd):

2010-10-13  Kent Tamura  <tkent@chromium.org>

        Unreviewed, a trivial change.

        Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2010-10-13  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        Wrong ASSERT when select element has size 0
        https://bugs.webkit.org/show_bug.cgi?id=47567

        Keep the ASSERT only if the size of the element list is more than 0
        Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::updateListBoxSelection):
        (WebCore::SelectElement::listBoxDefaultEventHandler):

2010-10-13  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        Pages using DeviceOrientation and DeviceMotion should not go into the page cache
        https://bugs.webkit.org/show_bug.cgi?id=47408

        Tests: fast/dom/DeviceMotion/no-page-cache.html
               fast/dom/DeviceOrientation/no-page-cache.html

        * dom/DeviceMotionController.h:
        (WebCore::DeviceMotionController::isActive):
        * dom/DeviceOrientationController.h:
        (WebCore::DeviceOrientationController::isActive):
        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCache):
        * page/Page.cpp:

2010-10-13  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Dmitry Titov.

        Make resource identifiers unique across pages
        https://bugs.webkit.org/show_bug.cgi?id=47002

        Test: http/tests/misc/iframe-reparenting-id-collision.html

        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::ProgressTracker):
        (WebCore::ProgressTracker::createUniqueIdentifier):
        * loader/ProgressTracker.h:

2010-10-12  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by David Hyatt.

        Bug 41040 - :before/:after content should not become part of a ruby base
        https://bugs.webkit.org/show_bug.cgi?id=41040

        Also related to:
        https://bugs.webkit.org/show_bug.cgi?id=40895.
        https://bugs.webkit.org/show_bug.cgi?id=43722.

        Explicitly handle :before and :after content in the default way.

        Test: fast/ruby/ruby-beforeafter.html
              fast/ruby/after-doesnt-crash.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isBeforeContent):
        * rendering/RenderRuby.cpp:
        (WebCore::lastRubyRun):
        (WebCore::RenderRubyAsInline::addChild):
        (WebCore::RenderRubyAsInline::removeChild):
        (WebCore::RenderRubyAsBlock::addChild):
        (WebCore::RenderRubyAsBlock::removeChild):

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

        Unreviewed, rolling out r69639.
        http://trac.webkit.org/changeset/69639
        https://bugs.webkit.org/show_bug.cgi?id=47575

        "regressed nav-element.html" (Requested by rniwa on #webkit).

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::formatSelection):
        * editing/EditorCommand.cpp:
        (WebCore::executeFormatBlock):
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange):
        * editing/FormatBlockCommand.h:
        (WebCore::FormatBlockCommand::editingAction):
        * editing/VisiblePosition.cpp:
        (WebCore::enclosingBlockFlowElement):
        * editing/VisiblePosition.h:
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag):
        * editing/htmlediting.h:

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

        Reviewed by Tony Chang.

        execCommand FormatBlock creates lots of blockquotes
        https://bugs.webkit.org/show_bug.cgi?id=19795

        The bug was caused by WebKit's not reusing the block node added by previous iteration
        and its inserting block node at wrong places.

        Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
        IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
        avoids the existing block elements when replacing blocks and it also adds a placeholder
        when removing the existing block caused paragraphs to collapse.

        Tests: editing/execCommand/format-block-multiple-paragraphs.html
               editing/execCommand/format-block-table.html

        * editing/EditorCommand.cpp:
        (WebCore::executeFormatBlock):
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
        (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
        and moved from htmlediting.cpp.
        (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
        * editing/FormatBlockCommand.h:
        * editing/VisiblePosition.cpp:
        (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
        * editing/VisiblePosition.h:

2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Anders Carlsson.

        Make PluginView inherit from PluginViewBase.

        This change is a precursor to adding accelerated compositing support
        for NPAPI plugins.

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

        * page/Page.cpp:
        (WebCore::Page::privateBrowsingStateChanged):
        * plugins/PluginView.h:
        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::PluginViewBase):

2010-10-12  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Pass platform path (rather than virtual path) when creating File from FileEntry
        https://bugs.webkit.org/show_bug.cgi?id=47563

        No new tests, the new test for FileWriter will be verifying this.

        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::file):

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

        Reviewed by Dan Bernstein

        <rdar://problem/8488444> REGRESSION (r67771)
        https://bugs.webkit.org/show_bug.cgi?id=47434
        Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
        
        Added printing/simultaneous-position-float-change.html

        Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
        objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
        changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
        automatically mark themselves as needing layout.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::pageHeight):
        (WebCore::LayoutState::pageHeightChanged):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::positionNewFloats):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        (WebCore::RenderView::setPageHeight):
        (WebCore::RenderView::pushLayoutState):
        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
        (WebCore::LayoutStateMaintainer::push):

2010-10-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Paint the find overlay background
        https://bugs.webkit.org/show_bug.cgi?id=47565

        Export symbols required by WebKit2.

        * WebCore.exp.in:

2010-10-12  James Robinson  <jamesr@chromium.org>

        Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619

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

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

        Reviewed by Darin Adler.

        Manage DrawingBuffer lifetime in GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=47501

        GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
        has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
        DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
        refers to GraphicsContext3D rather than SharedGraphicsContext3D.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::createDrawingBuffer):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::generateColorTexture):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::bind):
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::graphicsContext3D):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        (WebCore::SharedGraphicsContext3D::graphicsContext3D):
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::create):

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

        Reviewed by David Levin.

        Fix passing blob data with string data item between threads.
        https://bugs.webkit.org/show_bug.cgi?id=46543

        The fix is to use a thread-safe ref-counted Vector<char> to store the
        string data. This also makes us be able to store any binary data in it.

        I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
        copies to make blob handling faster.

        * fileapi/BlobBuilder.cpp:
        (WebCore::BlobBuilder::append):
        * fileapi/ThreadableBlobRegistry.cpp:
        (WebCore::BlobRegistryContext::BlobRegistryContext):
        * platform/network/BlobData.cpp:
        (WebCore::BlobDataItem::RawData::RawData):
        (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
        (WebCore::BlobDataItem::detachFromCurrentThread):
        (WebCore::BlobData::create):
        (WebCore::BlobData::detachFromCurrentThread):
        (WebCore::BlobData::appendData):
        * platform/network/BlobData.h:
        (WebCore::BlobDataItem::RawData::create):
        (WebCore::BlobDataItem::RawData::data):
        (WebCore::BlobDataItem::RawData::length):
        (WebCore::BlobDataItem::RawData::mutableData):
        (WebCore::BlobDataItem::BlobDataItem):
        * platform/network/BlobRegistryImpl.cpp:
        (WebCore::BlobRegistryImpl::registerBlobURL):
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::readDataSync):
        (WebCore::BlobResourceHandle::readDataAsync):
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::setHTTPBody):
        * platform/text/LineEnding.cpp:
        (OutputBuffer::CStringBuffer::CStringBuffer):
        (OutputBuffer::CStringBuffer::~CStringBuffer):
        (OutputBuffer::CStringBuffer::allocate):
        (OutputBuffer::CStringBuffer::copy):
        (OutputBuffer::CStringBuffer::buffer):
        (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
        (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
        (OutputBuffer::VectorCharAppendBuffer::allocate):
        (OutputBuffer::VectorCharAppendBuffer::copy):
        (OutputBuffer::internalNormalizeLineEndingsToCRLF):
        (WebCore::normalizeToCROrLF):
        (WebCore::normalizeLineEndingsToCRLF):
        (WebCore::normalizeLineEndingsToCR):
        (WebCore::normalizeLineEndingsToLF):
        (WebCore::normalizeLineEndingsToNative):
        * platform/text/LineEnding.h:

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

        Unreviewed, rolling out r69589.
        http://trac.webkit.org/changeset/69589
        https://bugs.webkit.org/show_bug.cgi?id=47547

        Wrong patch landed from a bug with two patches (Requested by
        mrobinson on #webkit).

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::restartedCallback):
        (WebCore::gotChunkCallback):
        (WebCore::finishedCallback):
        (WebCore::parseDataUrl):
        (WebCore::startHttp):
        * platform/network/soup/ResourceRequest.h:
        * platform/network/soup/ResourceRequestSoup.cpp:

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

        Screen.availLeft should be signed
        https://bugs.webkit.org/show_bug.cgi?id=34397
        
        Add the manual test missed in r69599.

        * manual-tests/screen-availLeft.html: Added.

2010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Ariya Hidayat.

        [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.

        Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
        quirk is enabled only for 64-bit Flash/X11 and should not affect other
        plugins. The freeze itself is in Flash code and the backtrace is not
        useful.

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

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):
        * plugins/PluginQuirkSet.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::handleMouseEvent):

2010-10-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Alexey Proskuryakov.

        Screen.availLeft should be signed
        https://bugs.webkit.org/show_bug.cgi?id=34397

        For the screen to the left of the main screen, screen.availLeft
        can be negative, so the Screen API needs to use signed numbers
        for availLeft and availTop.

        * manual-tests/screen-availLeft.html: Added.
        * page/Screen.cpp:
        (WebCore::Screen::availLeft):
        (WebCore::Screen::availTop):
        * page/Screen.h:
        * page/Screen.idl:

2010-10-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add FindController class
        https://bugs.webkit.org/show_bug.cgi?id=47555

        Export Page::findString.

        * WebCore.exp.in:

2010-10-12  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=47550
        <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
        (esp. with AdBlock style extensions)

        No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.

        The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
        not available yet, so scripting could only attempt to load it recursively.

        This didn't affect NPAPI plug-ins, because of a completely different code path taken in
        updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.

        * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
        (WebCore::HTMLPlugInElement::pluginWidget):
        * html/HTMLPlugInElement.h:

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

        Reviewed by Gavin Barraclough.

        Unify JSC::StringBuilder & WebCore::StringBuilder
        https://bugs.webkit.org/show_bug.cgi?id=47538

        JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
        WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
        characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
        most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
        strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.

        Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
        While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.

        No change in functionality, thus no new tests.

        * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto. 
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * ForwardingHeaders/runtime/StringBuilder.h: Removed.
        * ForwardingHeaders/runtime/UStringBuilder.h: Added.
        * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
        * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
        (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
        * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
        * css/MediaQuery.cpp: Ditto.
        * css/MediaQueryExp.cpp: Ditto.
        * dom/Node.cpp: Ditto.
        (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
        * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
        * html/DOMTokenList.cpp: Use WTF::StringBuilder.
        * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
        * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
        * platform/brew/FileSystemBrew.cpp: Ditto.
        * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
        * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
        * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
        * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
        * platform/network/ProxyServer.cpp:
        (WebCore::appendProxyServerString): Use WTF::StringBuilder.
        * platform/text/StringBuffer.h: Removed.
        * platform/text/StringBuilder.cpp: Removed.
        * platform/text/StringBuilder.h: Removed.
        * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
        * svg/SVGPathParserFactory.cpp: Ditto.
        * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
        (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
        (WebCore::SVGPathStringBuilder::moveTo):
        (WebCore::SVGPathStringBuilder::lineTo):
        (WebCore::SVGPathStringBuilder::lineToHorizontal):
        (WebCore::SVGPathStringBuilder::lineToVertical):
        (WebCore::SVGPathStringBuilder::curveToCubic):
        (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
        (WebCore::SVGPathStringBuilder::curveToQuadratic):
        (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathStringBuilder::arcTo):
        (WebCore::SVGPathStringBuilder::closePath):
        * svg/SVGPathStringBuilder.h:
        (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
        * websockets/WebSocket.cpp: Use WTF::StringBuilder.
        * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).

2010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Add a missing file in CMakeListEfl.txt
        https://bugs.webkit.org/show_bug.cgi?id=47480

        IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.

        * CMakeListsEfl.txt:

2010-10-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Need WebKit2 API to get the cell above a table cell
        <rdar://problem/8537111>
        https://bugs.webkit.org/show_bug.cgi?id=47532

        Re-factor functionality to get the cell above a table cell
        into a function on HTMLTableCellElement and export it for use
        as SPI.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
        * html/HTMLTableCellElement.h:
        * page/Frame.cpp:
        (WebCore::Frame::searchForLabelsAboveCell): ...from here.

2010-10-12  Dave Moore  <davemoore@chromium.org>

        Reviewed by Tony Chang.

        Use new WebThemeEngine api on chromium / linux to draw scrollbars.
        https://bugs.webkit.org/show_bug.cgi?id=47473

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:

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

        Reviewed by Antonio Gomes.

        [Qt] Clipping problem viewing SVG with WebKit
        https://bugs.webkit.org/show_bug.cgi?id=29596

        SVG path clipping (via GraphicsContext::clipPath()) was done using the
        Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
        to misrenderings when nesting multiple clip paths.

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

2010-10-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: refactoring of native breakpoints.
        https://bugs.webkit.org/show_bug.cgi?id=47360

        Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
        Move stuff that depends on breakpoint type to corresponding subclass.

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setNativeBreakpoint):
        (WebCore::InspectorController::removeNativeBreakpoint):
        (WebCore::InspectorController::findEventListenerBreakpoint):
        (WebCore::InspectorController::findXHRBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
        (WebCore::InspectorDOMAgent::createBreakpointId):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
        (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
        (WebInspector.BreakpointManager.prototype.debuggerPaused):
        (WebInspector.BreakpointManager.prototype.debuggerResumed):
        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
        (WebInspector.NativeBreakpoint):
        (WebInspector.NativeBreakpoint.prototype.remove):
        (WebInspector.NativeBreakpoint.prototype.get _frontendId):
        (WebInspector.NativeBreakpoint.prototype.get _type):
        (WebInspector.NativeBreakpoint.prototype._compare):
        (WebInspector.NativeBreakpoint.prototype._onRemove):
        (WebInspector.DOMBreakpoint):
        (WebInspector.DOMBreakpoint.prototype.click):
        (WebInspector.DOMBreakpoint.prototype.compareTo):
        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
        (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
        (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
        (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
        (WebInspector.DOMBreakpoint.prototype._condition):
        (WebInspector.DOMBreakpoint.prototype._onRemove):
        (WebInspector.EventListenerBreakpoint):
        (WebInspector.EventListenerBreakpoint.prototype.compareTo):
        (WebInspector.EventListenerBreakpoint.prototype.label):
        (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
        (WebInspector.EventListenerBreakpoint.prototype._condition):
        (WebInspector.XHRBreakpoint):
        (WebInspector.XHRBreakpoint.prototype.compareTo):
        (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
        (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
        (WebInspector.XHRBreakpoint.prototype._condition):
        (WebInspector.domBreakpointTypeLabel):
        (WebInspector.domBreakpointTypeContextMenuLabel):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointItem):
        (WebInspector.BreakpointItem.prototype._breakpointClicked):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
        (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMAgent.prototype._setDocument):
        (WebInspector.DOMAgent.prototype._removeBreakpoints):
        (WebInspector.childNodeRemoved):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/inspector.js:
        (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createDOMBreakpointsSidebarPane):
        (WebInspector.reset):

2010-10-11  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dumitru Daniliuc.

        FileWriter should hold a reference to a Blob during write
        https://bugs.webkit.org/show_bug.cgi?id=47318

        Without this reference, the Blob might get garbage-collected from JS
        before the write has completed, which would be quite unintuitive to the
        user.  I just grab a RefPtr to the Blob at write(), then clear it when
        we're done.

        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::stop):
        (WebCore::FileWriter::write):
        (WebCore::FileWriter::didWrite):
        (WebCore::FileWriter::didFail):
        * fileapi/FileWriter.h:

2010-10-11  Michael Saboff  <msaboff@apple.com>

        Reviewed by Darin Adler.

        Changed DOMWindow to have a constructor.  Updated the code generator
        to add security checks to the constructors if CheckDomainSecurity is 
        set.  Also changed the constructor generation code to use 
        globalObject->prototype() for DOMWindow object prototypes instead
        of "self".
        https://bugs.webkit.org/show_bug.cgi?id=47422

        Test: fast/dom/Window/window-constructor.html

        * bindings/scripts/CodeGeneratorJS.pm:
        * page/DOMWindow.idl:

2010-10-11  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
        https://bugs.webkit.org/show_bug.cgi?id=44992

        In order to allow a graceful transition, ChromiumDataObject has been
        reimplemented as a wrapper around the three different types of data
        objects that the Chrome port uses:
        1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
           All the data that ClipboardChromium/DragDataChromium can potentially
           use is copied over, regardless of whether or not it is needed.
        2. ReadableDataObject -- used for dragging in and pasting into WebKit.
           For efficiency, it caches an optimistic list of types it believes it
           can handle. When getData() is called, a browser IPC is called to
           retrieve the appropriate data.
        3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
           buffers all data when dragging out of WebKit or copying/cutting.
           Unfortunately, there is a difference between dragging out and
           copying/cutting--on drag outs, the data is buffered and flushed out
           when startDrag() is called. For copy/cut, any calls to setData()
           result in a browser IPC right away, so calls to setData() in one
           copy/cut event are not atomic.

        Copy and paste has been changed to use the new data objects. Dragging
        out uses the legacy data object, and dragging in now has two potential
        entry points--one using the legacy data object, and one using
        ReadableDataObject. Once Chromium transitions to using the new drag-in
        interface, the old interface will be removed.

        This change is covered by existing tests.

        * WebCore.gypi:
        * editing/chromium/EditorChromium.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        (WebCore::ChromiumDataObject::create):
        (WebCore::ChromiumDataObject::createReadable):
        (WebCore::ChromiumDataObject::createWritable):
        (WebCore::ChromiumDataObject::clearData):
        (WebCore::ChromiumDataObject::clearAll):
        (WebCore::ChromiumDataObject::clearAllExceptFiles):
        (WebCore::ChromiumDataObject::hasData):
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::setData):
        (WebCore::ChromiumDataObject::urlTitle):
        (WebCore::ChromiumDataObject::setUrlTitle):
        (WebCore::ChromiumDataObject::htmlBaseUrl):
        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
        (WebCore::ChromiumDataObject::containsFilenames):
        (WebCore::ChromiumDataObject::filenames):
        (WebCore::ChromiumDataObject::setFilenames):
        (WebCore::ChromiumDataObject::fileExtension):
        (WebCore::ChromiumDataObject::setFileExtension):
        (WebCore::ChromiumDataObject::fileContentFilename):
        (WebCore::ChromiumDataObject::setFileContentFilename):
        (WebCore::ChromiumDataObject::fileContent):
        (WebCore::ChromiumDataObject::setFileContent):
        * platform/chromium/ChromiumDataObject.h:
        * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
        (WebCore::ChromiumDataObjectLegacy::clearData):
        (WebCore::ChromiumDataObjectLegacy::clearAll):
        (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
        (WebCore::ChromiumDataObjectLegacy::hasData):
        (WebCore::ChromiumDataObjectLegacy::types):
        (WebCore::ChromiumDataObjectLegacy::getData):
        (WebCore::ChromiumDataObjectLegacy::setData):
        (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
        * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
        (WebCore::ChromiumDataObjectLegacy::create):
        (WebCore::ChromiumDataObjectLegacy::copy):
        (WebCore::ChromiumDataObjectLegacy::urlTitle):
        (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
        (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
        (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
        (WebCore::ChromiumDataObjectLegacy::containsFilenames):
        (WebCore::ChromiumDataObjectLegacy::filenames):
        (WebCore::ChromiumDataObjectLegacy::setFilenames):
        (WebCore::ChromiumDataObjectLegacy::fileExtension):
        (WebCore::ChromiumDataObjectLegacy::setFileExtension):
        (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
        (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
        (WebCore::ChromiumDataObjectLegacy::fileContent):
        (WebCore::ChromiumDataObjectLegacy::setFileContent):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::create):
        * platform/chromium/ClipboardChromium.h:
        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::ReadableDataObject::getData):
        * platform/chromium/WritableDataObject.cpp:
        (WebCore::WritableDataObject::setData):

2010-10-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Remove WebIconFetcher from WebKit and IconFetcher from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=47523

        Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconFetcher.cpp: Removed.
        * loader/icon/IconFetcher.h: Removed.

2010-10-11  Jia Pu  <jpu@apple.com>

        Reviewed by Adele Peterson.

        Should commit pending autocorrection before next round of text checking.
        https://bugs.webkit.org/show_bug.cgi?id=46986
        <rdar://problem/8424535>

        1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
        2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
           selection changes, which occurs after every typing command.

        * editing/Editor.cpp:
        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
          in m_correctionReplacementString.
        (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
        * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.

2010-10-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam Barth.

        Make fast/canvas/webgl/glsl-conformance pass again
        https://bugs.webkit.org/show_bug.cgi?id=47525

        Remove incorrect call to glGetShaderiv, so it is only
        called in the case where we don't have our own simulated
        log.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getShaderInfoLog):

2010-10-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add WebKit2 equivalents for setValueForUser and setAutoFilled
        <rdar://problem/8475934>
        https://bugs.webkit.org/show_bug.cgi?id=47524

        * WebCore.exp.in: Add needed export.

2010-10-11  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
        https://bugs.webkit.org/show_bug.cgi?id=47508

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitIndexedDB):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2010-10-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
        https://bugs.webkit.org/show_bug.cgi?id=47509

        * WebCore.exp.in: Export toNode.

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

        Reviewed by Tony Chang.

        [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
        https://bugs.webkit.org/show_bug.cgi?id=47244

        Store the URI list as a String in DataObjectGtk, so that non-URI elements
        are preserved when getData(...) is called. This necessitates some other
        changes, including adding a m_filenames member to DataObjectGtk to store
        filenames extracted during setURIList(...). The logic in getData(...) has
        also changed to set success = true no matter what to match the spec. A
        followup patch will remove this parameter completely for all platforms.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
        spec and Firefox. Simply return the uriList string from the DataObject
        instead of reconstructing it from a vector of KURLs.
        (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
        for the uriList parameter.
        (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
        DataObjectGtk::hasFilenames().
        (WebCore::ClipboardGtk::files): Update to reflect the change from
        DataObjectGtk::files() to DataObjectGtk::filenames().
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
        first valid URL to use as the m_url member and also extract a list of filenames
        from the URI list.
        (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
        (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
        also leave a comment explaining why we do not clear filenames here.
        * platform/gtk/DataObjectGtk.h:
        (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
        (WebCore::DataObjectGtk::uriList): Ditto.
        (WebCore::DataObjectGtk::filenames): Added.
        (WebCore::DataObjectGtk::hasURL): Now a simple check.
        (WebCore::DataObjectGtk::hasFilenames): Added.
        (WebCore::DataObjectGtk::clearURIList): Simple setter.
        (WebCore::DataObjectGtk::clearURL): Ditto.
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
        (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
        (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.

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

        Reviewed by Kenneth Russell.

        [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
        https://bugs.webkit.org/show_bug.cgi?id=47241

        Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
        if there is no drawingContext associated with the canvas.

        Test: fast/canvas/access-zero-sized-canvas.html
              fast/canvas/canvas-skia-excessive-size.html
              fast/canvas/toDataURL-noData.html
        with --accelerated-compositing and --accelerated-2d-canvas

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::reset):

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

        Reviewed by Gustavo Noronha Silva.

        [GTK] Cleanup font selection code for the Freetype backend
        https://bugs.webkit.org/show_bug.cgi?id=47503

        Do some miscellaneous cleanup work in the Freetype font font selection backend.

        * platform/graphics/cairo/FontCacheFreeType.cpp:
        (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
        a WebCore String.
        (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
        handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
        comparisons using WebCore Strings. Remove a large block comment that originated from a
        Apache-licensed file.

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

        Reviewed by Gustavo Noronha Silva.

        [GTK] Buttons activated with the keyboard should be painted as clicked
        https://bugs.webkit.org/show_bug.cgi?id=18364

        When a button is pressed, force it into the hovered state as far as the
        Mozilla theme drawing code is concerned. This bug also seems to be an
        issue for Firefox. When we switch away from the Mozilla theme drawing
        code this work-around should no longer be necessary.

        No new tests. I was not able to generate a pixel test for this issue. It
        seems that our DRT does not have the necessary infrastructure to generate a
        pixel dump while a button is in the pressed state.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintRenderObject):

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

        Unreviewed. Build fix.

        * bindings/js/JSArrayBufferCustom.cpp:
        * bindings/js/JSArrayBufferViewCustom.cpp:
        * bindings/js/JSFloat32ArrayCustom.cpp:
        * bindings/js/JSInt16ArrayCustom.cpp:
        * bindings/js/JSInt32ArrayCustom.cpp:
        * bindings/js/JSInt8ArrayCustom.cpp:
        * bindings/js/JSUint16ArrayCustom.cpp:
        * bindings/js/JSUint32ArrayCustom.cpp:
        * bindings/js/JSUint8ArrayCustom.cpp:
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:

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

        Unreviewed WinCairo build fixes.

        * platform/network/curl/ResourceResponse.h: Correct forward declaration
        for CFURLResponseRef.
        * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
        header file to avoid build failure on non-VIDEO builds.

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

        Reviewed by Adam Barth.

        Add File API feature guard to all typed array files
        https://bugs.webkit.org/show_bug.cgi?id=47437

        Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
        we need to update all type array files to include File API feature guard
        in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
        XMLHttpRequest, we will then remove all the guards. This is per the
        discussion on webkit-dev mailing list:
        https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html

        * html/canvas/ArrayBuffer.cpp:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.cpp:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/Float32Array.cpp:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.cpp:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.cpp:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.cpp:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.cpp:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.cpp:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.cpp:
        * html/canvas/Uint8Array.idl:

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

        Build fix (implicit float conversion in Path.cpp)

        * platform/graphics/Path.cpp:

2010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Refactor Plugin X Pixmap painting code to a separate function

        The refactored function will be used for rendering by the Accelerated
        Composition enabled graphics layer.

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

        * plugins/PluginView.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::paintUsingXPixmap):
        (WebCore::PluginView::paint):

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

        Reviewed by Dirk Schulze.

        SVG: Remove "create" methods and use port-specific "add" counterparts
        https://bugs.webkit.org/show_bug.cgi?id=46052

        Circles and ellipses will be significantly faster on platforms that
        implement Path::addEllipse() in a sane fashion.

        Also, a lot of Path copying has been factored out by changing functions
        that would return Paths to take Path& arguments instead (toPathData, toClipPath)

        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::clipOutRoundedRect):
        * platform/graphics/Path.cpp:
        (WebCore::pathLengthApplierFunction):
        (WebCore::Path::addRoundedRect):
        * platform/graphics/Path.h:
        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::drawRectShadowWithoutTiling):
        (WebCore::ContextShadow::drawRectShadow):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawTiledShadow):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::layout):
        * rendering/svg/RenderSVGTextPath.cpp:
        (WebCore::RenderSVGTextPath::layoutPath):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::animationPath):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::toPathData):
        * svg/SVGCircleElement.h:
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::toPathData):
        * svg/SVGEllipseElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::toPathData):
        * svg/SVGLineElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getTotalLength):
        (WebCore::SVGPathElement::getPointAtLength):
        (WebCore::SVGPathElement::toPathData):
        * svg/SVGPathElement.h:
        * svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::toPathData):
        * svg/SVGPolygonElement.h:
        * svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::toPathData):
        * svg/SVGPolylineElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::toPathData):
        * svg/SVGRectElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::toClipPath):
        * svg/SVGStyledTransformableElement.h:
        (WebCore::SVGStyledTransformableElement::toPathData):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::toClipPath):
        * svg/SVGUseElement.h:

2010-10-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        [ES5] Implement strict mode
        https://bugs.webkit.org/show_bug.cgi?id=10701

        Test: fast/js/basic-strict-mode.html

        Override toStrictThisObject on the domwindow so that
        it correctly provides the shell object when used as this
        in a strict mode function.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::toStrictThisObject):
        * bindings/js/JSDOMWindowBase.h:

2010-10-11  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Eric Carlson.

        CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
        https://bugs.webkit.org/show_bug.cgi?id=46777

        Another case that could lead to an improper set of states between
        m_currentNode and m_loadingState. Also added an ASSERT and early
        return to prevent crashes if this case can still happen in other ways.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::prepareForLoad):

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

        Reviewed by Darin Adler.

        spellcheck="false" not respected in designMode
        https://bugs.webkit.org/show_bug.cgi?id=39978

        The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
        Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
        this caused us to ignore body element's spellcheck attribute.

        Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
        when the parent node of body elements (namely html element) is editable.

        Test: editing/spelling/design-mode-spellcheck-off.html

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::supportsFocus): Added.
        * html/HTMLBodyElement.h:

2010-10-11  Oliver Hunt  <oliver@apple.com>

        Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getShaderInfoLog):

2010-10-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Andreas Kling.

        Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
        https://bugs.webkit.org/show_bug.cgi?id=47494

        Working on another patch I found that there was some screwy behaviour
        when dealing with logs from GL.  GL_INFO_LOG_LENGTH is defined as being
        zero if there is no log message, but we did not check for that case and
        simply perfomed a zero sized alloc and passed the resultant buffer to
        glGetShaderInfoLog, etc.  glGetShaderInfoLog would then write a null
        terminator to the buffer, thus causing an overflow.  This is obviously
        not a problem in practice as allocations are at least 4 bytes long in
        all common allocators, but it is still a bug.

        I also removed some unnecessary null checks following calls to fastMalloc.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getShaderInfoLog):

2010-10-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        Kill Path::debugString()
        https://bugs.webkit.org/show_bug.cgi?id=47493

        Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.

        * platform/graphics/Path.h:
        * platform/graphics/cairo/PathCairo.cpp:
        * platform/graphics/cg/PathCG.cpp:
        * platform/graphics/haiku/PathHaiku.cpp:
        * platform/graphics/openvg/PathOpenVG.cpp:
        * platform/graphics/qt/PathQt.cpp:
        * platform/graphics/skia/PathSkia.cpp:
        * platform/graphics/wince/PathWinCE.cpp:
        * platform/graphics/wince/PlatformPathWinCE.cpp:
        * platform/graphics/wince/PlatformPathWinCE.h:
        * platform/graphics/wx/PathWx.cpp:
        * svg/SVGGlyphElement.h:
        (WebCore::SVGGlyphIdentifier::operator==):

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

        Reviewed by Xan Lopez.

        [GTK] Search field icons should be centered vertically in the field
        https://bugs.webkit.org/show_bug.cgi?id=47441

        Center search field icons vertically in the search field.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::centerRectVerticallyInParentInputElement): Added this helper.
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
        field icon by adjusting its drawing rect relative to the containing search field.
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.

2010-10-11  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: fix event listener breakpoints sidebar pane style
        https://bugs.webkit.org/show_bug.cgi?id=47487

        * inspector/front-end/inspector.css:
        (.section .properties, .event-bar .event-properties):
        (.section.expanded .properties, .event-bar.expanded .event-properties):
        (.properties-tree):
        (.properties-tree li):
        (.properties-tree li.parent):
        (.properties-tree li.parent::before):
        (.properties-tree li.parent.expanded::before):
        (.properties-tree li .info):
        (.properties-tree ol, .stack-trace ol, ol.stack-trace):
        (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
        (ol.stack-trace):
        (.event-listener-breakpoints .event-category):
        (.event-listener-breakpoints.properties-tree .children li):
        (.event-listener-breakpoints .checkbox-elem):
        (.breakpoint-list .breakpoint-hit):

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

        Reviewed by Tor Arne Vestbø.

        [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible

        Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
        when clearing an already empty QPainterPath. Avoids one delete+new.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::beginPath):

2010-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed. Remove unnecessary GTK+ and Pango includes.

        * platform/gtk/FileChooserGtk.cpp:
        * platform/gtk/Language.cpp:

2010-10-11  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Support DirectoryEntry.removeRecursively for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=47400

        Also disallows remove/removeRecursively on the root directory.

        Test: fast/filesystem/op-remove.html

        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::removeRecursively): Added.
        * fileapi/DOMFileSystemBase.h:
        * fileapi/DirectoryEntry.cpp:
        (WebCore::DirectoryEntry::removeRecursively): Added.
        * fileapi/DirectoryEntry.h:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.cpp:
        (WebCore::DirectoryEntrySync::removeRecursively): Added.
        * fileapi/DirectoryEntrySync.h:
        * fileapi/DirectoryEntrySync.idl:
        * platform/AsyncFileSystem.h:

2010-10-11  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG feImage take preserveAspectRatio into account for absolute paint rect
        https://bugs.webkit.org/show_bug.cgi?id=47464

        Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.

        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::determineAbsolutePaintRect):
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFEImage.h:

2010-10-10  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        <rdar://problem/8510200> Lines flow around a float that has been removed 

        Overhanging floats are not added to flexible boxes since they behave like
        block formatting contexts. This causes the intruding floats added in siblings
        to not get cleared. Enforce the float release by checking if the parent is a
        flexible box and if yes, use that as the outermost block.
        
        https://bugs.webkit.org/show_bug.cgi?id=47104

        Test: fast/flexbox/overhanging-floats-removed.html

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

2010-10-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: if aria-live is on a <span> or ignored element, live regions don't work
        https://bugs.webkit.org/show_bug.cgi?id=47443

        If an element has aria attributes, but has no other native role associated with it,
        accessibility should fallback to exposing that element as an AXGroup.

        Test: platform/mac/accessibility/live-region-on-span.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):

2010-10-10  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Adam Barth.

        [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
        https://bugs.webkit.org/show_bug.cgi?id=47419

        This was a regression introduced in r68807. mimeTypeText had the incorrect
        value.

        Test: editing/pasteboard/dataTransfer-setData-getData.html

        * platform/chromium/ClipboardMimeTypes.cpp:

2010-10-09  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Andreas Kling.

        FileWriter sends write event instead of progress event
        https://bugs.webkit.org/show_bug.cgi?id=47454

        No new tests; FileWriter tests will be added shortly, but currently
        there's no implementation capable of running them.

        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::didWrite):

2010-10-09  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fast-path in Path::clear() for already empty paths
        https://bugs.webkit.org/show_bug.cgi?id=47460

        The only way to clear a QPainterPath is to assign QPainterPath() to it.
        Avoid creating a temporary object etc if the path is already empty.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::clear):

2010-10-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Redo in ReplaceNodeWithSpanCommand is broken
        https://bugs.webkit.org/show_bug.cgi?id=47428

        The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
        and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
        directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
        only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.

        Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
        This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.

        Test: editing/undo/replace-by-span-then-remove.html

        * editing/ReplaceNodeWithSpanCommand.cpp:
        (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
        * editing/ReplaceNodeWithSpanCommand.h:

2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Implement subregion rendering in WebView when using gtk3
        https://bugs.webkit.org/show_bug.cgi?id=47411

        * GNUmakefile.am:
        * platform/graphics/FloatRect.h:
        * platform/graphics/cairo/FloatRectCairo.cpp: Added.
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator cairo_rectangle_t):

2010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Implement subregion rendering in WebView when using gtk3
        https://bugs.webkit.org/show_bug.cgi?id=47411

        * GNUmakefile.am:
        * platform/graphics/FloatRect.h:
        * platform/graphics/cairo/FloatRectCairo.cpp: Added.
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator cairo_rectangle_t):

2010-10-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Andreas Kling.

        Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
        https://bugs.webkit.org/show_bug.cgi?id=47114

        PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).

        * platform/graphics/skia/PlatformContextSkia.h:

2010-10-09  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Use WTF::StringHasher for hashing MappedAttributeKey
        https://bugs.webkit.org/show_bug.cgi?id=46516

        * dom/StyledElement.cpp:
        (WebCore::MappedAttributeHash::hash):

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

        Reviewed by Xan Lopez.

        [Gtk] Non-rectangular buttons have a square background behind them
        https://bugs.webkit.org/show_bug.cgi?id=23569

        Remove some code which was clearing pieces of the GdkDrawable if it was
        currently mapped to a window. In our case it is unnecessary, because the
        platform-independent parts of the render have already cleared this section
        if it is needed.

        Mozilla must not trip this code path, which means they are probably rendering
        most often to a non-mapped GdkPixmap.

        No new tests as some themed rendering is covered by existing tests that
        render buttons. This particular bug is very hard to test as it only appears
        with certain GTK+ themes and we currently have no mechanism to test different
        themes in DRT.

        * platform/gtk/gtk2drawing.c:
        (moz_gtk_button_paint): Remove unnecessary code.

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

        Reviewed by Xan Lopez.

        [GTK] Slider padding translate into a larger track rect
        https://bugs.webkit.org/show_bug.cgi?id=47435

        Instead of painting the track rectangle for ranges onto the entire RenderBox
        rectangle, simply paint it on the content rectangle. This prevents misrendering
        sliders with padding.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
        of the slider instead of the entire area (which includes padding).

2010-10-09  Kent Tamura  <tkent@chromium.org>

        Unreviewed, trivial regression fix for r69445.

        RangeInputType::supportsRequired() should return false.
        https://bugs.webkit.org/show_bug.cgi?id=47405

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::supportsRequired):
        * html/RangeInputType.h:

2010-10-09  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
        isRequiredFormControl(), and recalcWillValidate()
        https://bugs.webkit.org/show_bug.cgi?id=47405

        Also make checkedRadioButtons() an inline member function of
        HTMLInputElement in order that RadioInputType can use it.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::typeMismatchFor):
        (WebCore::BaseDateAndTimeInputType::typeMismatch):
        * html/BaseDateAndTimeInputType.h:
        * html/ButtonInputType.cpp:
        (WebCore::ButtonInputType::supportsValidation):
        * html/ButtonInputType.h:
        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::valueMissing):
        * html/CheckboxInputType.h:
        * html/ColorInputType.cpp:
        (WebCore::isValidColorString):
        (WebCore::ColorInputType::typeMismatchFor):
        (WebCore::ColorInputType::typeMismatch):
        (WebCore::ColorInputType::supportsRequired):
        * html/ColorInputType.h:
        * html/EmailInputType.cpp:
        (WebCore::isValidEmailAddress):
        (WebCore::EmailInputType::typeMismatchFor):
        (WebCore::EmailInputType::typeMismatch):
        * html/EmailInputType.h:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::valueMissing):
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        (WebCore::HTMLInputElement::isValidValue):
        (WebCore::HTMLInputElement::typeMismatch):
        (WebCore::HTMLInputElement::valueMissing):
        (WebCore::HTMLInputElement::isKeyboardFocusable):
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        (WebCore::HTMLInputElement::isRequiredFormControl):
        (WebCore::HTMLInputElement::recalcWillValidate):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::checkedRadioButtons):
        * html/HiddenInputType.cpp:
        (WebCore::HiddenInputType::supportsValidation):
        * html/HiddenInputType.h:
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::supportsValidation):
        * html/ImageInputType.h:
        * html/InputType.cpp:
        (WebCore::InputType::supportsValidation):
        (WebCore::InputType::typeMismatchFor):
        (WebCore::InputType::typeMismatch):
        (WebCore::InputType::supportsRequired):
        (WebCore::InputType::valueMissing):
        * html/InputType.h:
        * html/IsIndexInputType.cpp:
        (WebCore::IsIndexInputType::supportsRequired):
        * html/IsIndexInputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::typeMismatchFor):
        (WebCore::NumberInputType::typeMismatch):
        * html/NumberInputType.h:
        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::valueMissing):
        * html/RadioInputType.h:
        * html/ResetInputType.cpp:
        (WebCore::ResetInputType::supportsValidation):
        * html/ResetInputType.h:
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::supportsValidation):
        * html/SubmitInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::valueMissing):
        * html/TextFieldInputType.h:
        * html/URLInputType.cpp:
        (WebCore::URLInputType::typeMismatchFor):
        (WebCore::URLInputType::typeMismatch):
        * html/URLInputType.h:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):

2010-10-09  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=47450
        Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
        <rdar://problem/8244376>

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
        NULL, return early to avoid crash.

2010-10-08  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Add HRTFPanner files
        https://bugs.webkit.org/show_bug.cgi?id=46299

        No new tests since audio API is not yet implemented.

        * platform/audio/HRTFPanner.cpp: Added.
        (WebCore::HRTFPanner::HRTFPanner):
        (WebCore::HRTFPanner::~HRTFPanner):
        (WebCore::HRTFPanner::fftSizeForSampleRate):
        (WebCore::HRTFPanner::reset):
        (WebCore::wrapDistance):
        (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
        (WebCore::HRTFPanner::pan):
        * platform/audio/HRTFPanner.h: Added.
        (WebCore::HRTFPanner::fftSize):
        (WebCore::HRTFPanner::sampleRate):

2010-10-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Adam Barth.

        Avoid inlining large and/or virtual functions in widely included header files
        https://bugs.webkit.org/show_bug.cgi?id=47230

        Functions with very large bodies should not be included in widely included header files.
        This results in the function's code ending up included in hundreds of object files that
        the linker has to discard, at a cost of linker memory use, link time, and disk space. This
        is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
        virtual address space and completely fails to link.

        This patch moves function definitions from the .h to the corresponding .cpp when the function
        is large and not a candidate for inlining either because it is virtual or because its size is
        above any reasonable compiler's threshhold for inlining.  The most common case by far in this
        patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
        the header and an explicitly defined d'tor in the .cpp.  This is important since many of our
        container and utility classes (especially Vector, String, and HashSet) have quite large
        destructors.

        This patch removes 22.4MB of object file size in a debug 64 bit compile.

        * css/CSSBorderImageValue.cpp:
        (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
        * css/CSSBorderImageValue.h:
        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
        * css/CSSFontFaceSrcValue.h:
        * css/CSSFunctionValue.h:
        * dom/BeforeTextInsertedEvent.cpp:
        (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
        * dom/BeforeTextInsertedEvent.h:
        * dom/BeforeUnloadEvent.cpp:
        (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
        * dom/BeforeUnloadEvent.h:
        * dom/ClassNodeList.h:
        * dom/ClipboardEvent.cpp:
        (WebCore::ClipboardEvent::~ClipboardEvent):
        * dom/ClipboardEvent.h:
        * dom/CustomEvent.cpp:
        (WebCore::CustomEvent::~CustomEvent):
        * dom/CustomEvent.h:
        * dom/Element.cpp:
        * dom/Element.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTargetData::EventTargetData):
        * dom/EventTarget.h:
        * dom/InputElement.cpp:
        (WebCore::InputElementData::~InputElementData):
        * dom/InputElement.h:
        * dom/MutationEvent.cpp:
        (WebCore::MutationEvent::~MutationEvent):
        * dom/MutationEvent.h:
        * dom/Node.cpp:
        (WebCore::Node::refEventTarget):
        (WebCore::Node::derefEventTarget):
        * dom/Node.h:
        * dom/OptionElement.cpp:
        (WebCore::OptionElementData::~OptionElementData):
        * dom/OptionElement.h:
        * dom/PopStateEvent.cpp:
        (WebCore::PopStateEvent::~PopStateEvent):
        * dom/PopStateEvent.h:
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::~QualifiedName):
        * dom/QualifiedName.h:
        * dom/SelectElement.cpp:
        (WebCore::SelectElementData::~SelectElementData):
        * dom/SelectElement.h:
        * dom/StaticHashSetNodeList.cpp:
        (WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
        (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
        * dom/StaticHashSetNodeList.h:
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::~StyleElement):
        * dom/StyleElement.h:
        * dom/TouchEvent.cpp:
        (WebCore::TouchEvent::TouchEvent):
        (WebCore::TouchEvent::~TouchEvent):
        * dom/TouchEvent.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::~CompositeEditCommand):
        * editing/CompositeEditCommand.h:
        * editing/TextIterator.cpp:
        (WebCore::BitStack::~BitStack):
        (WebCore::TextIterator::~TextIterator):
        (WebCore::WordAwareIterator::~WordAwareIterator):
        * editing/TextIterator.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::~InspectorObject):
        (WebCore::InspectorObject::InspectorObject):
        (WebCore::InspectorArray::~InspectorArray):
        (WebCore::InspectorArray::InspectorArray):
        * inspector/InspectorValues.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::registerHandle):
        (WebCore::CachedResource::unregisterHandle):
        * loader/CachedResource.h:
        * platform/network/HTTPHeaderMap.cpp:
        (WebCore::HTTPHeaderMap::HTTPHeaderMap):
        (WebCore::HTTPHeaderMap::~HTTPHeaderMap):
        (WebCore::HTTPHeaderMap::get):
        (WebCore::HTTPHeaderMap::add):
        * platform/network/HTTPHeaderMap.h:
        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::~RenderApplet):
        * rendering/RenderApplet.h:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::~RenderButton):
        * rendering/RenderButton.h:
        * rendering/RenderCounter.cpp:
        (WebCore::RenderCounter::~RenderCounter):
        * rendering/RenderCounter.h:
        * rendering/RenderFieldset.h:
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::~RenderForeignObject):
        * rendering/RenderForeignObject.h:
        * rendering/RenderFrame.h:
        * rendering/RenderFrameBase.h:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderIFrame.h:
        * rendering/RenderInline.h:
        * rendering/RenderListItem.h:
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::~RenderMarquee):
        * rendering/RenderMarquee.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::~RenderPath):
        * rendering/RenderPath.h:
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::~RenderSVGContainer):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGHiddenContainer.h:
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::~RenderSVGInlineText):
        * rendering/RenderSVGInlineText.h:
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGResourceFilterPrimitive.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::~RenderSVGRoot):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGTSpan.h:
        * rendering/RenderSVGText.h:
        * rendering/RenderSVGTextPath.h:
        * rendering/RenderSVGTransformableContainer.h:
        * rendering/RenderSVGViewportContainer.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::~RenderTable):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.h:
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::~RenderTextFragment):
        * rendering/RenderTextFragment.h:
        * rendering/RenderWordBreak.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::~SVGStyledElement):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
        * svg/SVGStyledTransformableElement.h:
        * xml/XPathParser.cpp:
        (WebCore::XPath::Parser::~Parser):
        * xml/XPathParser.h:

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

        Reviewed by Daniel Bates.

        [GTK] Fails /LayoutTests/fast/css/button-height.html
        https://bugs.webkit.org/show_bug.cgi?id=33936

        GTK buttons honor height property set via CSS. The code for the method
        adjustButtonStyle originates from the original GTK+ theme drawing code
        and is clearly just a copy-paste from the Safari theme drawing code. The
        Safari theme drawing code does quite a bit of work to ensure that button
        fonts are consistent with the system theme, which is not something the GTK+
        port does.

        This change brings the method more in line with the Chromium port, which
        allows CSS to style buttons, only overriding the line-height property,
        which is required for layout tests to pass.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
        properties for button styling.

2010-10-08  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        popstate events are lost when network connection is in progress
        https://bugs.webkit.org/show_bug.cgi?id=42940
        
        Instead of checking FrameLoader::isComplete() (which isn't true if the
        document's resource loader has requests outstanding), check that the
        document's readyState is complete, as the spec says.

        Test: http/tests/history/popstate-fires-with-pending-requests.html

        * dom/Document.cpp:
        (WebCore::Document::statePopped):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument): Added call to set readyState
        to Loading earlier. Otherwise, readyState's initial value is Complete,
        and we only set it to Loading in Document::implicitOpen (which is called
        after FrameLoader::didBeginDocument by DocumentWriter::begin), so we 
        could end up in Document::statePopped and have the readyState be
        Complete, even if we hadn't even begin loading the document.

2010-10-08  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
        https://bugs.webkit.org/show_bug.cgi?id=47394

        Minor cleanup--these classes have suffered from bit rot since they aren't
        actively used at the moment. The three main changes are to:
        1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
           setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
           title and HTML base URL.
        2) Use Clipboard::ClipboardType instead of a bool.
        3) Remove the use of virtuals, as they are no longer needed..

        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::clipboardBuffer):
        (WebCore::ReadableDataObject::create):
        (WebCore::ReadableDataObject::ReadableDataObject):
        (WebCore::ReadableDataObject::getData):
        (WebCore::ReadableDataObject::urlTitle): renamed from getURL
        (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
        (WebCore::ReadableDataObject::containsFilenames):
        (WebCore::ReadableDataObject::filenames):
        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
        * platform/chromium/ReadableDataObject.h:
        * platform/chromium/WritableDataObject.cpp:
        (WebCore::WritableDataObject::create):
        (WebCore::WritableDataObject::WritableDataObject):
        (WebCore::WritableDataObject::setData):
        * platform/chromium/WritableDataObject.h:
        (WebCore::WritableDataObject::setUrlTitle): renamed from setURL
        (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
        (WebCore::WritableDataObject::dataMap):
        (WebCore::WritableDataObject::urlTitle):
        (WebCore::WritableDataObject::htmlBaseURL):
        (WebCore::WritableDataObject::fileExtension):
        (WebCore::WritableDataObject::fileContentFilename):
        (WebCore::WritableDataObject::fileContent):
        (WebCore::WritableDataObject::setFileExtension):
        (WebCore::WritableDataObject::setFileContentFilename):
        (WebCore::WritableDataObject::setFileContent):

2010-10-08  Abhishek Arya  <inferno@chromium.org>

        Unreviewed, rolling out r69360.
        http://trac.webkit.org/changeset/69360
        https://bugs.webkit.org/show_bug.cgi?id=46921

        Test still crashing on chromium test_shell

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

2010-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r68574.
        http://trac.webkit.org/changeset/68574
        https://bugs.webkit.org/show_bug.cgi?id=47433

        [chromium] Breaks partial repaint of images while scrolling
        (Requested by jamesr on #webkit).

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

2010-10-08  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
        https://bugs.webkit.org/show_bug.cgi?id=47430

        Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged): imageChanged() can be called prior
        to m_imageResource being set. The appropriate thing to do in this case
        is to return early.
        (WebCore::RenderImage::notifyFinished): Ditto.

2010-10-08  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IndexedDB does not have a quota mechanism.
        https://bugs.webkit.org/show_bug.cgi?id=47389

        Test: storage/indexeddb/database-quota.html

        Add a simple mechanism for enforcing a maximum size
        for each origin using IndexedDB. Note that this depends
        on having one SQLite database file per origin, which is
        addressed in a separate patch.

        * page/GroupSettings.cpp:
        (WebCore::GroupSettings::GroupSettings):
        (WebCore::GroupSettings::setIndexedDBQuotaBytes):
        * page/GroupSettings.h:
        (WebCore::GroupSettings::indexedDBQuotaBytes):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::openSQLiteDatabase):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::putObjectStoreData):
        (WebCore::putIndexData):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        * storage/IDBObjectStoreBackendImpl.h:

2010-10-08  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        Output X-Purpose header for prefetch requests
        https://bugs.webkit.org/show_bug.cgi?id=46529

        Test: http/tests/misc/prefetch-purpose.html

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests):

2010-10-08  James Kozianski  <koz@chromium.org>

        Reviewed by Simon Fraser.

        Crash on reload when CSS property 'content' has malformed URL.
        https://bugs.webkit.org/show_bug.cgi?id=47322

        Make CSSStyleSelector handle the case where a cached image can't be
        produced due to a malformed URL.

        Test: fast/css-generated-content/malformed-url.html

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

2010-10-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG feImage needs absolute subregion for preserveAspectRatio
        https://bugs.webkit.org/show_bug.cgi?id=47409

        PreserverAspectRatio needs the subregion in absolute coordinates to determine
        the destination position and size of the input image. The maxEffectRect() already
        stores the absolute subregion, but clipped to the filter region.

        Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg

        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::apply):
        * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
        (WebCore::FilterEffect::filterEffectType):
        * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
        (WebCore::SourceAlpha::filterEffectType):
        * platform/graphics/filters/SourceGraphic.h: Ditto.
        (WebCore::SourceGraphic::filterEffectType):
        * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFEImage.h: Ditto.
        (WebCore::FEImage::setAbsoluteSubregion):
        (WebCore::FEImage::filterEffectType):
        * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
        (WebCore::SVGFilter::determineFilterPrimitiveSubregion):

2010-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        gradient stroke on lines does not work
        https://bugs.webkit.org/show_bug.cgi?id=40985

        Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.
        Perfectly matches Opera, and now lets us pass three of the new tests.

        Fix incorrect svg/custom/invalid-fill* tests:
        -> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg)
        -> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg)

        Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers.
        As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition.

        Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
               svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
               svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg

        * rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions.
        (WebCore::requestPaintingResource):
        (WebCore::RenderSVGResource::fillPaintingResource):
        (WebCore::RenderSVGResource::strokePaintingResource):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines).
        (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
        (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
        (WebCore::clipToTextMask):
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once.
        * rendering/RenderSVGResourceLinearGradient.cpp:
        (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient.
        (WebCore::RenderSVGResourceLinearGradient::buildGradient):
        * rendering/RenderSVGResourceLinearGradient.h:
        (WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData.
        (WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto.
        * rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines).
        (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
        (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
        (WebCore::RenderSVGResourcePattern::applyResource):
        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
        * rendering/RenderSVGResourcePattern.h:
        * rendering/RenderSVGResourceRadialGradient.cpp:
        (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
        (WebCore::RenderSVGResourceRadialGradient::buildGradient):
        * rendering/RenderSVGResourceRadialGradient.h:
        (WebCore::RenderSVGResourceRadialGradient::boundingBoxMode):
        (WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform):
        * rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter.
        (WebCore::writeStyle):
        (WebCore::writeSVGResourceContainer):
        * rendering/svg/RenderSVGPath.cpp: 
        (WebCore::RenderSVGPath::fillContains): Ditto.
        (WebCore::RenderSVGPath::strokeContains): Ditto.
        (WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply.
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto.
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy.
        * svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning.
        * svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes.
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy.
        * svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.

2010-10-08  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Slider widgets looks bad on Mac
        https://bugs.webkit.org/show_bug.cgi?id=47421

        This patch change the rendering of the slider to only have the
        subcontrols that would be defined by default on a QSlider.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintSliderTrack):

2010-10-08  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Andreas Kling.

        SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=47342

        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.

        Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html
               svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html
               svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html
               svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html

        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
        * svg/SVGFEColorMatrixElement.h:

2010-10-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: save InspectorController in instrumentation cookie
        https://bugs.webkit.org/show_bug.cgi?id=47406

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluate):
        (WebCore::V8Proxy::callFunction):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * inspector/InspectorInstrumentation.cpp:
        * inspector/InspectorInstrumentation.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::fired):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):

2010-10-08  Adam Roben  <aroben@apple.com>

        Windows Release build fix for 32-bit systems

        WebCore had once again grown too large for the linker's virtual
        address space on 32-bit systems. I combined WebCore/rendering,
        WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files,
        and added a few more files to RenderSVGAllInOne.cpp.

        Fixes <http://webkit.org/b/47417> <rdar://problem/8529362>

        * WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and
        excluded the individual files they contain from the build.

        * rendering/RenderSVGAllInOne.cpp: Added a few more files to this.

        * dom/DOMAllInOne.cpp: Added.
        * rendering/RenderingAllInOne.cpp: Added.
        * rendering/style/StyleAllInOne.cpp: Added.

2010-10-08  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Andreas Kling.

        [Qt] Use constBegin and constEnd when using const iterators

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
        (WebCore::GraphicsLayerQtImpl::updateTransform):
        (WebCore::GraphicsLayerQtImpl::flushChanges):

2010-10-07  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add resource viewer to the network panel.
        https://bugs.webkit.org/show_bug.cgi?id=47346

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype.autoSizeColumns):
        (WebInspector.DataGrid.prototype.updateWidths):
        (WebInspector.DataGrid.prototype.columnWidthsMap):
        (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
        (WebInspector.DataGrid.prototype.isColumnVisible):
        (WebInspector.DataGrid.prototype.showColumn):
        (WebInspector.DataGrid.prototype.hideColumn):
        (WebInspector.DataGrid.prototype._positionResizers):
        (WebInspector.DataGrid.prototype._resizerDragging):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
        (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
        (WebInspector.NetworkPanel.prototype.handleShortcut):
        (WebInspector.NetworkPanel.prototype._createTable):
        (WebInspector.NetworkPanel.prototype._sortItems):
        (WebInspector.NetworkPanel.prototype._sortByTimeline):
        (WebInspector.NetworkPanel.prototype._createSummaryBar):
        (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
        (WebInspector.NetworkPanel.prototype.hide):
        (WebInspector.NetworkPanel.prototype.get searchableViews):
        (WebInspector.NetworkPanel.prototype.refresh):
        (WebInspector.NetworkPanel.prototype.reset):
        (WebInspector.NetworkPanel.prototype.refreshResource):
        (WebInspector.NetworkPanel.prototype.canShowSourceLine):
        (WebInspector.NetworkPanel.prototype.showSourceLine):
        (WebInspector.NetworkPanel.prototype._showResource):
        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
        (WebInspector.NetworkPanel.prototype._resourceViewForResource):
        (WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
        (WebInspector.NetworkDataGridNode):
        (WebInspector.NetworkDataGridNode.prototype.select):
        (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
        * inspector/front-end/networkPanel.css:
        (#network-container):
        (#network-views):
        (.network.panel .data-grid.full-grid-mode .viewer-column):
        (.network.panel .data-grid.brief-grid-mode .time-column):
        (.network.panel.viewing-resource .network-timeline-grid):
        (.network.panel .data-grid.viewing-resource-mode .timeline-column):
        (.network.panel .network-sidebar):
        (.network.panel:not(.viewing-resource) .sidebar-resizer-vertical):
        (.network.panel.viewing-resource .data-grid-resizer):
        (.network.panel .scope-bar):
        (.network.panel .resource-view.headers-visible .resource-view-content):
        (.network.panel:not(.viewing-resource) .data-grid tr.selected):

2010-10-08  Andreas Kling  <kling@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros
        https://bugs.webkit.org/show_bug.cgi?id=47180

        Rename *Value to *ValueAttribute

        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue):
        (WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter):
        * rendering/svg/SVGTextLayoutAttributesBuilder.h:

2010-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
        https://bugs.webkit.org/show_bug.cgi?id=47347

        * WebCore.pro:

2010-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Implement IntRectEfl.cpp
        https://bugs.webkit.org/show_bug.cgi?id=47403

        Implement IntRect for Efl Port using Eina_Rectangle.

        * platform/graphics/IntRect.h:
        * platform/graphics/efl/IntRectEfl.cpp:
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator Eina_Rectangle):

2010-10-08  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Nikolas Zimmermann.

        SVG: Make RenderPath DRT output platform-independent
        https://bugs.webkit.org/show_bug.cgi?id=46051

        Move away from using the port-specific Path::debugString() to dump
        RenderPath objects. This shrinks the DRT output delta between platforms
        and makes it more readable as we now dump only the relevant,
        element-specific properties of each object.

        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        Generate DRT output for RenderPaths in a platform-independent manner,
        dumping the relevant element properties.

2010-10-08  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Fix FileSystem path validation order to normalize '..' and '.' before restriction checks
        https://bugs.webkit.org/show_bug.cgi?id=47309

        Test: fast/filesystem/op-get-entry.html

        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::getFile): Fixed the path validation order.
        (WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order.

2010-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Port GTK+ theming code to GTK+ 3.x APIs
        https://bugs.webkit.org/show_bug.cgi?id=47398

        Create a new gtk3drawing file for the widget drawing primitives in
        WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x
        code at the moment, but we'll evolve it incrementally from here.

        * GNUmakefile.am:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::partsForDrawable):
        (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
        * platform/gtk/gtk2drawing.c:
        (TSOffsetStyleGCArray):
        (TSOffsetStyleGCs):
        (moz_gtk_button_paint):
        (moz_gtk_scrollbar_thumb_paint):
        (moz_gtk_entry_paint):
        (moz_gtk_combo_box_paint):
        (moz_gtk_get_widget_border):
        * platform/gtk/gtk3drawing.c: Added.
        * platform/gtk/gtkdrawing.h:

2010-10-07  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Kent Tamura.

        [chromium] Fix indentation in ChromiumDataObject.h 
        https://bugs.webkit.org/show_bug.cgi?id=47396

        Just a cleanup patch to make followup diffs smaller.

        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::create):
        (WebCore::ChromiumDataObject::copy):
        (WebCore::ChromiumDataObject::urlTitle):
        (WebCore::ChromiumDataObject::setUrlTitle):
        (WebCore::ChromiumDataObject::htmlBaseUrl):
        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
        (WebCore::ChromiumDataObject::containsFilenames):
        (WebCore::ChromiumDataObject::filenames):
        (WebCore::ChromiumDataObject::setFilenames):
        (WebCore::ChromiumDataObject::fileExtension):
        (WebCore::ChromiumDataObject::setFileExtension):
        (WebCore::ChromiumDataObject::fileContentFilename):
        (WebCore::ChromiumDataObject::setFileContentFilename):
        (WebCore::ChromiumDataObject::fileContent):
        (WebCore::ChromiumDataObject::setFileContent):

2010-10-07  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations
        https://bugs.webkit.org/show_bug.cgi?id=47327

        Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(),
        valueAsNumber(), and setValueAsNumber() to InputType, and move
        serialize() and serializeForDateTimeTypes() too

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::valueAsDate):
        (WebCore::BaseDateAndTimeInputType::setValueAsDate):
        (WebCore::BaseDateAndTimeInputType::valueAsNumber):
        (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
        (WebCore::BaseDateAndTimeInputType::serialize):
        * html/BaseDateAndTimeInputType.h:
        * html/DateInputType.cpp:
        (WebCore::DateInputType::setMillisecondToDateComponents):
        * html/DateInputType.h:
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::setMillisecondToDateComponents):
        * html/DateTimeInputType.h:
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::valueAsDate):
        (WebCore::DateTimeLocalInputType::setValueAsDate):
        (WebCore::DateTimeLocalInputType::setMillisecondToDateComponents):
        * html/DateTimeLocalInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueAsDate):
        (WebCore::HTMLInputElement::setValueAsDate):
        (WebCore::HTMLInputElement::valueAsNumber):
        (WebCore::HTMLInputElement::setValueAsNumber):
        (WebCore::HTMLInputElement::stepUpFromRenderer):
        * html/HTMLInputElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::valueAsDate):
        (WebCore::InputType::setValueAsDate):
        (WebCore::InputType::valueAsNumber):
        (WebCore::InputType::setValueAsNumber):
        (WebCore::InputType::serialize):
        * html/InputType.h:
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::valueAsDate):
        (WebCore::MonthInputType::setValueAsDate):
        (WebCore::MonthInputType::setMillisecondToDateComponents):
        * html/MonthInputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::valueAsNumber):
        (WebCore::NumberInputType::setValueAsNumber):
        (WebCore::NumberInputType::serialize):
        * html/NumberInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::valueAsNumber):
        (WebCore::RangeInputType::setValueAsNumber):
        (WebCore::RangeInputType::serialize):
        * html/RangeInputType.h:
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::setMillisecondToDateComponents):
        * html/TimeInputType.h:
        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::setMillisecondToDateComponents):
        * html/WeekInputType.h:

2010-10-07  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap] [Qt] Texture mapper initial implementation
        Texture Mapper is an implementation of accelerated compositing that doesn't require a
        platform specific scenegraph library like CA or QGraphicsView. The idea is that with
        time this would replace GraphicsLayerQt, and could serve as an implementation for other
        platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk,
        and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches
        an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt.

        This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer.

        * platform/graphics/qt/TextureMapperQt.cpp: Added.
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added.
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added.
        * platform/graphics/texmap/TextureMapper.h: Added.
        * platform/graphics/texmap/TextureMapperPlatformLayer.h: Added.

2010-10-07  Antonio Gomes  <agomes@rim.com>

        Reviewed by Simon Fraser.

        [Mac] [DRT] implement setSpatialNavigationEnabled
        https://bugs.webkit.org/show_bug.cgi?id=47291

        Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
        so it can be used from WebKit/mac.

        * WebCore.exp.in:

2010-10-07  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Jian Li

        [V8] Add FileWriter to active DOM map
        https://bugs.webkit.org/show_bug.cgi?id=47380

        It's an ActiveDOMObject; it needs to be in the map.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-10-07  Nico Weber  <thakis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Make sure to update the current graphics context when calling out to AppKit.
        https://bugs.webkit.org/show_bug.cgi?id=47387

        This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is
        now no longer necessary.

        Should be covered by existing tests. The checkbox at
        http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should
        now show up correctly.

        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::paintCheckbox):
        (WebCore::paintRadio):
        Create current context.
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::updateContents):
        Remove LocalCurrentContext, it's now no longer necessary.

2010-10-07  Cris Neckar  <cdn@chromium.org>

        Reviewed by Adam Barth.

        Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach().
        https://bugs.webkit.org/show_bug.cgi?id=46921

        Test: fast/html/object-image-nested-fallback.html

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

2010-10-07  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Fix shared timers on EFL port - make them thread safe.
        https://bugs.webkit.org/show_bug.cgi?id=47383

        Using ecore_timer_add to create a timer from a thread that is
        not the main thread isn't safe. Now we add a pipe that is used
        to request a timer to be added in the main thread.

        In order to reduce some delay on timers that are added with a
        very small interval, the timer callback is called immediately
        if the interval is smaller than the mainloop frame time.

        No new features, so no tests added.

        * platform/efl/SharedTimerEfl.cpp:
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::timerEvent):
        (WebCore::processTimers):
        (WebCore::pipeHandlerCb):
        (WebCore::stopSharedTimer):
        (WebCore::addNewTimer):
        (WebCore::setSharedTimerFireTime):

2010-10-07  James Kozianski  <koz@chromium.org>

        Reviewed by Adam Barth.

        getPropertyValue('border') is incorrect after border-top-width is set
        https://bugs.webkit.org/show_bug.cgi?id=45949

        Test: fast/dom/css-shorthand-common-value.html

        CSSMutableStyleDeclaration::getCommonValue() was ignoring values from
        properties that were implicitly set, which led to erroneous results
        from getPropertyValue().

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getCommonValue):

2010-10-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        REGRESSION: Indenting pre duplicates content
        https://bugs.webkit.org/show_bug.cgi?id=47233

        The bug was caused by our not splitting text nodes properly.

        In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded
        to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions
        for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph,
        start, and end to work-around moveParagraphWithClones's removing a line feed.

        Tests: editing/execCommand/indent-pre-list.html
               editing/execCommand/indent-pre-paragraphs.html

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::formatSelection): See above.
        (WebCore::isNewLineAtPosition):
        (WebCore::renderStyleOfEnclosingTextNode): Added.
        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added.
        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added.
        * editing/ApplyBlockElementCommand.h:
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition.
        * editing/FormatBlockCommand.h:
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto.
        (WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto.
        (WebCore::IndentOutdentCommand::formatRange): Ditto.
        * editing/IndentOutdentCommand.h:

2010-10-07  Jian Li  <jianli@chromium.org>

        Reviewed by Adam Barth.

        Support generating a FormData object based on the data in an existing <form>.
        https://bugs.webkit.org/show_bug.cgi?id=45929

        Test: http/tests/local/formdata/send-form-data-constructed-from-form.html

        * bindings/js/JSDOMFormDataCustom.cpp:
        (WebCore::toHTMLFormElement):
        (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
        (WebCore::V8DOMFormData::constructorCallback):
        * html/DOMFormData.cpp:
        (WebCore::DOMFormData::DOMFormData):
        * html/DOMFormData.h:
        (WebCore::DOMFormData::create):
        * html/DOMFormData.idl:

2010-10-07  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Set the m_selectedChildren flag on the root inline box if one of the leaf 
        inline box from the bidi runs walk has a selection state. Remove the flag
        setting logic from addToLine, since line boxes created in createLinesBoxes
        should not be propagating selection state to root inline box.
        https://bugs.webkit.org/show_bug.cgi?id=47201

        Test: editing/selection/root-inlinebox-selected-children-crash.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::constructLine):

2010-10-07  Benjamin Otte  <otte@gnome.org>

        Reviewed by Martin Robinson.

        [GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins
        https://bugs.webkit.org/show_bug.cgi?id=47361

        Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead
        of directly with X11. This should work fine with GDK double-buffering, but
        if we ever disable it, we'll need to verify that this is still functioning
        properly.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::paint): Do a bit of code cleanup.

2010-10-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add a WKPageFindClient, hook up WKPageCountStringMatches
        https://bugs.webkit.org/show_bug.cgi?id=47373

        Export find related symbols needed by WebKit2.

        * WebCore.exp.in:

2010-10-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=47370
        
        Make line box placement in the inline direction writing-mode-aware.  Lines now set their y-position instead of x-position
        when vertical.
        
        Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in
        placeBoxesInInlineDirection can be replaced with the helper.

        Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line
        boxes.

        Vertical lines are still not testable until they can be placed in the block direction.  Then the render tree dumps
        become meaningful (even if the pixel results look horrible).

        * rendering/InlineBox.h:
        (WebCore::InlineBox::logicalRight):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getShadowExtent):
        (WebCore::RenderStyle::getShadowHorizontalExtent):
        (WebCore::RenderStyle::getShadowVerticalExtent):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::getTextShadowExtent):
        (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
        (WebCore::InheritedFlags::getTextShadowVerticalExtent):
        (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
        (WebCore::InheritedFlags::getBoxShadowExtent):
        (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
        (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
        (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
        (WebCore::InheritedFlags::getShadowInlineDirectionExtent):

2010-10-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page
        https://bugs.webkit.org/show_bug.cgi?id=47374

        In the legacy (paint-time pagination) printing model, when there are overlapping lines,
        adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n,
        namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1
        moved the truncation point up again.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the
        current line extends below the truncation point.

2010-10-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        Use isIdentityOrTranslationOrFlipped() in scrollbar code
        https://bugs.webkit.org/show_bug.cgi?id=47378

        Replace old code that looked at values in the CGAffineTransform
        with nicely named method that does the same test.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):

2010-10-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        Edge fringe artifact with transformed, masked elements (including reflections)
        https://bugs.webkit.org/show_bug.cgi?id=19179
        
        When drawing the mask images, use a transparency layer if the CTM
        has a rotation, scale or skew in it to avoid antialiasing issues at
        the edges.

        Test: fast/css/transformed-mask.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMask): Don't bother painting the mask if
        painting is disabled, which also avoids an assertion in getCTM().
        (WebCore::RenderBox::paintMaskImages):

2010-10-07  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Map non-alphabet key code to Unicode value
        https://bugs.webkit.org/show_bug.cgi?id=46002

        Non-alphabet key codes are not equal to the unicode values. Add conversion.

        * platform/brew/PlatformKeyboardEventBrew.cpp:
        (WebCore::singleCharacterString):

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

        Reviewed by Chris Fleizach.

        [GTK] The FreeType backend does not respect the FC_EMBOLDEN property
        https://bugs.webkit.org/show_bug.cgi?id=46216

        Look for the FC_EMBOLDEN property of the FcPattern when constructing
        FontPlatformData and use it to enable synthetic bold fonts when necessary.

        Test: platform/gtk/fonts/fontconfig-synthetic-bold.html

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property.

2010-10-07  James Simonsen  <simonjam@chromium.org>

        Reviewed by Pavel Feldman.

        [Web Timing] Use platform definition of responseEnd
        https://bugs.webkit.org/show_bug.cgi?id=46306

        No new tests. Used existing webtiming test.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didFinishLoading):

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

        Reviewed by Chris Fleizach.

        [Gtk] CSS font-style: italic behavior
        https://bugs.webkit.org/show_bug.cgi?id=33299

        Properly interpret the FC_MATRIX property from a FontConfig pattern.
        FontConfig will use this property when returning fonts which have a
        synthetic oblique variant configured in the fonts.conf configuration
        file.

        Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Added a constructor that
        takes an existing FontPlatformData and a font size.
        (WebCore::FontPlatformData::initializeWithFontFace): Added this helper
        intialization method that properly handles the FC_MATRIX property from
        the FcPattern.
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration
        to the new constructor and the initializeWithFontFace.
        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
        (WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData
        constructor.

2010-10-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=47357
        
        Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionNewFloatOnLine):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::getBorderPaddingMargin):
        (WebCore::inlineLogicalWidth):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::inlineFlowRequiresLineBox):
        (WebCore::RenderBlock::skipLeadingWhitespace):
        (WebCore::RenderBlock::fitBelowFloats):
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin):
        (WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding):

2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Fixing viewport meta tag user-scalable handling
        https://bugs.webkit.org/show_bug.cgi?id=47330

        user-scalable attribute was not considered in viewport meta tag handling.

        * dom/ViewportArguments.cpp:
        (WebCore::findConfigurationForViewportData):
        * dom/ViewportArguments.h:

2010-10-05  Diego Gonzalez  <diegohcg@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Hook up accelerometer data via Qt DeviceMotion
        https://bugs.webkit.org/show_bug.cgi?id=47105

        Get accelerometer necessary data via Qt mobility library using a
        provider class. Enable, also the RotationRate using the current device
        orientation provider.

        * WebCore.pro:

2010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Some viewport meta tag api refactoring
        https://bugs.webkit.org/show_bug.cgi?id=47334

        WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
        WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):
        * dom/ViewportArguments.h:

2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Don't use GtkObject
        https://bugs.webkit.org/show_bug.cgi?id=47090

        GtkObject has been removed in gtk3.

        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_class_init):
        (gtk_xtbin_dispose):

2010-10-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: highlight XHR breakpoint when hit.
        https://bugs.webkit.org/show_bug.cgi?id=47253

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setNativeBreakpoint):
        (WebCore::InspectorController::removeNativeBreakpoint):
        (WebCore::InspectorController::findEventListenerBreakpoint):
        (WebCore::InspectorController::findXHRBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
        (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
        (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
        (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
        (WebInspector.BreakpointManager.prototype.debuggerPaused):
        (WebInspector.BreakpointManager.prototype.debuggerResumed):
        (WebInspector.NativeBreakpoint):
        (WebInspector.NativeBreakpoint.prototype.get enabled):
        (WebInspector.NativeBreakpoint.prototype.set enabled):
        (WebInspector.NativeBreakpoint.prototype.remove):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointItem):
        (WebInspector.BreakpointItem.prototype._breakpointClicked):
        (WebInspector.BreakpointItem.prototype._hitStateChanged):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
        * inspector/front-end/inspector.css:
        (.breakpoint-list .breakpoint-hit):
        * inspector/front-end/inspector.js:
        (WebInspector.pausedScript):
        (WebInspector.resumedScript):

2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix the build for GTK+ 3
        https://bugs.webkit.org/show_bug.cgi?id=47249

        Use GdkVisual instead of GdkColormap. GdkColormap has been removed
        in gtk3.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart):
        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_new):

2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix the build for GTK+ 3
        https://bugs.webkit.org/show_bug.cgi?id=47249

        Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
        are deprecated in gtk2 and have been removed in gtk3. Equivalent
        API has been added to GdkWindow.

        * platform/gtk/GtkVersioning.c:
        (getDefaultGDKPointerDevice):
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual):
        (WebCore::screenAvailableRect):

2010-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Disconnect signals before destroying MediaPlayerPrivateQt

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

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:

2010-10-07  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, release build fix.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
        (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):

2010-10-07  Pavel Podivilov  <podivilov@chromium.org>

        Unreviewed, build fix.

        Build fix for r69283.

        * dom/Document.cpp:
        (WebCore::Document::inspectorController):
        * dom/Document.h:

2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix the build for GTK+ 3
        https://bugs.webkit.org/show_bug.cgi?id=47249

        Don't use gtk_size_request_get_size(). It has been removed,
        gtk_widget_get_preferred_size() should be used instead

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show):

2010-10-06  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
        Property toggling not implemented yet. The code is not going live.
        https://bugs.webkit.org/show_bug.cgi?id=45825

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorCSSAgent.cpp: Added.
        (WebCore::InspectorCSSAgent::buildObjectForStyle):
        (WebCore::InspectorCSSAgent::parentStyleSheet):
        (WebCore::InspectorCSSAgent::asCSSStyleRule):
        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
        (WebCore::InspectorCSSAgent::reset):
        (WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
        (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
        (WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
        (WebCore::InspectorCSSAgent::getInlineStyleForNode2):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
        (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
        (WebCore::InspectorCSSAgent::getAllStyles2):
        (WebCore::InspectorCSSAgent::getStyleSheet2):
        (WebCore::InspectorCSSAgent::setStyleSheetText2):
        (WebCore::InspectorCSSAgent::setStyleText2):
        (WebCore::InspectorCSSAgent::toggleProperty2):
        (WebCore::InspectorCSSAgent::setRuleSelector2):
        (WebCore::InspectorCSSAgent::addRule2):
        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
        (WebCore::InspectorCSSAgent::inlineStyleElement):
        (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorCSSAgent::shorthandValue):
        (WebCore::InspectorCSSAgent::shorthandPriority):
        (WebCore::InspectorCSSAgent::longhandProperties):
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::elementForId):
        (WebCore::InspectorCSSAgent::bindStyleSheet):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::styleSheetForId):
        (WebCore::InspectorCSSAgent::detectOrigin):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
        (WebCore::InspectorCSSAgent::didRemoveDocument):
        (WebCore::InspectorCSSAgent::didRemoveDOMNode):
        * inspector/InspectorCSSAgent.h: Added.
        (WebCore::InspectorCSSAgent::create):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::setDOMListener):
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
        (WebCore::InspectorDOMAgent::documents):
        * inspector/InspectorStyleSheet.cpp: Added.
        (ParsedStyleSheet::cssStyleSheet):
        (ParsedStyleSheet::text):
        (ParsedStyleSheet::hasText):
        (ParsedStyleSheet::sourceData):
        (ParsedStyleSheet::hasSourceData):
        (ParsedStyleSheet::ParsedStyleSheet):
        (ParsedStyleSheet::setText):
        (ParsedStyleSheet::setSourceData):
        (ParsedStyleSheet::ruleSourceDataAt):
        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::~InspectorStyleSheet):
        (WebCore::InspectorStyleSheet::setText):
        (WebCore::InspectorStyleSheet::setRuleSelector):
        (WebCore::InspectorStyleSheet::addRule):
        (WebCore::InspectorStyleSheet::ruleForId):
        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::buildObjectForStyle):
        (WebCore::InspectorStyleSheet::styleForId):
        (WebCore::InspectorStyleSheet::setStyleText):
        (WebCore::InspectorStyleSheet::ownerDocument):
        (WebCore::InspectorStyleSheet::ruleSourceDataFor):
        (WebCore::InspectorStyleSheet::ruleIndexByStyle):
        (WebCore::InspectorStyleSheet::ensureParsedDataReady):
        (WebCore::InspectorStyleSheet::text):
        (WebCore::InspectorStyleSheet::ensureText):
        (WebCore::InspectorStyleSheet::ensureSourceData):
        (WebCore::InspectorStyleSheet::innerSetStyleSheetText):
        (WebCore::InspectorStyleSheet::innerSetStyleText):
        (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
        (WebCore::InspectorStyleSheet::findPageRuleWithStyle):
        (WebCore::InspectorStyleSheet::fullRuleId):
        (WebCore::InspectorStyleSheet::revalidateStyle):
        (WebCore::InspectorStyleSheet::styleSheetText):
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        (WebCore::InspectorStyleSheet::inlineStyleSheetText):
        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
        (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
        (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * inspector/InspectorStyleSheet.h: Added.
        (WebCore::InspectorStyleSheet::create):
        (WebCore::InspectorStyleSheet::id):
        (WebCore::InspectorStyleSheet::pageStyleSheet):
        (WebCore::InspectorStyleSheet::canBind):
        (WebCore::InspectorStyleSheet::fullRuleOrStyleId):
        (WebCore::InspectorStyleSheet::ruleOrStyleId):
        (WebCore::InspectorStyleSheet::fullStyleId):
        (WebCore::InspectorStyleSheetForInlineStyle::create):
        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
        (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
        (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
        * inspector/InspectorUtilities.cpp: Added.
        (WebCore::InspectorUtilities::resourceContentForURL):
        * inspector/InspectorUtilities.h: Added.

2010-10-05  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extract Inspector Instrumentation API as a class
        https://bugs.webkit.org/show_bug.cgi?id=47173

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluate):
        (WebCore::V8Proxy::callFunction):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * html/parser/HTMLDocumentParser.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::hasFrontend):
        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::hasFrontends):
        (WebCore::InspectorInstrumentation::inspectorControllerForContext):
        (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
        (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::install):
        (WebCore::DOMTimer::removeById):
        (WebCore::DOMTimer::fired):
        * page/DOMTimer.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchEvent):
        * page/DOMWindow.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        * page/FrameView.h:
        * page/Page.cpp:
        * page/Page.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):

2010-10-07  Zraly Mike  <mike.zraly@nokia.com>

        Reviewed by Andreas Kling.

        Windowless flash plugin is not rendered in Symbian
        https://bugs.webkit.org/show_bug.cgi?id=47172

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::platformStart):
        Add call to updatePluginWidget() following changes to
        platform widget.  This is needed to set PluginView's
        m_windowRect and m_clipRect members properly after
        the proxy widget and its container get created.

2010-10-07  Andreas Kling  <kling@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Rename (and move) RenderPath to svg/RenderSVGPath
        https://bugs.webkit.org/show_bug.cgi?id=47053

        Also renamed RenderObject::isRenderPath() to isSVGPath()

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGPath):
        * rendering/RenderPath.cpp: Removed.
        * rendering/RenderPath.h: Removed.
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        * rendering/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::layoutChildren):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):
        (WebCore::operator<<):
        (WebCore::write):
        * rendering/SVGRenderTreeAsText.h:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):
        * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
        (WebCore::RenderSVGPath::RenderSVGPath):
        (WebCore::RenderSVGPath::fillContains):
        (WebCore::RenderSVGPath::strokeContains):
        (WebCore::RenderSVGPath::layout):
        (WebCore::RenderSVGPath::fillAndStrokePath):
        (WebCore::RenderSVGPath::paint):
        (WebCore::RenderSVGPath::addFocusRingRects):
        (WebCore::RenderSVGPath::nodeAtFloatPoint):
        (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
        (WebCore::RenderSVGPath::updateCachedBoundaries):
        * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
        (WebCore::RenderSVGPath::isSVGPath):
        (WebCore::RenderSVGPath::renderName):
        (WebCore::toRenderSVGPath):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        * svg/SVGGradientElement.cpp:
        * 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/SVGStyledLocatableElement.cpp:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::createRenderer):

2010-10-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: clear line highlight when switching current view
        https://bugs.webkit.org/show_bug.cgi?id=47262

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.clearLineHighlight):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.hide):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.highlightLine):
        (WebInspector.TextViewer.prototype.clearLineHighlight):

2010-10-06  Chris Evans  <cevans@google.com>

        Reviewed by David Levin.

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

        Fix integer errors with enormous input strings to newline normalization APIs.

        * platform/text/LineEnding.cpp:
        (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
        (WebCore::normalizeToCROrLF): use the correct type for a string length.

2010-10-06  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        Windows build fix for r69272.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::stepBase):
         Use defaultStepBase() instead of defaultStepBase.
        * html/InputType.h:
        (WebCore::InputType::defaultStepBase):
         Make defaultStepBase static function.
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::stepBase):
         Use defaultStepBase() instead of defaultStepBase.

2010-10-06  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Refactor HTMLInputElement: Move range/step related functions
        https://bugs.webkit.org/show_bug.cgi?id=47251

        Move the content of the following functions:
         - rangeUnderflow()
         - rangeOverflow()
         - minimum()
         - maximum()
         - stepMismatch()
         - stepBase()

        getStepParameters() was split into InputType::defaultStep() and
        stepScaleFactor().

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::rangeUnderflow):
        (WebCore::BaseDateAndTimeInputType::rangeOverflow):
        (WebCore::BaseDateAndTimeInputType::stepMismatch):
        (WebCore::BaseDateAndTimeInputType::stepBase):
        * html/BaseDateAndTimeInputType.h:
        * html/DateInputType.cpp:
        (WebCore::DateInputType::minimum):
        (WebCore::DateInputType::maximum):
        (WebCore::DateInputType::defaultStep):
        (WebCore::DateInputType::stepScaleFactor):
        (WebCore::DateInputType::parsedStepValueShouldBeInteger):
        * html/DateInputType.h:
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::minimum):
        (WebCore::DateTimeInputType::maximum):
        (WebCore::DateTimeInputType::defaultStep):
        (WebCore::DateTimeInputType::stepScaleFactor):
        (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
        * html/DateTimeInputType.h:
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::minimum):
        (WebCore::DateTimeLocalInputType::maximum):
        (WebCore::DateTimeLocalInputType::defaultStep):
        (WebCore::DateTimeLocalInputType::stepScaleFactor):
        (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
        * html/DateTimeLocalInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::rangeUnderflow):
        (WebCore::HTMLInputElement::rangeOverflow):
        (WebCore::HTMLInputElement::minimum):
        (WebCore::HTMLInputElement::maximum):
        (WebCore::HTMLInputElement::stepMismatch):
        (WebCore::HTMLInputElement::getAllowedValueStep):
        (WebCore::HTMLInputElement::applyStep):
        (WebCore::HTMLInputElement::handleKeyEventForRange):
        (WebCore::HTMLInputElement::stepUpFromRenderer):
        * html/HTMLInputElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::patternMismatch):
        (WebCore::InputType::rangeUnderflow):
        (WebCore::InputType::rangeOverflow):
        (WebCore::InputType::minimum):
        (WebCore::InputType::maximum):
        (WebCore::InputType::stepMismatch):
        (WebCore::InputType::stepBase):
        (WebCore::InputType::defaultStep):
        (WebCore::InputType::stepScaleFactor):
        (WebCore::InputType::parsedStepValueShouldBeInteger):
        (WebCore::InputType::scaledStepValeuShouldBeInteger):
        * html/InputType.h:
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::minimum):
        (WebCore::MonthInputType::maximum):
        (WebCore::MonthInputType::defaultStep):
        (WebCore::MonthInputType::stepScaleFactor):
        (WebCore::MonthInputType::parsedStepValueShouldBeInteger):
        * html/MonthInputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::rangeUnderflow):
        (WebCore::NumberInputType::rangeOverflow):
        (WebCore::NumberInputType::minimum):
        (WebCore::NumberInputType::maximum):
        (WebCore::NumberInputType::stepMismatch):
        (WebCore::NumberInputType::stepBase):
        (WebCore::NumberInputType::defaultStep):
        (WebCore::NumberInputType::stepScaleFactor):
        * html/NumberInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::rangeUnderflow):
        (WebCore::RangeInputType::rangeOverflow):
        (WebCore::RangeInputType::minimum):
        (WebCore::RangeInputType::maximum):
        (WebCore::RangeInputType::stepMismatch):
        (WebCore::RangeInputType::stepBase):
        (WebCore::RangeInputType::defaultStep):
        (WebCore::RangeInputType::stepScaleFactor):
        * html/RangeInputType.h:
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::minimum):
        (WebCore::TimeInputType::maximum):
        (WebCore::TimeInputType::defaultStep):
        (WebCore::TimeInputType::stepScaleFactor):
        (WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
        * html/TimeInputType.h:
        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::minimum):
        (WebCore::WeekInputType::maximum):
        (WebCore::WeekInputType::stepBase):
        (WebCore::WeekInputType::defaultStep):
        (WebCore::WeekInputType::stepScaleFactor):
        (WebCore::WeekInputType::parsedStepValueShouldBeInteger):
        * html/WeekInputType.h:

2010-10-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein, Darin Adler.

        :first-letter should apply to "punctuation" after the first letter
        https://bugs.webkit.org/show_bug.cgi?id=45986
        
        Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after
        the :first-letter character.
        
        The spec does not describe whitespace behavior, and browsers are inconsistent.
        This patch allows whitespace (including non-breaking spaces) before and after the
        leading punctuation, and before the trailing punctuation.

        Test: fast/css/first-letter-punctuation.html

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

2010-10-06  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>

        Reviewed by Darin Fisher.

        Released the pluginNode in PluginDocument::detach() and prevents a memory leak.
        https://bugs.webkit.org/show_bug.cgi?id=47129

        * html/PluginDocument.cpp:
        (WebCore::PluginDocument::detach):
        * html/PluginDocument.h:

2010-10-06  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Thumbnail generation asserts on zero alpha values.
        https://bugs.webkit.org/show_bug.cgi?id=47292

        Test: Tested manually by running debug mode, and analyzing in PIX.

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

2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed, trying to fix chromium Windows build.

        Explicitly give the parameter value that has a default parameter value.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::requestFileSystem):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::requestFileSystem):

2010-10-06  Darin Adler  <darin@apple.com>

        Try to fix Windows build.

        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::cachedCGColor): Put in braces to make the Windows compiler
        happy with this file.

        * platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h.

2010-10-06  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Cache CGColor as we do NSColor
        https://bugs.webkit.org/show_bug.cgi?id=47226

        This fixes performance problems on certain web pages that use
        multiple colors. Once in the past we were using NSColor. Now that
        we are using CGColor, we need the same sort of caching that we have
        for NSColor.

        One example: <http://results.active.com/uploads/html/100759.html>.

        * WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h.

        * platform/graphics/Color.h: Replace createCGColor with cachedCGColor.

        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::cachedCGColorSpace): Added.
        (WebCore::leakCGColor): Added. 
        (WebCore::cachedCGColor): Added.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::setCGFillColor): Use cachedCGColor.
        (WebCore::setCGStrokeColor): Ditto.
        (WebCore::GraphicsContext::fillRect): Ditto.
        (WebCore::GraphicsContext::setPlatformShadow): Ditto.

        * platform/graphics/cg/GraphicsContextCG.h: Added.
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        Moved the color space functions here.

        * platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting.

        * platform/graphics/mac/ColorMac.mm: Removed the createCGColor
        function.

        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::drawFocusRingToContext): Removed innappropriate use of
        RetainPtr for the arguments to this function.
        (WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::setLayerBorderColor): Use cachedCGColor.
        (WebCore::setLayerBackgroundColor): Ditto.
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        (WebCore::setLayerBorderColor): Ditto.
        (WebCore::setLayerBackgroundColor): Ditto.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use
        CGColorCreateGenericRGB for color used only for debugging.
        * platform/graphics/win/WebTiledLayer.cpp:
        (WebCore::WebTiledLayer::addTile): Ditto.

2010-10-06  Peter Kasting  <pkasting@google.com>

        Reviewed by James Robinson

        ScrollViews without scrollbars should not eat scroll events
        https://bugs.webkit.org/show_bug.cgi?id=47036

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

2010-10-06  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet
        when <frameset> has CSS content property
        https://bugs.webkit.org/show_bug.cgi?id=47314

        Fixes an issue where sending a mouse event to an HTML Frameset Element that
        whose content was replaced via the CSS content property causes an assertion
        failure.

        By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as
        to support resizing a frame within the set. When a <frameset> specifies an
        image in its CSS content property we create a generic render object (RenderObject)
        for the frame set instead of a RenderFrameSet object. The event handler code
        in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer
        to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement
        must check that its renderer is of type RenderFrameSet before casting to this type.

        Test: fast/frames/crash-frameset-CSS-content-property.html

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is
        of type RenderFrameSet before casting it as such.

2010-10-06  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Andreas Kling.

        r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false.
        https://bugs.webkit.org/show_bug.cgi?id=47315

        Compile fix. No tests.

        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::apply):

2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed, fixing screwed up ChangeLogs.

2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Add FileSystemSync implementation for Worker
        https://bugs.webkit.org/show_bug.cgi?id=47044

        Tests: fast/filesystem/async-operations.html
               fast/filesystem/workers/async-operations.html
               fast/filesystem/workers/sync-operations.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/RuntimeEnabledFeatures.h: Removed
        requestFileSystemEnabled() as I changed the idl/generator to
        use fileSystemEnabled for all the FileSystem related features.
        * fileapi/DOMFileSystem.cpp:
        * fileapi/DOMFileSystem.h:
        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem.
        (WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem.
        (WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem.
        * fileapi/DOMFileSystemBase.h:
        * fileapi/DOMFileSystemSync.h:
        * fileapi/DirectoryEntry.cpp:
        (WebCore::DirectoryEntry::DirectoryEntry): Updated to call
        DOMFileSystemBase's method instead of DOMFileSystem's one.
        (WebCore::DirectoryEntry::getFile): Ditto.
        (WebCore::DirectoryEntry::getDirectory): Ditto.
        * fileapi/DirectoryEntry.h:
        * fileapi/DirectoryEntrySync.cpp:
        (WebCore::DirectoryEntrySync::getFile): Implemented.
        (WebCore::DirectoryEntrySync::getDirectory): Implemented.
        * fileapi/DirectoryReader.h:
        * fileapi/DirectoryReaderSync.cpp:
        (WebCore::DirectoryReaderSync::readEntries): Implemented.
        * fileapi/Entry.cpp:
        (WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method.
        (WebCore::Entry::getMetadata): Ditto.
        (WebCore::Entry::moveTo): Ditto.
        (WebCore::Entry::copyTo): Ditto.
        (WebCore::Entry::remove): Ditto.
        (WebCore::Entry::getParent): Ditto.
        * fileapi/Entry.h:
        * fileapi/Entry.idl:
        * fileapi/EntryArraySync.cpp:
        (WebCore::EntryArraySync::create): Added.
        * fileapi/EntryArraySync.h:
        * fileapi/EntryBase.h:
        (WebCore::EntryBase::filesystem): Added.
        * fileapi/EntrySync.cpp:
        (WebCore::EntrySync::create): Implemented.
        (WebCore::EntrySync::getMetadata): Implemented.
        (WebCore::EntrySync::moveTo): Implemented.
        (WebCore::EntrySync::copyTo): Implemented.
        (WebCore::EntrySync::remove): Implemented.
        * fileapi/EntrySync.h:
        * fileapi/FileEntry.cpp:
        * fileapi/FileEntry.h:
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase
        instead of DOMFileSystem.
        (WebCore::EntryCallbacks::EntryCallbacks): Ditto.
        (WebCore::EntriesCallbacks::create): Ditto.
        (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
        * fileapi/FileSystemCallbacks.h:
        * fileapi/LocalFileSystem.cpp:
        (WebCore::LocalFileSystem::requestFileSystem): Added synchronous
        parameter.
        * fileapi/LocalFileSystem.h:
        * fileapi/Metadata.h:
        * fileapi/SyncCallbackHelper.h: Added. This defines a helper template
        for synchronous implementation.
        * page/DOMWindow.idl:
        * platform/AsyncFileSystem.h:
        (WebCore::AsyncFileSystem::waitCompletion): Added.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::requestFileSystemSync): Added.
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:

2010-10-06  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts.
        https://bugs.webkit.org/show_bug.cgi?id=47245

        Recover metadata properly by adding abort tasks that
        are run when a transaction aborts.
 
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::removeObjectStore):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
        (WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
        (WebCore::IDBDatabaseBackendImpl::resetVersion):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
        (WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::scheduleTask):
        (WebCore::IDBTransactionBackendImpl::abort):
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionBackendInterface.h:
        * storage/IDBTransactionCoordinator.h:

2010-10-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=47306
        
        Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::determineEndPosition):
        (WebCore::RenderBlock::matchedEndLine):

22010-10-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks.
        https://bugs.webkit.org/show_bug.cgi?id=45832

        Test: fast/events/mouse-focus-imagemap.html

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::isKeyboardFocusable):
        (WebCore::HTMLAreaElement::isMouseFocusable):
        (WebCore::HTMLAreaElement::isFocusable):
        (WebCore::HTMLAreaElement::updateFocusAppearance):
        * html/HTMLAreaElement.h:

010-10-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Convert layoutInlineChildren to be block-flow-aware.  None of the functions it calls are patched yet.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::forceLayoutInlineChildren):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
        (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::logicalLeftLayoutOverflow):
        (WebCore::RenderBox::logicalRightLayoutOverflow):
        (WebCore::RenderBox::logicalLeftVisualOverflow):
        (WebCore::RenderBox::logicalRightVisualOverflow):

2010-10-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=47298
        
        Rename blockHeight to blockLogicalHeight.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::determineEndPosition):
        (WebCore::RenderBlock::matchedEndLine):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::adjustPosition):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::blockLogicalHeight):
        (WebCore::RootInlineBox::setBlockLogicalHeight):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::layoutRootBox):

2010-10-05  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia
        https://bugs.webkit.org/show_bug.cgi?id=47242

        Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData
        since that call mutates the software backing store.

        Test: fast/canvas/canvas-putImageData.html

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::putUnmultipliedImageData):

2010-10-06  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=47294
        <rdar://problem/8425647>Application cache isn't consulted on redirect

        Test: http/tests/appcache/main-resource-redirect.html

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterNavigationPolicy): If we have substitute data now
        (presumably after a redirect is served by appcache), switch to it.
        (WebCore::MainResourceLoader::willSendRequest): Check appcache for the new URL.

        * loader/MainResourceLoader.h: Made handleDataLoadSoon() take a const ResourceRequest
        reference - it doesn't ever modify it, and we can call it from continueAfterNavigationPolicy() now.

2010-10-06  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Dirk Schulze.

        ContextShadow should not use the blur radius as kernel size of the
        box blurs
        https://bugs.webkit.org/show_bug.cgi?id=46918

        Calculate the size of the kernel in the blur algorithm using the radius instead
        of using the blur distance directly. Change the name of the variables to match the
        terminology in the spec.

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::ContextShadow):
        (WebCore::ContextShadow::clear):
        (WebCore::ContextShadow::blurLayerImage):
        (WebCore::ContextShadow::calculateLayerBoundingRect):
        * platform/graphics/ContextShadow.h:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Correct CamelCase of socketSentdata() in SocketStreamHandlePrivate 
        to fix "QMetaObject::invokeMethod: No such method" warnings in layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=47284

        No new tests needed.

        * platform/network/qt/SocketStreamHandlePrivate.h:
        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::socketSentData):

2010-10-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
        Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
        as appropriate.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator WritingMode):
        (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
        * css/CSSProperty.cpp:
        (WebCore::resolveToPhysicalProperty):
        (WebCore::CSSProperty::resolveDirectionAwareProperty):
        * css/CSSProperty.h:
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
        (WebCore::RenderBlock::setLogicalLeftForChild):
        (WebCore::RenderBlock::setLogicalTopForChild):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
        (WebCore::RenderBlock::collapsedMarginAfterForChild):
        (WebCore::RenderBlock::marginBeforeForChild):
        (WebCore::RenderBlock::marginAfterForChild):
        (WebCore::RenderBlock::marginStartForChild):
        (WebCore::RenderBlock::marginEndForChild):
        (WebCore::RenderBlock::setMarginStartForChild):
        (WebCore::RenderBlock::setMarginEndForChild):
        (WebCore::RenderBlock::setMarginBeforeForChild):
        (WebCore::RenderBlock::setMarginAfterForChild):
        (WebCore::RenderBlock::marginValuesForChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalWidthForChild):
        (WebCore::RenderBlock::logicalHeightForChild):
        (WebCore::RenderBlock::logicalTopForChild):
        (WebCore::RenderBlock::logicalRightOffsetForContent):
        (WebCore::RenderBlock::logicalLeftOffsetForContent):
        (WebCore::RenderBlock::logicalTopForFloat):
        (WebCore::RenderBlock::logicalBottomForFloat):
        (WebCore::RenderBlock::logicalLeftForFloat):
        (WebCore::RenderBlock::logicalRightForFloat):
        (WebCore::RenderBlock::logicalWidthForFloat):
        (WebCore::RenderBlock::setLogicalTopForFloat):
        (WebCore::RenderBlock::setLogicalLeftForFloat):
        (WebCore::RenderBlock::setLogicalHeightForFloat):
        (WebCore::RenderBlock::setLogicalWidthForFloat):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginBefore):
        (WebCore::RenderBox::marginAfter):
        (WebCore::RenderBox::marginStart):
        (WebCore::RenderBox::marginEnd):
        (WebCore::RenderBox::setMarginStart):
        (WebCore::RenderBox::setMarginEnd):
        (WebCore::RenderBox::setMarginBefore):
        (WebCore::RenderBox::setMarginAfter):
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        (WebCore::RenderBox::avoidsFloats):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::logicalLeft):
        (WebCore::RenderBox::logicalTop):
        (WebCore::RenderBox::logicalWidth):
        (WebCore::RenderBox::logicalHeight):
        (WebCore::RenderBox::setLogicalLeft):
        (WebCore::RenderBox::setLogicalTop):
        (WebCore::RenderBox::setLogicalWidth):
        (WebCore::RenderBox::setLogicalHeight):
        (WebCore::RenderBox::setLogicalLocation):
        (WebCore::RenderBox::contentLogicalWidth):
        (WebCore::RenderBox::contentLogicalHeight):
        (WebCore::RenderBox::stretchesToViewport):
        (WebCore::RenderBox::intrinsicLogicalWidth):
        (WebCore::RenderBox::intrinsicLogicalHeight):
        (WebCore::RenderBox::availableWidth):
        (WebCore::RenderBox::availableHeight):
        (WebCore::RenderBox::scrollbarLogicalHeight):
        (WebCore::RenderBox::isWritingModeRoot):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedLogicalWidth):
        (WebCore::RenderImage::computeReplacedLogicalHeight):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::marginLeft):
        (WebCore::RenderInline::marginRight):
        (WebCore::RenderInline::marginTop):
        (WebCore::RenderInline::marginBottom):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paddingTop):
        (WebCore::RenderTableCell::paddingBottom):
        (WebCore::RenderTableCell::paddingLeft):
        (WebCore::RenderTableCell::paddingRight):
        * rendering/RenderView.h:
        (WebCore::RenderView::viewLogicalWidth):
        (WebCore::RenderView::viewLogicalHeight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        (WebCore::RenderStyle::logicalWidth):
        (WebCore::RenderStyle::logicalHeight):
        (WebCore::RenderStyle::logicalMinWidth):
        (WebCore::RenderStyle::logicalMaxWidth):
        (WebCore::RenderStyle::logicalMinHeight):
        (WebCore::RenderStyle::logicalMaxHeight):
        (WebCore::RenderStyle::borderBeforeWidth):
        (WebCore::RenderStyle::borderAfterWidth):
        (WebCore::RenderStyle::borderStartWidth):
        (WebCore::RenderStyle::borderEndWidth):
        (WebCore::RenderStyle::marginBefore):
        (WebCore::RenderStyle::marginAfter):
        (WebCore::RenderStyle::marginBeforeUsing):
        (WebCore::RenderStyle::marginAfterUsing):
        (WebCore::RenderStyle::marginStart):
        (WebCore::RenderStyle::marginEnd):
        (WebCore::RenderStyle::marginStartUsing):
        (WebCore::RenderStyle::marginEndUsing):
        (WebCore::RenderStyle::paddingBefore):
        (WebCore::RenderStyle::paddingAfter):
        (WebCore::RenderStyle::paddingStart):
        (WebCore::RenderStyle::paddingEnd):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setBitDefaults):
        (WebCore::InheritedFlags::writingMode):
        (WebCore::InheritedFlags::isHorizontalWritingMode):
        (WebCore::InheritedFlags::setWritingMode):
        (WebCore::InheritedFlags::initialWritingMode):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::initialWritingMode):
        (WebCore::SVGRenderStyle::setWritingMode):
        (WebCore::SVGRenderStyle::writingMode):
        * rendering/style/SVGRenderStyleDefs.h:

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

        Unreviewed, rolling out r69201.
        http://trac.webkit.org/changeset/69201
        https://bugs.webkit.org/show_bug.cgi?id=47279

        This change broke the WebKitGTK+ build for GTK+ 2.0.
        (Requested by mrobinson on #webkit).

        * platform/gtk/GtkVersioning.c:
        (getDefaultGDKPointerDevice):
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual):
        (WebCore::screenAvailableRect):

2010-10-06  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.
        https://bugs.webkit.org/show_bug.cgi?id=47282

        Robustify the creation of SharedGraphicsContext3D against shader
        compilation failures.

        Covered by any canvas 2D layout test, when opened in chrome with 
        --enable-accelerated-2d-canvas --in-process-webgl.

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:

2010-10-06  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
        https://bugs.webkit.org/show_bug.cgi?id=47268

        Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes

        * dom/ViewportArguments.cpp:
        (WebCore::findConfigurationForViewportData):
        * dom/ViewportArguments.h:

2010-10-06  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Nikolas Zimmermann.

        SVGFEMergeNodeElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=47181

        Since feMergeNode doesn't have own renderer, we have to call the invalidation via its parent.

        Tests: svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html

        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
        * svg/SVGFEMergeNodeElement.h:

2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Remove unused code from gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=47086

        gtk2drawing.c was copied from mozilla and contains a lot of code that is not
        used by WebKit. Most of that unused code is uncompatible with gtk3, so
        removing it will make easier porting to gtk3.

        * platform/gtk/gtk2drawing.c:
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        (moz_gtk_destroy_theme_parts_widgets):
        * platform/gtk/gtkdrawing.h:

2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Use pixbufs instead of pixmaps when creating platform cursors
        https://bugs.webkit.org/show_bug.cgi?id=47087

        gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a
        pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead
        for both gtk2 and gtk3.

        * platform/gtk/CursorGtk.cpp:
        (WebCore::createNamedCursor):
        * platform/gtk/GtkVersioning.c:
        (gdk_cairo_format_for_content):
        (gdk_cairo_surface_coerce_to_image):
        (convert_alpha):
        (convert_no_alpha):
        (gdk_pixbuf_get_from_surface):
        * platform/gtk/GtkVersioning.h:

2010-10-06  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add event listener breakpoints sidebar pane
        https://bugs.webkit.org/show_bug.cgi?id=46738

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint.breakpoint.compareTo):
        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
        (WebInspector.NativeBreakpoint):
        (WebInspector.NativeBreakpoint.prototype._setOnBackend.didSet):
        (WebInspector.NativeBreakpoint.prototype._setOnBackend):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
        (WebInspector.BreakpointItem):
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCheckbox):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._eventNameCheckboxClicked):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointEnableChanged):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/inspector.css:
        (.section .properties, .event-bar .event-properties):
        (.section.expanded .properties, .event-bar.expanded .event-properties):
        (ol.properties-tree):
        (ol.properties-tree li):
        (ol.properties-tree li.parent):
        (ol.properties-tree li.parent::before):
        (ol.properties-tree li.parent.expanded::before):
        (ol.properties-tree li .info):
        (ol.properties-tree ol, .stack-trace ol, ol.stack-trace):
        (ol.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
        (ol.stack-trace):
        (.event-listener-breakpoints .event-category):
        (ol.event-listener-breakpoints.properties-tree .children li):
        (.event-listener-breakpoints .checkbox-elem):
        * inspector/front-end/inspector.js:
        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createXHRBreakpointsSidebarPane):

2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Port to gtk+3 (2.91.0)
        https://bugs.webkit.org/show_bug.cgi?id=47249

        Do not use GdkDrawable deprecated API

        Some methods of GdkDrawable are deprecated in gtk2 and have been
        remmoved in gtk3. Equivalent API has been added to GdkWindow.

        * platform/gtk/GtkVersioning.c:
        (getDefaultGDKPointerDevice):
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual):
        (WebCore::screenAvailableRect):

2010-10-06  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Support Progress Tag
        https://bugs.webkit.org/show_bug.cgi?id=45951

        Implement to render progress tag.

        No new tests. Existing tests in fast/dom/HTMLProgressElement.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):
        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
        (WebCore::RenderThemeEfl::paintProgressBar):
        * platform/efl/RenderThemeEfl.h:

2010-10-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        Add KURL::protocolIsData()
        https://bugs.webkit.org/show_bug.cgi?id=47219

        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::taintsCanvas):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest):
        * platform/KURL.h:
        (WebCore::KURL::protocolIsData):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
        (WebCore::ResourceHandleManager::startJob):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::fileLoadTimer):

2010-10-06  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        CSSParser: Enable rule selector source range extraction.
        API modification followed by clients.
        https://bugs.webkit.org/show_bug.cgi?id=46367

        Some code removal suggested by Darin Adler.

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::markSelectorListStart):
        (WebCore::CSSParser::markSelectorListEnd):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markRuleBodyEnd):
        (WebCore::CSSParser::markPropertyStart):
        (WebCore::CSSParser::markPropertyEnd):
        * css/CSSParser.h:
        (WebCore::CSSParser::resetSelectorListMarks):
        (WebCore::CSSParser::resetRuleBodyMarks):
        (WebCore::CSSParser::resetPropertyMarks):
        * css/CSSPropertySourceData.cpp:
        * css/CSSPropertySourceData.h:
        (WebCore::CSSRuleSourceData::create):
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleSourceData):
        (WebCore::InspectorCSSStore::extractRanges):
        (WebCore::InspectorCSSStore::getStyleAttributeRanges):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyleSourceData):

2010-10-06  Dirk Schulze  <krit@webkit.org>

        Added reviewer to commit r69187.

2010-10-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG feMorphology - big radii cause huge ImageBuffer sizes
        https://bugs.webkit.org/show_bug.cgi?id=47263

        The current code in FEMorphology::determineAbsolutePaintRect calculates the smallest paint rect by inflate the paint rect
        of a previous effect with the radius. This was meant as an optimization, but I forgot to clip the calculated image size
        by the maximal effect size. This caused huge image sizes for big radii.

        This is covered by svg/filters/feMorphology-invalid-radius.svg and fixes the crashes on Windows and Snow Leopard bots.

        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::determineAbsolutePaintRect):

2010-10-06  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Dirk Schulze.

        Fixed crash in gtk bots (filter-empty-g.svg) after r69181.

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource):

2010-10-06  Antonio Gomes  <agomes@rim.org>

        Reviewed by Kenneth Rohde Christiansen.

        Rename HitTestResult::rectFromPoint to rectForPoint
        https://bugs.webkit.org/show_bug.cgi?id=47261

        As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
        (WebCore::HitTestResult::rectForPoint):
        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::rectForPoint):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestColumns):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):

2010-10-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Martin Robinson.

        SVGs with filters look grainy when scaled
        https://bugs.webkit.org/show_bug.cgi?id=5526

        Fixed issues on Cairos shadow implementation after the changes to FilterEffects.
        Cairo calculates the inflation of the effect rect itself. Respect this for FEGaussianBlur.
        This is just a temporary solution, since Cairo and Qt will use ContextShadow soon.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::applyPlatformShadow):
        (WebCore::GraphicsContext::createShadowMask):
        (WebCore::GraphicsContext::drawTiledShadow):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/filters/ImageBufferFilter.cpp:
        (WebCore::ImageBufferFilter::ImageBufferFilter):
        (WebCore::ImageBufferFilter::create):
        * platform/graphics/filters/ImageBufferFilter.h:
        (WebCore::ImageBufferFilter::filterRegion):
        (WebCore::ImageBufferFilter::sourceImageRect):

2010-10-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Only execute first SVG text layout phase if needed
        https://bugs.webkit.org/show_bug.cgi?id=47254

        The first SVG text layout phase which computes the per-character metrics and extracts
        the x/y/dx/dy/rotate values from the SVG DOM is currently executed upon every RenderSVGText::layout() call.

        Optimize this, by only calling it:
        - if x/y/dx/dy/rotate value lists change
        - the style of a RenderSVGInlineText changes (eg. font-size changes influence metrics)
        - the text content of any of the children in the <text> subtree change

        No change in layout tests, a pure performance change - covered by existing tests.

        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): Adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
        (WebCore::clipToTextMask): Ditto.
        * rendering/SVGRenderSupport.cpp:
        * rendering/SVGRenderSupport.h: Move findTreeRootObject to RenderSVGText::locateRenderSVGTextAncestor().
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::objectBoundingBox): adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
        (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
        (WebCore::RenderSVGInline::absoluteQuads): Ditto.
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::styleDidChange): Call setNeedsPositioningValuesUpdate() on the RenderSVGText root object, if diff == StyleDifferenceLayout.
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::RenderSVGText): Initialize m_needsPositioningValuesUpdate.
        (WebCore::RenderSVGText::locateRenderSVGTextAncestor): New helper function, moved from SVGRenderSupport, to a more sensible place.
        (WebCore::RenderSVGText::layout): Only execute the first SVG text layout phase, if m_needsPositioningValuesUpdate=true.
        * rendering/svg/RenderSVGText.h:
        (WebCore::RenderSVGText::setNeedsPositioningValuesUpdate):
        (WebCore::toRenderSVGText): Add new helper casting methods, like most other renderers have.
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::updatePositioningValuesInRenderer):
        (WebCore::SVGTextPositioningElement::svgAttributeChanged): If x/y/dx/dy/rotate changes, call setNeedsPositioningValuesUpdate on the RenderSVGText root object.
        (WebCore::SVGTextPositioningElement::childrenChanged): If any children changes (addition, removal), do the same.
        * svg/SVGTextPositioningElement.h:

2010-10-05  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Extensions API] Expose access to resource bodies
        Added support for encoding resource in WebInspector.getResourceContent()
        https://bugs.webkit.org/show_bug.cgi?id=45953

        * inspector/Inspector.idl: Added encoding parameter to getResourceContent()
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getResourceContent):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp: Added sourceBytes() to return encoded representation of resource's binary body.
        (WebCore::InspectorResource::sourceBytes):
        * inspector/InspectorResource.h:
        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Resources.prototype.getContent):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent.onContentAvailable):
        (WebInspector.getEncodedResourceContent):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.getResourceContent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.getResourceContent):

2010-10-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=47235
        
        Make "lr" block-flow fieldsets work.
        
        (1) Patched html.css rules for legends and fieldsets to use logical margins and padding.
        (2) Converted just enough of computePreferredLogicalWidths to make basic examples work.
        (3) Removed the extra border drawing code from fieldsets so that the "clip out the legend" approach
        is now just always used.  It's silly to keep the old border drawing code in (which has already gotten out
        of sync with the base class) just to avoid a save/restore and some clipping.
        (4) Modified the layout/painting routines to place the legend properly and to be able to draw it in
        both the top and the left borders.

        Added fast/blockflow/fieldsets.html

        * css/html.css:
        (legend):
        (fieldset):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
        (WebCore::RenderBlock::setLogicalLeftForChild):
        (WebCore::RenderBlock::setLogicalTopForChild):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        * rendering/RenderBlock.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::layoutLegend):
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderFieldset.h:

2010-10-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        Move parseDataUrl() from CURL into own file
        https://bugs.webkit.org/show_bug.cgi?id=41462

        Move the data URL parsing algorithm into a new file to use it in ResourceHandleWin too.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/network/DataURL.cpp: Added.
        (WebCore::handleDataURL):
        * platform/network/DataURL.h: Added.
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
        (WebCore::ResourceHandleManager::startJob):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::fileLoadTimer):

2010-10-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGs with filters look grainy when scaled
        https://bugs.webkit.org/show_bug.cgi?id=5526

        SVG filter effects need smarter size calculation
        https://bugs.webkit.org/show_bug.cgi?id=31370

        SVG elements use Filters before own transformations
        https://bugs.webkit.org/show_bug.cgi?id=32486

        Calculate all filter results in device space instead of the filtered objects user space. This change is similar to
        the patches for SVG Pattern and SVG Masker before. It avoids pixelation and guarantees smooth filter results for
        every scale level and is independent of any transformation to the target element or any ancester of the target.
        The second part of this patch reduces the size of every effect to the smallest affected region instead of the complete
        filter primitive subregion (http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion). We just use the subregion
        as clipping region, like mentioned in the SVG specification, to make the affected region even smaller now.

        This is a huge speed up. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and
        renders in less than a second.
        Some examples on svg-wow.org can be viewed the first time now, since the subregions were much bigger than the affected
        region.
        There's still more potential to speed up filters, by further reducing the ImageBuffer sizes.
        Renamed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the
        user space now.
        The absolute paint rect is calculated by determineAbsolutePaintRect() and gets called by FilterEffect::effectContext() on
        applying the effect.
        Partly rewrote filter resolution (http://www.w3.org/TR/SVG/filters.html#FilterElementFilterResAttribute) to work with the
        new concept. This also corrects the old behavior to match the SVG specification.

        Tests: svg/filters/filterRes1.svg
               svg/filters/filterRes2.svg
               svg/filters/filterRes3.svg

        * platform/graphics/cairo/GraphicsContextCairo.cpp: Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates.
        (WebCore::GraphicsContext::createShadowMask):
        * platform/graphics/filters/FEBlend.cpp: Renamed repaintRectInLocalCoordinates to absolutePaintRect.
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
        (WebCore::FEComponentTransfer::apply):
        * platform/graphics/filters/FEComposite.cpp: Ditto.
        (WebCore::FEComposite::determineAbsolutePaintRect):
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
        (WebCore::FEConvolveMatrix::apply):
        * platform/graphics/filters/FEConvolveMatrix.h:
        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
        * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
        (WebCore::FEDisplacementMap::apply):
        * platform/graphics/filters/FEDisplacementMap.h:
        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
        * platform/graphics/filters/FEFlood.cpp: Ditto.
        (WebCore::FEFlood::apply):
        * platform/graphics/filters/FEFlood.h:
        (WebCore::FEFlood::determineAbsolutePaintRect):
        * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
        (WebCore::calculateKernelSize):
        (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/FELighting.cpp: Ditto.
        (WebCore::FELighting::apply):
        * platform/graphics/filters/FEMerge.cpp: Ditto.
        (WebCore::FEMerge::apply):
        * platform/graphics/filters/FEMorphology.cpp: Ditto.
        (WebCore::FEMorphology::determineAbsolutePaintRect):
        (WebCore::FEMorphology::apply):
        * platform/graphics/filters/FEMorphology.h:
        * platform/graphics/filters/FEOffset.cpp: Ditto.
        (WebCore::FEOffset::determineAbsolutePaintRect):
        (WebCore::FEOffset::apply):
        * platform/graphics/filters/FEOffset.h:
        * platform/graphics/filters/FETile.cpp: Ditto.
        (WebCore::FETile::determineFilterPrimitiveSubregion):
        (WebCore::FETile::apply):
        * platform/graphics/filters/FETile.h:
        (WebCore::FETile::determineAbsolutePaintRect):
        * platform/graphics/filters/FETurbulence.cpp: Ditto.
        (WebCore::FETurbulence::apply):
        * platform/graphics/filters/FETurbulence.h:
        (WebCore::FETurbulence::determineAbsolutePaintRect):
        * platform/graphics/filters/Filter.h:
        (WebCore::Filter::applyHorizontalScale): Map horizontal effect values to absolute coordinates.
        (WebCore::Filter::applyVerticalScale): Map vertical effect values to absolute coordinates.
        (WebCore::Filter::mapAbsolutePointToLocalPoint):
        (WebCore::Filter::filterRegionInUserSpace):
        * platform/graphics/filters/FilterEffect.cpp: Ditto.
        (WebCore::FilterEffect::determineFilterPrimitiveSubregion):
        (WebCore::FilterEffect::determineAbsolutePaintRect):
        (WebCore::FilterEffect::requestedRegionOfInputImageData):
        (WebCore::FilterEffect::drawingRegionOfInputImage):
        (WebCore::FilterEffect::effectContext):
        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::absolutePaintRect):
        (WebCore::FilterEffect::setAbsolutePaintRect):
        (WebCore::FilterEffect::maxEffectRect): The subregion in absolute coordinates for SVG.
        (WebCore::FilterEffect::setMaxEffectRect):
        * platform/graphics/filters/SourceAlpha.cpp: Ditto.
        (WebCore::SourceAlpha::determineAbsolutePaintRect):
        (WebCore::SourceAlpha::apply):
        * platform/graphics/filters/SourceAlpha.h:
        * platform/graphics/filters/SourceGraphic.cpp: Ditto.
        (WebCore::SourceGraphic::determineAbsolutePaintRect):
        (WebCore::SourceGraphic::apply):
        * platform/graphics/filters/SourceGraphic.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:
        (WebCore::FilterData::FilterData):
        * svg/graphics/filters/SVGFEImage.cpp: Ditto.
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFEImage.h:
        (WebCore::FEImage::determineAbsolutePaintRect):
        * svg/graphics/filters/SVGFilter.cpp:
        (WebCore::SVGFilter::SVGFilter):
        (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
        (WebCore::SVGFilter::applyHorizontalScale):
        (WebCore::SVGFilter::applyVerticalScale):
        (WebCore::SVGFilter::create):
        * svg/graphics/filters/SVGFilter.h:
        (WebCore::SVGFilter::effectBoundingBoxMode):
        (WebCore::SVGFilter::filterRegionInUserSpace):
        (WebCore::SVGFilter::filterRegion):
        (WebCore::SVGFilter::mapAbsolutePointToLocalPoint): Map absolute point to local point in userspace.
        (WebCore::SVGFilter::sourceImageRect):
        (WebCore::SVGFilter::maxImageSize):

2010-10-06  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add "Set Breakpoint" item to XHR resource context menu.
        https://bugs.webkit.org/show_bug.cgi?id=47085

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._contextMenu):

2010-10-05  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Add idl and mock classes for FileSystemSync for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=46405

        Added bunch of *Sync classes, plus refactored some classes:
        Added DOMFileSystemBase as a common base class for DOMFileSystem and
        DOMFileSystemSync.
        Added EntryBase as a common base class for Entry and EntrySync.
        Added DirectoryReaderBase as a common base class for DirectoryReader and
        DirectoryReaderSync.

        Test: fast/filesystem/workers/

        * CMakeLists.txt: Added new files.
        * DerivedSources.cpp: Added new files.
        * DerivedSources.make: Added new files.
        * GNUmakefile.am: Added new files.
        * WebCore.gypi: Added new files.
        * WebCore.pri: Added new files.
        * WebCore.pro: Added new files.
        * WebCore.vcproj/WebCore.vcproj: Added new files. Also removed the duplicated fileapi\FileEntry.cpp entry.
        * WebCore.xcodeproj/project.pbxproj: Added new files.
        * bindings/js/JSDirectoryEntrySyncCustom.cpp: Added.
        * bindings/js/JSEntrySyncCustom.cpp: Added.
        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Added.
        * bindings/v8/custom/V8EntrySyncCustom.cpp: Added.
        * fileapi/DOMFileSystemBase.cpp: Added.
        * fileapi/DOMFileSystemBase.h: Added.
        * fileapi/DOMFileSystemSync.cpp: Added.
        * fileapi/DOMFileSystemSync.h: Added.
        * fileapi/DOMFileSystemSync.idl: Added.
        * fileapi/DirectoryEntrySync.cpp: Added.
        * fileapi/DirectoryEntrySync.h: Added.
        * fileapi/DirectoryEntrySync.idl: Added.
        * fileapi/DirectoryReaderBase.h: Added.
        * fileapi/DirectoryReaderSync.cpp: Added.
        * fileapi/DirectoryReaderSync.h: Added.
        * fileapi/DirectoryReaderSync.idl: Added.
        * fileapi/EntryArraySync.cpp: Added.
        * fileapi/EntryArraySync.h: Added.
        * fileapi/EntryArraySync.idl: Added.
        * fileapi/EntryBase.h: Added.
        * fileapi/EntrySync.cpp: Added.
        * fileapi/EntrySync.h: Added.
        * fileapi/EntrySync.idl: Added.
        * fileapi/FileEntrySync.cpp: Added.
        * fileapi/FileEntrySync.h: Added.
        * fileapi/FileEntrySync.idl: Added.

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

        Reviewed by Dimitri Glazkov.

        REGRESSION (r67166): "Placeholder" text remains in input box after 2nd focus()
        https://bugs.webkit.org/show_bug.cgi?id=45940

        Test: fast/forms/input-placeholder-focus-twice.html

        * html/HTMLFormControlElement.h: Make supportsPlaceholder() public.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::updateFromElement):
         We always need to update the renderer value with the DOM value if
         the element supports the placeholder feature.
         Note: the placeholder feature and "unacceptable renderer value"
         are exclusive.

2010-10-05  Kyusun Kim  <maniagoon@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Translate key code in PlatformKeyboardEvent with IKeysMapping
        https://bugs.webkit.org/show_bug.cgi?id=47234

        Brew MP devices have a variey of key configurations and use modifiers to
        input capital letters, symbols and special characters. Use IKeysMapping to translate key code.

        * platform/brew/PlatformKeyboardEventBrew.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2010-10-05  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by James Robinson.

        [chromium] Add mipmap support for ImageLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=46493

        Mipmap behaviour can be tested with existing tests.
        Tests in LayoutTests/compositing/images/ will detect if
        mipmaps fail.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
        (WebCore::isPowerOfTwo):
        (WebCore::ContentLayerChromium::updateTextureRect):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::SharedValues::npotSupported):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContents):

2010-10-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Issue in treebuilder parsing related to table tags
        https://bugs.webkit.org/show_bug.cgi?id=47190

        Update ASSERT to match the spec and our behavior.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):

2010-10-05  Victoria Kirst  <vrk@google.com>

        Reviewed by James Robinson.

        VideoLayerChromium releases old resources if the LayerRenderer changes.
        https://bugs.webkit.org/show_bug.cgi?id=47030

        Refactored LayerChromium to have a virtual cleanupResources() method
        that will release textures/other context-dependent resources when a
        LayerRenderer changes. ContentLayerChromium and VideoLayerChromium now
        override this method to perform cleanup.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerRenderer):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::cleanupResources):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::~VideoLayerChromium):
        (WebCore::VideoLayerChromium::cleanupResources):
        * platform/graphics/chromium/VideoLayerChromium.h:

2010-10-05  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        FileEntry::file needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=47192

        Test: fast/filesystem/file-from-file-entry.html

        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::file): Implemented.

2010-09-29  Alpha Lam  <hclam@chromium.org>

        Reviewed by James Robinson.

        Render textures in video frame directly.
        https://bugs.webkit.org/show_bug.cgi?id=46765

        Render textures in VideoLayerChromium directly if the video frame type
        is GL texture. In the future VideoLayerChromium will not allocate
        textures and perform textures upload as those operations will be done
        in Chromium to minimize memory copy. This patch will help moving toward
        this direction and facilitate hardware video decoding.

        * platform/graphics/chromium/VideoFrameChromium.h:
        * platform/graphics/chromium/VideoFrameProvider.h:
        (WebCore::VideoFrameProvider::~VideoFrameProvider):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::~VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateContents):
        (WebCore::VideoLayerChromium::draw):
        (WebCore::VideoLayerChromium::releaseCurrentFrame):
        (WebCore::VideoLayerChromium::resetFrameParameters):
        (WebCore::VideoLayerChromium::saveCurrentFrame):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (WebCore::VideoLayerChromium::SharedValues::initialized):

2010-10-05  Fady Samuel  <fsamuel@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages
        https://bugs.webkit.org/show_bug.cgi?id=45131

        When border-collapse: separate property is set on the table, paintObject
        may skip repainting cells, if the dirty region only touches one row/col of pixels.

        Test: fast/table/simple_paint_separate_borders.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintObject):  
            Don't subtract one from the right and bottom of the dirty paint rect.

2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>

        Reviewed by Darin Fisher.

        PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node.
        https://bugs.webkit.org/show_bug.cgi?id=47129

        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::createDocumentStructure):
        (WebCore::PluginDocument::pluginWidget):
        (WebCore::PluginDocument::pluginNode):
        * html/PluginDocument.h:
        (WebCore::PluginDocument::setPluginNode):

2010-10-05  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] Re-enable single-NPP_SetWindow quirk for 64-bit
        https://bugs.webkit.org/show_bug.cgi?id=45363

        This is still causing trouble for people, so let's put the
        quirk back until we can figure this out properly.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):

2010-10-05  Jian Li  <jianli@chromium.org>

        Reviewed by Nate Chapin.

        [V8] Add FileReader to active DOM map
        https://bugs.webkit.org/show_bug.cgi?id=47205

        We need to have a custom FileReader V8 constructor in order to add object
        into active DOM map to prevent it from GC-ed when it is still in-use.

        * Android.v8bindings.mk:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
        (WebCore::V8FileReader::constructorCallback):
        * fileapi/FileReader.idl:

2010-10-05  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer
        https://bugs.webkit.org/show_bug.cgi?id=47193

        Test: Accelerated compositor test infrastructure still coming online. Tested manually.

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

2010-10-05  Nico Weber  <thakis@chromium.org>

        Reviewed by Andreas Kling.

        Fix clang build
        https://bugs.webkit.org/show_bug.cgi?id=47198

        * page/Chrome.h:
        Declare ViewportArguments as struct, not as class.

2010-10-05  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=47204
        
        Make isSelfCollapsingBlock use logical height instead of height in all its checks.

        Added fast/blockflow/self-collapsing-block.html

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

2010-10-05  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Relax restrictions on FileWriter::didWrite calls
        https://bugs.webkit.org/show_bug.cgi?id=47139

        No new tests; they're still waiting on the first implementation.

        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::FileWriter):
        (WebCore::FileWriter::write):
        (WebCore::FileWriter::didWrite):
        * fileapi/FileWriter.h:

2010-10-05  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list')
        https://bugs.webkit.org/show_bug.cgi?id=46943

        We no longer parse the input of setData('text/uri-list') and only store
        the valid URLs that were parsed out.

        Test: editing/pasteboard/dataTransfer-setData-getData.html

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::clearData):
        (WebCore::ChromiumDataObject::clearAllExceptFiles):
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::setData):
        * platform/chromium/ChromiumDataObject.h:

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

        Reviewed by Xan Lopez.

        [GTK] Support FontPlatformData::isFixedPitch for custom fonts
        https://bugs.webkit.org/show_bug.cgi?id=47124

        Instead of determining whether or not a font is a fixed-width font
        lazily, do it up front. For fonts not backed by Fontconfig patterns,
        fetch information about whether or not the font is fixed-width from
        the FreeType face.

        No new tests as this should not change functionality.

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member
        from the Fontconfig pattern or the FreeType face.
        (WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member.
        (WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member.
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member.

2010-10-05  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=47199
        
        Make float positioning work in block layout with block children.
        It doesn't work yet from inside line layout, since line layout is unpatched.

        Added fast/blockflow/floats-in-block-layout.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustFloatingBlock):
        (WebCore::RenderBlock::setLogicalLeftForChild):
        (WebCore::RenderBlock::setLogicalTopForChild):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::type):
        (WebCore::RenderBlock::FloatingObject::renderer):
        (WebCore::RenderBlock::logicalRightForFloat):
        (WebCore::RenderBlock::setLogicalTopForFloat):
        (WebCore::RenderBlock::setLogicalLeftForFloat):
        (WebCore::RenderBlock::setLogicalHeightForFloat):
        (WebCore::RenderBlock::setLogicalWidthForFloat):

2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Web process crash when pressing modifiers in input field
        https://bugs.webkit.org/show_bug.cgi?id=44935

        Revert part of the http://trac.webkit.org/changeset/69105 due to a
        test regression.  Unix: Add ASSERTs to plugin related code. These
        will fail if Qt WebKit2 is used with plugins, unless code is not
        fixed before.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder.

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioBasicProcessorNode files
        https://bugs.webkit.org/show_bug.cgi?id=46495

        No new tests since audio API is not yet implemented.

        * webaudio/AudioBasicProcessorNode.cpp: Added.
        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
        (WebCore::AudioBasicProcessorNode::initialize):
        (WebCore::AudioBasicProcessorNode::uninitialize):
        (WebCore::AudioBasicProcessorNode::process):
        (WebCore::AudioBasicProcessorNode::pullInputs):
        (WebCore::AudioBasicProcessorNode::reset):
        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
        (WebCore::AudioBasicProcessorNode::numberOfChannels):
        * webaudio/AudioBasicProcessorNode.h: Added.
        (WebCore::AudioBasicProcessorNode::processor):

2010-10-05  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        The platform/graphics/gpu folder was mistakenly inside the filters folder.
        I moved it to the right place in the Group Tree.

        * WebCore.xcodeproj/project.pbxproj:

2010-10-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

        Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash
        https://bugs.webkit.org/show_bug.cgi?id=47197

        This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
        by default). Many existing test cases will crash before and after this patch.

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):

2010-10-05  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        [chromium] properly paint really small scrollbar arrows on linux
        https://bugs.webkit.org/show_bug.cgi?id=47109

        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size.  This matches what
            we do on Win.

2010-10-05  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Remove unused CachedResource::Status values (New and NotCached).
        https://bugs.webkit.org/show_bug.cgi?id=47132

        Refactor only, no new tests.

        * loader/CachedResource.h:
        * loader/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::checkCacheObjectStatus):

2010-10-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Rename get* and open*Cursor per the spec on IDBIndex
        https://bugs.webkit.org/show_bug.cgi?id=46906

        The spec changed so that:
        IDBIndex.get -> getKey
        IDBIndex.getObject -> get
        IDBIndex.openCursor -> openKeyCursor
        IDBIndex.openObjectCursor -> openCursor

        Existing tests cover since this is just renaming stuff.

        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        (WebCore::IDBIndex::get):
        (WebCore::IDBIndex::getKey):
        * storage/IDBIndex.h:
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::IDBIndexBackendImpl::openKeyCursor):
        (WebCore::IDBIndexBackendImpl::get):
        (WebCore::IDBIndexBackendImpl::getKey):
        * storage/IDBIndexBackendImpl.h:
        * storage/IDBIndexBackendInterface.h:

2010-10-05  Keith Kyzivat  <keith.kyzivat@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix breakage in RVCT 2.2 compile
        https://bugs.webkit.org/show_bug.cgi?id=47187

        Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and 
        html/canvas/Uin8Array.h
        For RVCT2.2, the using clause is unneeded, and can be omitted.

        A Test case cannot be made for this since this is a build-related issue.

        * html/canvas/Int32Array.h:
        * html/canvas/Uint8Array.h:

2010-10-04  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous.
        https://bugs.webkit.org/show_bug.cgi?id=46883

        Makes the schema manipulation methods synchronous. Modifies the transaction
        logic to support tasks that may have pending events as well as tasks that
        don't have such events.

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::removeObjectStore):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        (WebCore::IDBIndexBackendImpl::id):
        (WebCore::IDBIndexBackendImpl::setId):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::removeIndex):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::create):
        (WebCore::IDBObjectStoreBackendImpl::id):
        (WebCore::IDBObjectStoreBackendImpl::setId):
        (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::objectStore):
        (WebCore::IDBTransactionBackendImpl::scheduleTask):
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
        (WebCore::IDBTransactionBackendImpl::run):
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
        (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
        * storage/IDBTransactionBackendImpl.h:

2010-10-05  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off"
        https://bugs.webkit.org/show_bug.cgi?id=47185

        Test: platform/mac/accessibility/aria-liveregion-marquee-default.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):

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

        Reviewed by Xan Lopez.

        [GTK] Interior scrollbars do not draw their background properly
        https://bugs.webkit.org/show_bug.cgi?id=47096

        Correct the method that the GTK+ theme drawing code uses to
        draw scrolled window backgrounds. Now it uses gtk_paint_shadow,
        the same as the actual code from GTK+.

        No new tests as this is very hard to write tests for. The bug only
        manifests on some GTK+ themes and we have no test harness mechanism
        for testing rendering with non-default GTK+ themes.

        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer
        initialize the widget state, as it's unused by the callee.
        (WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment.
        * platform/gtk/gtk2drawing.c:
        (moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds
        with gtk_paint_shadow instead of gtk_paint_box.

2010-10-05  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem
        https://bugs.webkit.org/show_bug.cgi?id=47025

        PlatformRefPtr is a better choice here because all Brew MP instances are
        reference counted.

        * platform/brew/FileSystemBrew.cpp:
        (WebCore::getFileSize):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::canonicalPath):
        (WebCore::makeAllDirectories):
        (WebCore::openTemporaryFile):

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

        Reviewed by Gustavo Noronha Silva.

        [GTK] Complex text rendering does not render custom fonts
        https://bugs.webkit.org/show_bug.cgi?id=41091

        For fonts that do not have a FontConfig pattern (including custom
        fonts), fall back to the simple text rendering path. This is a work-
        -around for not supporting Pango rendering with non-FontConfig fonts.

        Test: platform/gtk/fonts/font-face-with-complex-text.html

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts.
        (WebCore::Font::floatWidthForComplexText): Ditto.
        (WebCore::Font::offsetForPositionForComplexText): Ditto.
        (WebCore::Font::selectionRectForComplexText): Ditto.

2010-10-05  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Use PlatformRefPtr in getDisplayInfo
        https://bugs.webkit.org/show_bug.cgi?id=47023

        Use PlatformRefPtr to release IBitmap* automatically.

        * platform/brew/ScreenBrew.cpp:
        (WebCore::getDisplayInfo):

2010-10-05  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Including JavaScriptCore/config.h from WebCore/config.h
        instead of from WebCorePrefix.h.
        https://bugs.webkit.org/show_bug.cgi?id=47179

        No new tests, just changing where files are included.

        * WebCorePrefix.h:
        * config.h:

2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Andreas Kling.

        [Qt] Make build work with QT_NO_CURSOR
        https://bugs.webkit.org/show_bug.cgi?id=46097

        Add a missing include.

        * platform/qt/QWebPageClient.h:

2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Andreas Kling.

        [Qt] Make build work with QT_NO_CURSOR
        https://bugs.webkit.org/show_bug.cgi?id=46097

        createCustomCursor() is a static function and not used
        in that file if QT_NO_CURSOR is defined, so rather than
        making it return 0, it should not exist altogether.

        * platform/qt/CursorQt.cpp:
        (WebCore::createCustomCursor):

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

        Windows linker warning fix

        * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the
        build, since it is already being compiled via DerivedSources.cpp. Also
        let VS reorder some files.

2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Web process crash when pressing modifiers in input field
        https://bugs.webkit.org/show_bug.cgi?id=44935

        Fix null pointer dereference by not using
        PlatformKeyboardEvent::m_qtEvent. This member is not set when
        event comes from WebKit2.  Unix: Add ASSERTs to plugin related
        code. These will fail if WebKit2 is used with plugins, unless code
        is not fixed before.  Symbian: Add ASSERT to code which uses
        qtEvent(). It will fail when WebKit2 is enabled for Symbian, if
        code is not fixed before.

        * platform/PlatformKeyboardEvent.h:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::isVirtualKeyCodeRepresentingCharacter): Added.
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent.
        (WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder.
        (WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder.
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::setXKeyEventSpecificFields):
        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder.

2010-10-05  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Csaba Osztrogonác.

        Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp
        https://bugs.webkit.org/show_bug.cgi?id=47115

        LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by
        ENABLE(ACCELERATED_2D_CANVAS).

        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp:

2010-10-05  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Added event onwebkitspeechchange to invoke on new speech input results.
        https://bugs.webkit.org/show_bug.cgi?id=47127

        * dom/EventNames.h: Added webkitspeechchange event name.
        * html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set.
        (WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler.
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl: Added attribute to IDL.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange

2010-10-05  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention
        https://bugs.webkit.org/show_bug.cgi?id=46873

        The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension
        attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated
        code for the attribute did not match the generated code for the IDL, so I modified
        dom/make_names.pl to generate the appropriate name for such extension attributes.

        * bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name.
        (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
        * dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the
        generated code from IDL and remember the original names including the x- prefix when writing
        out the cpp files.
        * html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech
        * html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech

2010-10-04  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API
        https://bugs.webkit.org/show_bug.cgi?id=47080

        * inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API.
        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):

2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>

        Reviewed by Darin Fisher.

        Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child.
        https://bugs.webkit.org/show_bug.cgi?id=47129

        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::pluginWidgetFromDocument):

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add BiquadDSPKernel files
        https://bugs.webkit.org/show_bug.cgi?id=46528

        No new tests since audio API is not yet implemented.

        * webaudio/BiquadDSPKernel.cpp: Added.
        (WebCore::BiquadDSPKernel::process):
        * webaudio/BiquadDSPKernel.h: Added.
        (WebCore::BiquadDSPKernel::BiquadDSPKernel):
        (WebCore::BiquadDSPKernel::reset):
        (WebCore::BiquadDSPKernel::biquadProcessor):

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Fix AudioContext to use new HRTFDatabaseLoader API
        https://bugs.webkit.org/show_bug.cgi?id=46858

        No new tests since audio API is not yet implemented.

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

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioPannerNode files
        https://bugs.webkit.org/show_bug.cgi?id=46505

        No new tests since audio API is not yet implemented.

        * webaudio/AudioPannerNode.cpp: Added.
        (WebCore::fixNANs):
        (WebCore::AudioPannerNode::AudioPannerNode):
        (WebCore::AudioPannerNode::~AudioPannerNode):
        (WebCore::AudioPannerNode::pullInputs):
        (WebCore::AudioPannerNode::process):
        (WebCore::AudioPannerNode::reset):
        (WebCore::AudioPannerNode::initialize):
        (WebCore::AudioPannerNode::uninitialize):
        (WebCore::AudioPannerNode::listener):
        (WebCore::AudioPannerNode::setPanningModel):
        (WebCore::AudioPannerNode::getAzimuthElevation):
        (WebCore::AudioPannerNode::dopplerRate):
        (WebCore::AudioPannerNode::distanceConeGain):
        (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
        * webaudio/AudioPannerNode.h: Added.
        (WebCore::AudioPannerNode::create):
        (WebCore::AudioPannerNode::panningModel):
        (WebCore::AudioPannerNode::position):
        (WebCore::AudioPannerNode::setPosition):
        (WebCore::AudioPannerNode::orientation):
        (WebCore::AudioPannerNode::setOrientation):
        (WebCore::AudioPannerNode::velocity):
        (WebCore::AudioPannerNode::setVelocity):
        (WebCore::AudioPannerNode::distanceModel):
        (WebCore::AudioPannerNode::setDistanceModel):
        (WebCore::AudioPannerNode::refDistance):
        (WebCore::AudioPannerNode::setRefDistance):
        (WebCore::AudioPannerNode::maxDistance):
        (WebCore::AudioPannerNode::setMaxDistance):
        (WebCore::AudioPannerNode::rolloffFactor):
        (WebCore::AudioPannerNode::setRolloffFactor):
        (WebCore::AudioPannerNode::coneInnerAngle):
        (WebCore::AudioPannerNode::setConeInnerAngle):
        (WebCore::AudioPannerNode::coneOuterAngle):
        (WebCore::AudioPannerNode::setConeOuterAngle):
        (WebCore::AudioPannerNode::coneOuterGain):
        (WebCore::AudioPannerNode::setConeOuterGain):
        (WebCore::AudioPannerNode::distanceGain):
        (WebCore::AudioPannerNode::coneGain):
        * webaudio/AudioPannerNode.idl: Added.

2010-10-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [Cairo] Port drawTiledShadow to the new ContextShadow
        https://bugs.webkit.org/show_bug.cgi?id=45902

        Ported the drawTiledShadow function to the ContextShadow, it
        renders shadows for rects faster than the simple blurring using
        tiling of a smaller rect. We will remove the old function in a
        next patch when starting to use ContextShadows for cairo
        rendering.

        * platform/graphics/ContextShadow.h:
        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::drawRectShadowWithoutTiling):
        (WebCore::ContextShadow::drawRectShadow):

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add BiquadProcessor files
        https://bugs.webkit.org/show_bug.cgi?id=46527

        No new tests since audio API is not yet implemented.

        * webaudio/BiquadProcessor.cpp: Added.
        (WebCore::BiquadProcessor::BiquadProcessor):
        (WebCore::BiquadProcessor::~BiquadProcessor):
        (WebCore::BiquadProcessor::createKernel):
        (WebCore::BiquadProcessor::process):
        * webaudio/BiquadProcessor.h: Added.
        (WebCore::BiquadProcessor::filterCoefficientsDirty):
        (WebCore::BiquadProcessor::parameter1):
        (WebCore::BiquadProcessor::parameter2):
        (WebCore::BiquadProcessor::parameter3):
        (WebCore::BiquadProcessor::type):

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add EqualPowerPanner files
        https://bugs.webkit.org/show_bug.cgi?id=45077

        No new tests since audio API is not yet implemented.

        * platform/audio/EqualPowerPanner.cpp: Added.
        (WebCore::EqualPowerPanner::EqualPowerPanner):
        (WebCore::EqualPowerPanner::pan):
        * platform/audio/EqualPowerPanner.h: Added.
        (WebCore::EqualPowerPanner::reset):

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add HighPass2FilterNode files
        https://bugs.webkit.org/show_bug.cgi?id=46533

        No new tests since audio API is not yet implemented.

        * webaudio/HighPass2FilterNode.cpp: Added.
        (WebCore::HighPass2FilterNode::HighPass2FilterNode):
        * webaudio/HighPass2FilterNode.h: Added.
        (WebCore::HighPass2FilterNode::create):
        (WebCore::HighPass2FilterNode::cutoff):
        (WebCore::HighPass2FilterNode::resonance):
        (WebCore::HighPass2FilterNode::biquadProcessor):
        * webaudio/HighPass2FilterNode.idl: Added.

2010-10-05  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add LowPass2FilterNode files
        https://bugs.webkit.org/show_bug.cgi?id=46532

        No new tests since audio API is not yet implemented.

        * webaudio/LowPass2FilterNode.cpp: Added.
        (WebCore::LowPass2FilterNode::LowPass2FilterNode):
        * webaudio/LowPass2FilterNode.h: Added.
        (WebCore::LowPass2FilterNode::create):
        (WebCore::LowPass2FilterNode::cutoff):
        (WebCore::LowPass2FilterNode::resonance):
        (WebCore::LowPass2FilterNode::biquadProcessor):
        * webaudio/LowPass2FilterNode.idl: Added.

2010-10-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Kent Tamura.

        Fixed compilation problem added in commit 69082. The interface of
        the function has two parameters with the same name.

        * rendering/RenderBlock.h:

2010-10-04  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioUtilities files
        https://bugs.webkit.org/show_bug.cgi?id=47011

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioUtilities.cpp: Added.
        (WebCore::AudioUtilities::decibelsToLinear):
        (WebCore::AudioUtilities::linearToDecibels):
        (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
        * platform/audio/AudioUtilities.h: Added.

2010-10-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware.
        
        Also clean up how floats are placed to use a bit instead of the magic -1 value on top().

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::removeFloatingObject):
        (WebCore::RenderBlock::removeFloatingObjectsBelow):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        (WebCore::RenderBlock::FloatingObject::isPlaced):
        (WebCore::RenderBlock::FloatingObject::setIsPlaced):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::determineStartPosition):

2010-10-04  Nico Weber  <thakis@chromium.org>

        Reviewed by Kenneth Russell.

        Fix broken C++ in PODInterval and PODIntervalTree
        https://bugs.webkit.org/show_bug.cgi?id=47063

        See http://clang.llvm.org/compatibility.html#dep_lookup . Since
        valueToString needs to work with non-class types, it needs to be
        declared before it's used. And since it needs to handle many types, it
        needs to be a template function, for which clients will need to
        provide specializations for the types they care about. Partial template
        specialization is only supported for structs, so wrap the function in
        a struct, too.

        * platform/graphics/gpu/PODInterval.h:
        (WebCore::PODInterval::toString):
        * platform/graphics/gpu/PODIntervalTree.h:
        (WebCore::PODIntervalTree::checkInvariantsFromNode):
        * platform/graphics/gpu/PODRedBlackTree.h:
        (WebCore::PODRedBlackTree::dumpFromNode):

2010-10-04  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial Navigation: Add support for <input type="radio">
        https://bugs.webkit.org/show_bug.cgi?id=46993

        When using Spatial Navigation, every radio button should be focusable and 
        users should be able to navigate from one button to the next without moving the selection. 

        Tests: fast/events/spatial-navigation/snav-radio-group.html
               fast/events/spatial-navigation/snav-radio.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable):
        Every radio button should be keyboard focusable, if using Spatial Navigation.
        (WebCore::HTMLInputElement::defaultEventHandler):
        Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation.

2010-10-04  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Andreas Kling.

        SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=47074
        The patch also implements the simple setStdDeviation method.

        Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html
               svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html
               svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html

        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
        (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
        * svg/SVGFEGaussianBlurElement.h:

2010-10-04  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Add Base64DecodePolicy option at base64Decode()
        https://bugs.webkit.org/show_bug.cgi?id=41510

        Add an option for ignoring characters in base64 data.
        This is necessary for decoding data urls.

        Also add an overload to decode WebCore::String directly.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::atob):
        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):
        * platform/text/Base64.cpp:
        (WebCore::base64Encode):
        (WebCore::base64Decode):
        (WebCore::base64DecodeInternal):
        * platform/text/Base64.h:
        (WebCore::):

2010-10-04  Ryuan Choi  <bunhere@gmail.com>

        Unreviewed build fix.

        [WML] Build fix for r68854
        https://bugs.webkit.org/show_bug.cgi?id=47043

        Include HTMLParserIdioms.h.

        No features added, so no new tests.

        * wml/WMLAElement.cpp:
        * wml/WMLImageLoader.cpp:

2010-10-04  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix.

        [CMAKE] Build fix for r68901
        https://bugs.webkit.org/show_bug.cgi?id=47042

        Move plugins/PluginPackage.cpp

        No features added, so no new tests.

        * CMakeLists.txt:

2010-10-04  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Hook FileEntry::createWriter to DOMFileSystem::createWriter
        https://bugs.webkit.org/show_bug.cgi?id=46908

        No new tests--still waiting for the first complete implementation.

        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::createWriter):

2010-10-04  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial Navigation: select element does not release focus with Spatial Navigation
        https://bugs.webkit.org/show_bug.cgi?id=46896

        When using Spatial Navigation, once a select element is focused, you cannot use arrow keys
        to navigate out of the select element. That is because select element currently uses the
        arrow keys to change the selected element.
        Change the behavior of select element so it does not change selection, if Spatial Navigation
        is on.

        This patch is addressing the case where Spatial Navigation is used 
        in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on.
        In the future we can add support for the case where the flag is off, and
        the user needs to traverse the select element inline.

        Tests: fast/events/spatial-navigation/snav-multiple-select.html
               fast/events/spatial-navigation/snav-single-select.html

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

2010-10-04  Sriram Neelakandan  <sriram.neelakandan@gmail.com>

        Reviewed by Andreas Kling.

        [Qt] QNetworkReplyHandler forces buffered output for FormData with files
        https://bugs.webkit.org/show_bug.cgi?id=46259

        No new tests. Existing form submit tests should cover this change.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::FormDataIODevice::FormDataIODevice):
        (WebCore::FormDataIODevice::computeSize):
         Add computeSize() for computing form device size
        (WebCore::QNetworkReplyHandler::start):
         Call computeSize(), fill Content-Length and prevent UploadData buffering
        * platform/network/qt/QNetworkReplyHandler.h:
        (WebCore::FormDataIODevice::getFormDataSize):

2010-10-04  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Antonio Gomes.

        Fixed the typo that searches the wrong direction in the no-focus-node case.
        As a result, after page is loaded, pressing key "arrowdown" will bring the
        focus to the 1st element instead of the last element.
        https://bugs.webkit.org/show_bug.cgi?id=46901

        Test: fast/events/spatial-navigation/snav-1st-stop.html

        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusDirectionally):

2010-10-04  Simon Fraser  <simon.fraser@apple.com>

        No review.
        
        Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h
        to fail at compile time if Mac includes that header.

        * platform/network/cf/SocketStreamHandle.h:
        * platform/network/qt/SocketStreamHandle.h:

2010-10-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=47136
        WebSocket tests are crashing

        The Mac xcode project was finding qt/SocketStreamHandle.h because of
        an inadvertent change in r68951. Thus the header and implementation didn't match,
        and memory corruption ensued.
        
        * WebCore.xcodeproj/project.pbxproj:

2010-10-04  Chris Marrin  <cmarrin@apple.com>

        Reviewed by James Robinson.

        Move SharedGraphicsContext3D from ChromeClient to Page
        https://bugs.webkit.org/show_bug.cgi?id=47113

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        * page/ChromeClient.h:
        * page/Page.cpp:
        (WebCore::Page::sharedGraphicsContext3D):
        * page/Page.h:
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:

2010-10-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Implement IndexedDB's oncomplete and ontimeout.
        https://bugs.webkit.org/show_bug.cgi?id=47106

        Add ontimeout and oncomplete to IDBTransaction and plumb
        them.  Test this behavior in the existing IDBTransaction-basics
        test.

        * WebCore.gypi:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::mode):
        (WebCore::IDBTransaction::objectStore):
        (WebCore::IDBTransaction::abort):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        (WebCore::IDBTransaction::onTimeout):
        (WebCore::IDBTransaction::stop):
        (WebCore::IDBTransaction::onAbortTimerFired):
        (WebCore::IDBTransaction::onCompleteTimerFired):
        (WebCore::IDBTransaction::onTimeoutTimerFired):
        * storage/IDBTransaction.h:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::commit):
        * storage/IDBTransactionCallbacks.h:

2010-10-04  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Crash at WebCore::nextCandidate + 27
        https://bugs.webkit.org/show_bug.cgi?id=47118
        <rdar://problem/7282934>

        When we canonicalize a Position to create a VisiblePosition, the position
        is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets
        that can produce a lot of side effects, including changing the selection.
        This becomes a serious problem whne the position passed as reference is one of
        the selection endpoints.
        
        Test: editing/selection/focus-crash.html

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::canonicalPosition):

2010-10-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=37812
        Assertion failure when appcache/fail-on-update.html is run twice in a row

        Test: http/tests/appcache/fail-on-update-2.html

        For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made
        previously are still good, and covered by the new test.

        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
        Handle the case when the cache is already obsolete by the time cache selection occurs.

        * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource):
        It's not true that loading from appcache always succeeds - it can be aborted.

        * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):
        Calling ensureOriginRecord(group->origin()) can change lastInsertRowID!

2010-10-04  Erik Arvidsson  <arv@chromium.org>

        Reviewed by James Robinson.

        https://bugs.webkit.org/show_bug.cgi?id=47122
        Crash in classList when class attribute is empty.

        Tests: fast/dom/HTMLElement/class-list.html

        * html/DOMTokenList.cpp:
        (WebCore::DOMTokenList::length):
        (WebCore::DOMTokenList::containsInternal):
        (WebCore::DOMTokenList::classNames):

2010-10-04  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Use isHTMLSpace in more places, and optimize it
        https://bugs.webkit.org/show_bug.cgi?id=47103

        * css/CSSParser.cpp:
        (WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function.
        (WebCore::parseAlphaValue): Ditto.
        (WebCore::CSSParser::text): Ditto.

        * dom/SpaceSplitString.h: Removed isClassWhitespace.

        * dom/SpaceSplitString.cpp:
        (WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace.
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged): Ditto.
        * html/DOMTokenList.cpp:
        (WebCore::validateToken): Ditto.
        (WebCore::DOMTokenList::removeInternal): Ditto.

        * html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take
        only a single branch and plain old spaces take only two branches.

2010-10-04  Justin Schuh  <jschuh@chromium.org>

        Reviewed by James Robinson.

        HTMLMediaElement delayed load should fire asynchronously
        https://bugs.webkit.org/show_bug.cgi?id=45765

        Test: media/remove-from-document-before-load.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::decrementLoadEventDelayCount):
        (WebCore::Document::loadEventDelayTimerFired):
        * dom/Document.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::asyncEventTimerFired):
        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
        * html/HTMLMediaElement.h:

2010-10-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        ResourceHandle's public/protected/private sections are fragmented
        https://bugs.webkit.org/show_bug.cgi?id=47038

        Minor cleanup.

        * platform/network/ResourceHandle.h:

2010-10-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=43506
        <rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test,
        idempotent-update.html)

        Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to
        abort update process explicitly.

        Note that in principle, update could piggyback on any other existing frame - or even run
        frameless - but currently, it's tied to the first frame that requested update.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::stopLoading):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::stopLoadingInFrame):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::~ApplicationCacheHost):
        (WebCore::ApplicationCacheHost::stopLoadingInFrame):
        * loader/appcache/ApplicationCacheHost.h:

2010-10-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Rename RedirectScheduler to NavigationScheduler
        https://bugs.webkit.org/show_bug.cgi?id=47037

        This class schedules more than just redirects.  In fact, it schedules
        most kinds of navigations.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::createWindow):
        (WebCore::::open):
        * bindings/generic/BindingFrame.h:
        (WebCore::::navigateIfAllowed):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::createWindow):
        (WebCore::JSDOMWindow::open):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::reload):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::reloadCallback):
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        (WebCore::Document::processHttpEquiv):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setResourceTrackingEnabled):
        (WebCore::InspectorController::reloadPage):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setDefersLoading):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::cancelAndClear):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::checkCompleted):
        (WebCore::FrameLoader::provisionalLoadStarted):
        (WebCore::FrameLoader::completed):
        (WebCore::FrameLoader::prepareForCachedPageRestore):
        * loader/FrameLoader.h:
        * loader/NavigationScheduler.cpp: Added.
        (WebCore::ScheduledNavigation::ScheduledNavigation):
        (WebCore::ScheduledNavigation::~ScheduledNavigation):
        (WebCore::ScheduledNavigation::shouldStartTimer):
        (WebCore::ScheduledNavigation::didStartTimer):
        (WebCore::ScheduledNavigation::didStopTimer):
        (WebCore::ScheduledNavigation::delay):
        (WebCore::ScheduledNavigation::lockHistory):
        (WebCore::ScheduledNavigation::lockBackForwardList):
        (WebCore::ScheduledNavigation::wasDuringLoad):
        (WebCore::ScheduledNavigation::isLocationChange):
        (WebCore::ScheduledNavigation::wasUserGesture):
        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
        (WebCore::ScheduledURLNavigation::fire):
        (WebCore::ScheduledURLNavigation::didStartTimer):
        (WebCore::ScheduledURLNavigation::didStopTimer):
        (WebCore::ScheduledURLNavigation::url):
        (WebCore::ScheduledURLNavigation::referrer):
        (WebCore::ScheduledRedirect::ScheduledRedirect):
        (WebCore::ScheduledRedirect::shouldStartTimer):
        (WebCore::ScheduledLocationChange::ScheduledLocationChange):
        (WebCore::ScheduledRefresh::ScheduledRefresh):
        (WebCore::ScheduledRefresh::fire):
        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
        (WebCore::ScheduledHistoryNavigation::fire):
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
        (WebCore::ScheduledFormSubmission::fire):
        (WebCore::ScheduledFormSubmission::didStartTimer):
        (WebCore::ScheduledFormSubmission::didStopTimer):
        (WebCore::NavigationScheduler::NavigationScheduler):
        (WebCore::NavigationScheduler::~NavigationScheduler):
        (WebCore::NavigationScheduler::redirectScheduledDuringLoad):
        (WebCore::NavigationScheduler::locationChangePending):
        (WebCore::NavigationScheduler::clear):
        (WebCore::NavigationScheduler::scheduleRedirect):
        (WebCore::NavigationScheduler::mustLockBackForwardList):
        (WebCore::NavigationScheduler::scheduleLocationChange):
        (WebCore::NavigationScheduler::scheduleFormSubmission):
        (WebCore::NavigationScheduler::scheduleRefresh):
        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
        (WebCore::NavigationScheduler::timerFired):
        (WebCore::NavigationScheduler::schedule):
        (WebCore::NavigationScheduler::startTimer):
        (WebCore::NavigationScheduler::cancel):
        * loader/NavigationScheduler.h: Added.
        * loader/RedirectScheduler.cpp: Removed.
        * loader/RedirectScheduler.h: Removed.
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadOrRedirectSubframe):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * page/Frame.h:
        (WebCore::Frame::navigationScheduler):
        * page/History.cpp:
        (WebCore::History::back):
        (WebCore::History::forward):
        (WebCore::History::go):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest):

2010-10-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Remove ENABLE_SANDBOX
        https://bugs.webkit.org/show_bug.cgi?id=47032

        I'm not sure there's a reason for this to be behind a compile flag
        anymore.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * features.pri:
        * html/HTMLIFrameElement.cpp:
        (WebCore::parseSandboxAttribute):
        (WebCore::HTMLIFrameElement::parseMappedAttribute):

2010-10-04  Huahui Wu  <mediadependent@gmail.com>

        Reviewed by Darin Adler.

        Fix a compiler error for ANDROID introduced by bug 45221.
        https://bugs.webkit.org/show_bug.cgi?id=47095

        It's a small fix for a compiler error, so there is no new test.

        * platform/android/PlatformTouchEventAndroid.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):

2010-10-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: doAXRangeForLine does not work
        https://bugs.webkit.org/show_bug.cgi?id=47101

        Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
        The code was using a SelectionController to extend to the next line. Rather than change the implementation
        of that core functionality, it is cleaner to use endOfLine to find the end of the line.

        Test: platform/mac/accessibility/range-for-line-textarea.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::doAXRangeForLine):

2010-10-04  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed, build fix for r68951.

        Add stub implementation for ProxyServer logic.

        * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
        * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added

2010-10-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=47035
        Application cache selection algorithm should only be invoked after navigation

        Tests: http/tests/appcache/document-write-html-element-2.html
               http/tests/appcache/document-write-html-element.html
               http/tests/appcache/insert-html-element-with-manifest-2.html
               http/tests/appcache/insert-html-element-with-manifest.html

        * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
        (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
        Track whether the document being parsed is being loaded as part of navigation.

        * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
        cache selection algorithm if the document is being loaded as part of navigation. We don't 
        want to switch associated appcache is someone document.writes <html manifest=...>.

        * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
        this code can't be in HTMLHtmlElement::insertedIntoDocument().

        * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
        * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
        * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
        * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
        * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
        * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        Check for manifest attribute in cases specified by HTML5.

        * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().

        * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
        * loader/DocumentWriter.h:
        Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
        loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
        definition that I could find - this seems to be a meaningful formalization.

2010-10-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloats):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalTopForFloat):
        (WebCore::RenderBlock::logicalLeftForFloat):
        (WebCore::RenderBlock::logicalWidthForFloat):

2010-10-04  Diego Gonzalez  <diegohcg@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Hook up DeviceOrientation data for Qt support
        https://bugs.webkit.org/show_bug.cgi?id=47052

        Get DeviceOrientation necessary data via Qt mobility library
        using a provider class.

        * WebCore.pro:

2010-10-01  Victoria Kirst  <vrk@google.com>

        Reviewed by James Robinson.

        Fixing crash when audio media player is destructed
        https://bugs.webkit.org/show_bug.cgi?id=47020

        Adds assert for LayerRenderer in destructor.

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

2010-10-04  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: do not show breakpoint in front-end if it was not set in v8
        https://bugs.webkit.org/show_bug.cgi?id=46749

        * bindings/v8/DebuggerScript.js:
        ():

2010-10-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [cairo] Context shadow modifies the data of the surface without
        flushing and marking as dirty
        https://bugs.webkit.org/show_bug.cgi?id=47079

        Added the cairo_surface_flush and cairo_surface_mark_dirty before
        and after modifying the image pixels directly.

        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::endShadowLayer):

2010-10-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Crashed caused by missing OwnPtrCairo include, for more
        information check the issue in the bug 46268.

        * platform/graphics/cairo/CairoUtilities.cpp:

2010-10-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [cairo] Move some cairo functions to the CairoUtilities
        https://bugs.webkit.org/show_bug.cgi?id=47076

        Moved some cairo functions to the CairoUtilities so we can use
        them outside GraphicsContextCairo.

        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::appendPathToCairoContext):
        (WebCore::setPathOnCairoContext):
        (WebCore::appendWebCorePathToCairoContext):
        (WebCore::toCairoOperator):
        (WebCore::drawPatternToCairoContext):
        * platform/graphics/cairo/CairoUtilities.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):

2010-10-04  podivilov@chromium.org  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: implement pausing on event listeners (back-end part)
        https://bugs.webkit.org/show_bug.cgi?id=46624

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
        * bindings/v8/ScriptDebugServer.h:
        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setNativeBreakpoint):
        (WebCore::InspectorController::removeNativeBreakpoint):
        (WebCore::InspectorController::shouldBreakOnEvent):
        (WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
        (WebCore::InspectorDebuggerAgent::pause):
        (WebCore::InspectorDebuggerAgent::didContinue):
        (WebCore::InspectorDebuggerAgent::breakProgram):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::eventHasListeners):
        (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
        (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
        (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::id):
        * inspector/front-end/CallStackSidebarPane.js:

2010-10-04  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add total bar to the network panel.
        https://bugs.webkit.org/show_bug.cgi?id=47081

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.createDividerElement):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype.removeChild):
        (WebInspector.DataGrid.prototype.sortNodes):
        (WebInspector.DataGrid.prototype._clickInHeaderCell):
        (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.resize):
        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
        (WebInspector.NetworkPanel.prototype._createTimelineGrid):
        (WebInspector.NetworkPanel.prototype._createSortingFunctions):
        (WebInspector.NetworkPanel.prototype._sortItems):
        (WebInspector.NetworkPanel.prototype._sortByTimeline):
        (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
        (WebInspector.NetworkPanel.prototype._createSummaryBar):
        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
        (WebInspector.NetworkPanel.prototype._updateFilter):
        (WebInspector.NetworkPanel.prototype.show):
        (WebInspector.NetworkPanel.prototype.refresh):
        (WebInspector.NetworkPanel.prototype.reset):
        (WebInspector.NetworkDataGridNode.SizeComparator):
        (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
        (WebInspector.NetworkTotalGridNode):
        (WebInspector.NetworkTotalGridNode.prototype.createCells):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.createFilterPanel):
        * inspector/front-end/inspector.css:
        (.scope-bar-divider):
        * inspector/front-end/networkPanel.css:
        (.network-timeline-grid):
        (.network-summary-bar):
        (.network-summary-bar-bottom):
        (.data-grid td .network-summary-bar):

2010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Viewport data change notifications
        https://bugs.webkit.org/show_bug.cgi?id=46755

        Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
        changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
        viewport data in Page as a reference, to be able to send notifications only when the current viewport
        has changed.

        * dom/Document.cpp:
        (WebCore::Document::processViewport):
        (WebCore::Document::setInPageCache):
        * dom/ViewportArguments.h:
        (WebCore::ViewportArguments::operator==):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::HTMLBodyElement):
        * page/Chrome.cpp:
        (WebCore::Chrome::viewportDataChanged):
        * page/Chrome.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::viewportDataChanged):
        * page/Page.cpp:
        (WebCore::Page::updateViewportArguments):
        * page/Page.h:
        (WebCore::Page::viewportArguments):

2010-10-03  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for r68996.

        * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
        * html/MonthInputType.cpp: ditto.
        * html/NumberInputType.cpp: ditto.
        * html/RangeInputType.cpp: ditto.

2010-10-03  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Refactor HTMLInputElement: Move parseToDouble() and
        parseToDateComponents() to InputType.
        https://bugs.webkit.org/show_bug.cgi?id=46965

        Introduce BaseDateAndTimeInputType, which is a super class of
        date, datetime, datetime-local, month, time, and week types.

        No new tests. Just a refactoring.

        * Android.mk: Add BaseDateAndTimeInputType.
        * CMakeLists.txt: ditto.
        * GNUmakefile.am: ditto.
        * WebCore.gypi: ditto.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * html/BaseDateAndTimeInputType.cpp: Added.
        (WebCore::BaseDateAndTimeInputType::parseToDouble):
        (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
        * html/BaseDateAndTimeInputType.h: Added.
        (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
        * html/DateInputType.cpp:
        (WebCore::DateInputType::parseToDateComponentsInternal):
        * html/DateInputType.h:
        (WebCore::DateInputType::DateInputType):
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::parseToDateComponentsInternal):
        * html/DateTimeInputType.h:
        (WebCore::DateTimeInputType::DateTimeInputType):
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
        * html/DateTimeLocalInputType.h:
        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
        * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
        (WebCore::HTMLInputElement::typeMismatch):
        (WebCore::HTMLInputElement::rangeUnderflow):
        (WebCore::HTMLInputElement::rangeOverflow):
        (WebCore::HTMLInputElement::minimum):
        (WebCore::HTMLInputElement::maximum):
        (WebCore::HTMLInputElement::stepBase):
        (WebCore::HTMLInputElement::stepMismatch):
        (WebCore::HTMLInputElement::applyStep):
        (WebCore::HTMLInputElement::valueAsDate):
        (WebCore::HTMLInputElement::valueAsNumber):
        (WebCore::HTMLInputElement::handleKeyEventForRange):
        (WebCore::HTMLInputElement::stepUpFromRenderer):
        * html/HTMLInputElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::parseToDouble):
        (WebCore::InputType::parseToDateComponents):
        * html/InputType.h:
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::parseToDouble):
        (WebCore::MonthInputType::parseToDateComponentsInternal):
        * html/MonthInputType.h:
        (WebCore::MonthInputType::MonthInputType):
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::parseToDouble):
        * html/NumberInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::parseToDouble):
        * html/RangeInputType.h:
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::parseToDateComponentsInternal):
        * html/TimeInputType.h:
        (WebCore::TimeInputType::TimeInputType):
        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::parseToDateComponentsInternal):
        * html/WeekInputType.h:
        (WebCore::WeekInputType::WeekInputType):

2010-10-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Holger Freyther.

        ASSERT(m_state = Open); is bad news bears
        https://bugs.webkit.org/show_bug.cgi?id=47057

        Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
        Too bad the compiler doesn't catch these errors.  I don't believe this
        is possible to test.

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::writeStreamCallback):

2010-10-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Holger Freyther.

        All the WebSocket tests crash
        https://bugs.webkit.org/show_bug.cgi?id=47056

        More code that tries to hold onto temporaries with references.

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didOpen):

2010-10-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Holger Freyther.

        All the WebSocket tests crash
        https://bugs.webkit.org/show_bug.cgi?id=47055

        This code attempts to hold onto temporary objects using references.
        That doesn't work in C++. Instead, we need to actually store the
        objects somewhere.

        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):

2010-10-02  Diego Gonzalez  <diegohcg@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Provide Qt support for DeviceMotion/Orientation clients
        https://bugs.webkit.org/show_bug.cgi?id=47051

        Add Qt DeviceMotion/Orientation dummy clients in build system.

        * WebCore.pro:

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

        Reviewed by Dirk Schulze.

        Rewrite SVG text layout code
        https://bugs.webkit.org/show_bug.cgi?id=45532

        Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch).

        Phase #1) - SVGTextLayoutAttributesBuilder
        ------------------------------------------

        Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>)
        This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
        Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.

        Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk
        RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.

        The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years.

        Phase #2) - SVGTextLayoutEngine
        ------------------------------------------

        RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
        decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
        current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.

        For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
        is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine
        and starts phase #2 of the layout process.

        SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline,
        letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.

        As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured
        at once. Some examples to illustrate what's going on:

        <text x="20">ABCD</text>:
        - SVGInlineTextBox
          - SVGTextFragment, start 0 length 4, "ABCD" (x=20)

        <text x="20 100">ABCD</text>:
        - SVGInlineTextBox
          - SVGTextFragment, start 0 length 1, "A" (x=20)
        - SVGInlineTextBox
          - SVGTextFragment, start 0 length 1, "B" (x=100)
          - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)

        <text><textPath xlink:href="#somePath">ABCD</textPath></text>:
        - SVGInlineTextBox
          - SVGTextFragment, start 0 length 1, "A" (rotated!)
          - SVGTextFragment, start 1 length 1, "B" (rotated!)
          - SVGTextFragment, start 2 length 1, "C" (rotated!)
          - SVGTextFragment, start 3 length 1, "D" (rotated!)

        <text x="0 50 100">A<tspan>B</tspan>C</text>
        - SVGInlineTextBox
          - SVGTextFragment, start 0 length 1, "A" (x=0)
        - SVGInlineFlowBox
          - SVGInlineTextBox
            - SVGTextFragment, start 0 length 1, "B" (x=50)
        - SVGInlineTextBox
          - SVGTextFragment, start 0 length 1, "C" (x=100)

        When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
        All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
        This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.

        We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
        if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch.
        It's likely that we'll also find ways to skip phase #2 in certain situations.

        Phase #3) - SVGTextChunkBuilder
        ------------------------------------------

        After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
        text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").

        SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
        are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).

        After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
        boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.

        This should give interessted readers a good summary of how the new text layout engine works.
        See LayoutTests/ChangeLog for more details on test progression.

        Tests: svg/custom/text-rotation.svg
               svg/custom/text-x-dy-lists.svg

        * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/InlineBox.h:
        (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
        * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
        * rendering/RenderSVGAllInOne.cpp: removes
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
        * rendering/SVGCharacterData.cpp: Removed.
        * rendering/SVGCharacterData.h: Removed.
        * rendering/SVGCharacterLayoutInfo.cpp: Removed.
        * rendering/SVGCharacterLayoutInfo.h: Removed.
        * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
        (WebCore::writeRenderSVGTextBox):
        (WebCore::writeSVGInlineTextBox):
        * rendering/SVGTextChunkLayoutInfo.cpp: Removed.
        * rendering/SVGTextChunkLayoutInfo.h: Removed.
        * rendering/SVGTextLayoutUtilities.cpp: Removed.
        * rendering/SVGTextLayoutUtilities.h: Removed.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do.
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
        (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
        (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
        (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
        (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
        * rendering/svg/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
        (WebCore::toRenderSVGInlineText): New helper methods for casting.
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
        (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
        (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
        * rendering/svg/SVGInlineFlowBox.h:
        (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
        * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
        * rendering/svg/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
        (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
        (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
        (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
        * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
        (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
        (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
        (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
        * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
        * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
        * rendering/svg/SVGTextChunk.h:
        * rendering/svg/SVGTextChunkBuilder.cpp: Added.
        * rendering/svg/SVGTextChunkBuilder.h: Added.
        * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
        * rendering/svg/SVGTextLayoutAttributes.h:
        (WebCore::SVGTextLayoutAttributes::textMetricsValues):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
        * rendering/svg/SVGTextLayoutEngine.cpp: Added.
        * rendering/svg/SVGTextLayoutEngine.h: Added.
        * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
        * rendering/svg/SVGTextQuery.h:

2010-10-02  Alpha Lam  <hclam@chromium.org>

        Build fix. Not reviewed.

        An adhoc fix for a crash found by reliability bot. This will make the
        reliability bot happy. A proper fix is pending commit.

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

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

        Reviewed by Darin Adler.

        FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
        https://bugs.webkit.org/show_bug.cgi?id=46840

        Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
        and IndentOutdentCommand.  It is intended to be inherited by InsertListCommand as well.

        ApplyBlockElementCommand's doApply verifies the current selection and exits early
        if it's invalid or orphaned or if the current selection is outside editable region.
        It then calls formatSelection to apply the block element after which doApply restores the selection.
        formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
        implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.

        No new tests are added since this is a refactoring.

        * Android.mk: Added ApplyBlockElementCommand.cpp.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * editing/ApplyBlockElementCommand.cpp: Added.
        (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
        (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
        (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
        (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
        (WebCore::ApplyBlockElementCommand::createBlockElement): Added.
        (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
        * editing/ApplyBlockElementCommand.h: Added.
        * editing/EditingAllInOne.cpp:
        * editing/EditorCommand.cpp:
        (WebCore::executeFormatBlock):
        * editing/FormatBlockCommand.cpp: Removed doApply.
        (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
        (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
        * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
        (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
        * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
        (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
        (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
        when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
        (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
        (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
        * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.

2010-10-01  Mark Rowe  <mrowe@apple.com>

        Build fix.

        Clear the executable bit from a number of source files.

        * page/Frame.cpp:
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        * platform/graphics/win/WKCACFLayerRenderer.h:
        * platform/network/ResourceRawHeaders.h:
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderLayerCompositor.h:

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

        Reviewed by Adam Barth.

        [GTK] r68923 broke some plugin tests
        https://bugs.webkit.org/show_bug.cgi?id=47040

        No longer pass focus and blur events to plugins when the "old" DOM Level
        2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
        that the DOM Level 3 version is always fired for this event. 

        No new tests, as this should cause the failing tests to pass.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::handleEvent): No longer pass focus and blur events to
        plugins when DOMFocusIn / DOMFocusOut events occur.

2010-10-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Plug-ins should have access to the private browsing state.
        https://bugs.webkit.org/show_bug.cgi?id=47031
        <rdar://problem/8505405>

        * page/Page.cpp:
        (WebCore::Page::privateBrowsingStateChanged):
        When iterating over all widgets, also look for PluginViewBase classes and invoke their 
        privateBrowsingStateChange member function.

        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::privateBrowsingStateChanged):
        Add function.

2010-10-01  Brian Weinstein  <bweinstein@apple.com>

        Build Fix for Windows.

        * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
            WebCoreCommon.vsprops to handle post-build step.
        * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete 
             $(WebKitOutputDir)/buildfailed.

2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Segmentation fault during zoom out
        https://bugs.webkit.org/show_bug.cgi?id=46984

        * platform/qt/QtMobileWebStyle.cpp:
        (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.

2010-10-01  Anders Carlsson  <andersca@apple.com>

        Another Qt build fix attempt.

        * WebCore.pro:

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=47021
        
        Patch the floatBottom function and its friends.  Rename them and consolidate them to be block-flow-aware.

        Nothing testable yet, since most of the float code is still unpatched.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::newLine):
        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
        (WebCore::RenderBlock::lowestFloatLogicalBottom):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::getClearDelta):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalBottomForFloat):
        (WebCore::RenderBlock::hasOverhangingFloats):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::fitBelowFloats):

2010-10-01  Anders Carlsson  <andersca@apple.com>

        Fix typo.

        * platform/network/qt/ProxyServerQt.cpp:
        (WebCore::proxyServersForURL):

2010-10-01  Anders Carlsson  <andersca@apple.com>

        Add Qt ProxyServer stub.

        * WebCore.pro:
        * platform/network/qt/ProxyServerQt.cpp: Added.
        (WebCore::proxyServersForURL):

2010-10-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
        https://bugs.webkit.org/show_bug.cgi?id=47022
        <rdar://problem/8504712>

        * WebCore.exp.in:
        Export proxyServersForURL and toString.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add new files.

        * platform/network/ProxyServer.cpp: Added.
        (WebCore::appendProxyServerString):
        (WebCore::toString):
        New function that converts a vector of ProxyServers into a PAC style string.

        * platform/network/ProxyServer.h: Added.
        (WebCore::ProxyServer::ProxyServer):
        (WebCore::ProxyServer::type):
        (WebCore::ProxyServer::hostName):
        (WebCore::ProxyServer::port):
        Add ProxyServer class.

        * platform/network/cf/ProxyServerCFNet.cpp: Added.
        (WebCore::proxyServersForURL):
        (WebCore::addProxyServersForURL):
        Query CFNetwork for the proxy servers given a URL.

2010-09-30  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        texImage2D fails on 16-bit-per-channel images
        https://bugs.webkit.org/show_bug.cgi?id=46947

        * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
        (WebCore::convertColor16To8):
        (WebCore::doPacking):
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
        (WebCore::GraphicsContext3D::getImageData):

2010-10-01  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Nate Chapin.

        Add v8 binding helpers to make FileWriter be an EventTarget.
        https://bugs.webkit.org/show_bug.cgi?id=46910

        No new tests; still waiting for the first complete implementation.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=47015
        
        Change FloatingObject to store its dimensions as a rect.
        This will make it easier for logical access for block-flow later on if
        top/bottom is no different from left/width.  This change also simplifies
        calling code a bit in places.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverflowFromFloats):
        (WebCore::RenderBlock::repaintOverhangingFloats):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::fillSelectionGaps):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::removeFloatingObject):
        (WebCore::RenderBlock::removeFloatingObjectsBelow):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::positionNewFloatOnLine):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::nextFloatBottomBelow):
        (WebCore::RenderBlock::floatBottom):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::leftBottom):
        (WebCore::RenderBlock::rightBottom):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::adjustForBorderFit):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        (WebCore::RenderBlock::FloatingObject::left):
        (WebCore::RenderBlock::FloatingObject::right):
        (WebCore::RenderBlock::FloatingObject::top):
        (WebCore::RenderBlock::FloatingObject::bottom):
        (WebCore::RenderBlock::FloatingObject::width):
        (WebCore::RenderBlock::FloatingObject::height):
        (WebCore::RenderBlock::FloatingObject::setLeft):
        (WebCore::RenderBlock::FloatingObject::setTop):
        (WebCore::RenderBlock::FloatingObject::setWidth):
        (WebCore::RenderBlock::FloatingObject::setHeight):
        (WebCore::RenderBlock::FloatingObject::frameRect):
        (WebCore::RenderBlock::FloatingObject::setFrameRect):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::matchedEndLine):

2010-10-01  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
        https://bugs.webkit.org/show_bug.cgi?id=42580
        <rdar://problem/8107311>
        
        This change removes the aliased type machinery from the Event class.
        We now fire the event with the new name and the oldname.
        
        Tests: Modified fast/events/focusinout.html to check the event
        type.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Event.cpp: Removed aliasedType and hasAliasedType.
        * dom/Event.h: Removed aliasedType and hasAliasedType.
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow.  This patch changes
        all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
        and logical height instead.

        Added fast/blockflow/block-level-images.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalWidth):
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::intrinsicLogicalWidth):
        (WebCore::RenderBox::intrinsicLogicalHeight):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::isLogicalWidthSpecified):
        (WebCore::RenderImage::isLogicalHeightSpecified):
        (WebCore::RenderImage::computeReplacedLogicalWidth):
        (WebCore::RenderImage::computeReplacedLogicalHeight):
        (WebCore::RenderImage::calcAspectRatioLogicalWidth):
        (WebCore::RenderImage::calcAspectRatioLogicalHeight):
        * rendering/RenderImage.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::layout):
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
        (WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
        (WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::computeReplacedLogicalWidth):
        (WebCore::RenderVideo::computeReplacedLogicalHeight):
        * rendering/RenderVideo.h:

2010-10-01  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Adler.

        Remove unused Request::buffer() and Request::m_buffer.

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

        * loader/Request.h:

2010-10-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/7563219> Null dereference when dragging an element with generated content
        https://bugs.webkit.org/show_bug.cgi?id=47005

        Test: fast/css-generated-content/drag-state.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::updateDragState): Null-check node().

2010-10-01  Robert Hogan  <robert@webkit.org>

        Reviewed by Adam Barth.

        [Qt] Fix http/tests/loading/redirect-methods.html

        Document our redirection behaviour too.

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

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        * platform/network/qt/QNetworkReplyHandler.h:

2010-10-01  Adam Roben  <aroben@apple.com>

        Copy forwarding headers and Inspector JS files as part of
        WebCoreGenerated.vcproj

        WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only
        runs when a .h or .cpp file changes. By moving the copying to
        WebCoreGenerated, it will happen even when someone only changes a JS
        file (as happened in r68887).

        Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION
        (r68887): Web Inspector: inspector/extensions*.html are failing on
        Windows

        Reviewed by Anders Carlsson.

        * WebCore.vcproj/WebCore.vcproj: Moved invocation of
        copyForwardingHeaders and copyInspectorFiles from here...
        * WebCore.vcproj/WebCoreGenerated.vcproj: ...to here.

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

        Reviewed by Darin Adler.

        Implement queryCommandState('justifyFull')
        https://bugs.webkit.org/show_bug.cgi?id=46954

        Implemented queryCommandState('justifyFull').
        New tests are added to editing/style/inline-style-container.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getTextAlignment): Added support for CSSValueJustify.
        * editing/EditorCommand.cpp:
        (WebCore::stateJustifyFull): Added.
        (WebCore::createCommandMap): Added stateJustifyFull.

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

        Reviewed by Darin Adler.

        Autocorrection shouldn't prompt the same correction after user has edited previous correction.
        https://bugs.webkit.org/show_bug.cgi?id=46839
        <rdar://problem/8476963>

        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of
          "Replacement" marker. Since the former controls whether we draw autocorrection underline,
          and the latter is used to prevent autocorrection from being applied again on already auto-
          corrected word. So the "Replacement" shouldn't be removed.

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

        Reviewed by Anders Carlsson.

        [CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API)
        https://bugs.webkit.org/show_bug.cgi?id=46309

        * CMakeLists.txt:
        * CMakeListsEfl.txt:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to
        be block-flow-aware.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setCollapsedBottomMargin):
        (WebCore::RenderBlock::handleAfterSideOfBlock):

2010-10-01  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Geoffrey Garen.
        Specify ALWAYS_INLINE at function declaration not function definition
        https://bugs.webkit.org/show_bug.cgi?id=46960

        For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well.

        * css/CSSStyleSelector.h:
        * rendering/InlineIterator.h:
        * rendering/style/RenderStyle.h:

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.

        Added fast/css/rtl-to-viewport.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):

2010-10-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=44406
        <rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL

        Test: http/tests/appcache/foreign-fallback.html

        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
        Changed ApplicationCacheResource lookup to find fallback resources correctly.

2010-10-01  Kwang Yul Seo  <skyul@company100.net>

        Unreviewed, Brew MP build fix.

        * platform/brew/ClipboardBrew.cpp:
        (WebCore::ClipboardBrew::ClipboardBrew):

2010-10-01  Rafael Antognolli  <antognolli@profusion.mobi>

        Unreviewed build fix.

        [CMAKE] Build fix for r68878
        https://bugs.webkit.org/show_bug.cgi?id=46985

        Fix name of files added to CMakeLists.txt:
        SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp
        SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp

        No features added, so no new tests.

        * CMakeLists.txt:

2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] New buttons style for Qt Mobile theme
        https://bugs.webkit.org/show_bug.cgi?id=46920

        Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform.
        Adjust new Qt mobile style for buttons, radios, checks and combos.

        * WebCore.pro:
        * css/themeQtMobile.css: Adjust gradient color for buttons and combos.
        (select):
        (select:active):
        * platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme.
        (QtMobileWebStyle::QtMobileWebStyle):
        (drawRectangularControlBackground):
        (QtMobileWebStyle::drawChecker):
        (QtMobileWebStyle::findChecker):
        (QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton.
        (QtMobileWebStyle::findRadio):
        (QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox.
        (QtMobileWebStyle::drawMultipleComboButton):
        (QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow.
        (QtMobileWebStyle::getButtonImageSize):
        (QtMobileWebStyle::findComboButton):
        (QtMobileWebStyle::drawComplexControl):
        * platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme.
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [Extensions API] expose page load events timings
        Added webInspector.resources.getPageTimings()
        
        https://bugs.webkit.org/show_bug.cgi?id=45954

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Resources.prototype):
        (WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onGetPageTimings):
        * inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown.
        (WebInspector.HARLog.prototype._buildPages):
        (WebInspector.HARLog.prototype.buildMainResourceTimings):
        (WebInspector.HARLog.prototype._convertResource):
        (WebInspector.HARLog.prototype._pageEventTime):

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

        Reviewed by Adam Roben.

        [WIN] Add GDIExtras
        https://bugs.webkit.org/show_bug.cgi?id=46974

        Some, but not all WinCE environments have support for AlphaBlend().
        Add this files to check for AlphaBlend (and SoftLink) on WinCE.
        On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true.

        * platform/graphics/win/GDIExtras.cpp: Added.
        (WebCore::AlphaBlendPointer):
        * platform/graphics/win/GDIExtras.h: Added.
        (WebCore::hasAlphaBlendSupport):
        (WebCore::alphaBlendIfSupported):

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

        Reviewed by Adam Roben.

        [WINCE] Use alphaBlendIfSupported in GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=46979

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap):

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

        Reviewed by Dirk Schulze.

        Add two new helper files for the new SVGTextLayoutEngine
        https://bugs.webkit.org/show_bug.cgi?id=46972

        Refactor code from SVGTextLayoutUtilities into two seperated classes.
        SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.

        Doesn't affect any functionality yet, as the new classes are not used so far.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/svg/SVGTextFragment.h:
        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
        (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
        (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
        (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
        (WebCore::glyphOrientationIsMultiplyOf180Degrees):
        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
        * rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
        * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
        (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
        (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
        * rendering/svg/SVGTextLayoutEngineSpacing.h: Added.

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

        Reviewed by Andreas Kling.

        Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder
        https://bugs.webkit.org/show_bug.cgi?id=46971

        Doesn't affect any functionality, just moves files around.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): Adopt to renaming.
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp.
        * rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h.
        * rendering/svg/SVGTextLayoutBuilder.cpp: Removed.
        * rendering/svg/SVGTextLayoutBuilder.h: Removed.

2010-10-01  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):

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

        Reviewed by Andreas Kling.

        Move SVG text related renderers into rendering/svg/
        https://bugs.webkit.org/show_bug.cgi?id=46969

        Doesn't affect any functionality, just moves files around.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderSVGAllInOne.cpp:
        * rendering/RenderSVGInline.cpp: Removed.
        * rendering/RenderSVGInline.h: Removed.
        * rendering/RenderSVGInlineText.cpp: Removed.
        * rendering/RenderSVGInlineText.h: Removed.
        * rendering/RenderSVGTSpan.cpp: Removed.
        * rendering/RenderSVGTSpan.h: Removed.
        * rendering/RenderSVGText.cpp: Removed.
        * rendering/RenderSVGText.h: Removed.
        * rendering/RenderSVGTextPath.cpp: Removed.
        * rendering/RenderSVGTextPath.h: Removed.
        * rendering/SVGInlineFlowBox.cpp: Removed.
        * rendering/SVGInlineFlowBox.h: Removed.
        * rendering/SVGInlineTextBox.cpp: Removed.
        * rendering/SVGInlineTextBox.h: Removed.
        * rendering/SVGRootInlineBox.cpp: Removed.
        * rendering/SVGRootInlineBox.h: Removed.
        * rendering/SVGTextQuery.cpp: Removed.
        * rendering/SVGTextQuery.h: Removed.
        * rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp.
        * rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h.
        * rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp.
        * rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h.
        * rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp.
        * rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h.
        * rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp.
        * rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h.
        * rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp.
        * rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h.
        * rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp.
        * rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h.
        * rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp.
        * rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h.
        * rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp.
        * rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h.
        * rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp.
        * rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h.

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

        Reviewed by Dirk Schulze.

        Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine
        https://bugs.webkit.org/show_bug.cgi?id=46964

        The new SVG text layout engine will use these new classes.
        1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters.
           
           -> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object
              describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes).
           -> In "range of characters" mode, it returns the width/height of the range, and its length.

           All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine.

        2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot.
           It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment,
           length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.)

           In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to
           be performed as SVGTextFragment contains all necessary information to render text / select text etc.

        3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments).

           Quotes from SVG spec:
           Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways:
            * Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk.
            * Each text chunk represents a separate block of text for alignment due to "text-anchor" property values.
            * Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks.

            An absolute position adjustment occurs in the following circumstances:
            * At the start of a <text> element
            * At the start of each <textPath> element
            * For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly

            After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules
            (eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text).

            SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk.

        Doesn't affect any tests, as these classes aren't used so far.

        * Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/svg/SVGTextChunk.cpp: Added.
        * rendering/svg/SVGTextChunk.h: Added.
        * rendering/svg/SVGTextFragment.h: Added.
        * rendering/svg/SVGTextMetrics.cpp: Added.
        * rendering/svg/SVGTextMetrics.h: Added.

2010-10-01  Vincent Scheib  <scheib@chromium.org>

        Reviewed by James Robinson.

        REGRESSION: Lots of fast canvas updates fail to completely render
        https://bugs.webkit.org/show_bug.cgi?id=46319

        Test: fast/repaint/canvas-putImageData.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::putImageData):

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

        Reviewed by Dirk Schulze.

        Add helper methods to cast between renderers & SVGTextContent/PositioningElement
        https://bugs.webkit.org/show_bug.cgi?id=46963

        Doesn't affect any tests.

        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::elementFromRenderer):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::elementFromRenderer):
        * svg/SVGTextPositioningElement.h:

2010-09-30  MORITA Hajime  <morrita@google.com>

        Reviewed by James Robinson.

        [Chromium] build fails unless ACCELERATED_2D_CANVAS defined
        https://bugs.webkit.org/show_bug.cgi?id=46955
        
        Added ifdef guard around SharedGraphicsContext3D.

        No new tests. just a build fix.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::gpuCanvas):

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

        Reviewed by Chris Fleizach.

        [Windows] Implement <input type=number> UI
        https://bugs.webkit.org/show_bug.cgi?id=38381

        Implement theme drawing for inner-spin-button.
        No new tests. Existing tests for type=number will cover this change.

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::RenderThemeWin):
         Handle m_spinButtonTheme.
        (WebCore::RenderThemeWin::spinButtonTheme): ditto.
        (WebCore::RenderThemeWin::close): ditto.
        (WebCore::RenderThemeWin::determineClassicState):
         Add ControlSubPart parameter, and add support for InnerSpinButtonPart.
        (WebCore::RenderThemeWin::determineSpinButtonState): Added.
        (WebCore::RenderThemeWin::getClassicThemeData):
         Add ControlSubPart parameter, and handle InnerSpinButtonPart.
        (WebCore::RenderThemeWin::getThemeData): ditto.
        (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
         Set SM_CXVSCROLL value to the width.
        (WebCore::RenderThemeWin::paintInnerSpinButton):
         Call drawControl() for the upper part and the lower part.
        * rendering/RenderThemeWin.h:

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

        Unreviewed, Windows build fix for r68854

        * WebCore.vcproj/copyForwardingHeaders.cmd:
          Copy WebCore/html/parser/*.h.

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

        Reviewed by Dan Bernstein.

        While updating :before and :after content, make sure that the generated
        container is allowed to add the child type.
        https://bugs.webkit.org/show_bug.cgi?id=46106

        Test: fast/css-generated-content/text-before-table-col-crash.html

        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):

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

        Reviewed by Daniel Bates.

        [GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED
        https://bugs.webkit.org/show_bug.cgi?id=46886

        Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix().

        So far, this assertion made sense because it was not possible that
        a call to listMarkerSuffix() happened when the style of the list
        item was one of the following: Asterisks, Circle, Discm Footnotes,
        NoneListStyle or Square (it's easy to figure this out by checking
        the functions where listMarkerSuffix() was called).

        However, since revision 68415 (about bug 45381), there's a new
        place where listMarkerSuffix() is being called (the suffix()
        public method), regardless of the style of the item being or not
        one of those pointed out, so the aforementioned assertion in
        listMarkerSuffix() would no longer be correct, as now it's ok to
        reach those cases in the switch statement.

        * rendering/RenderListMarker.cpp:
        (WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED().

2010-09-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all-
        whitespace separators for mfenced

        Check the size of characters instead of separators in case all the 
        separators were whitespace.

        * mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::updateFromElement):

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

        Reviewed by Sam Weinig.

        Remove remaining calls to deprecatedParseURL
        https://bugs.webkit.org/show_bug.cgi?id=26599

        Test: fast/replaced/object-param-spaces.html

        * css/CSSHelper.cpp: Removed.
        * css/CSSHelper.h: Removed deprecatedParseURL.

        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::stripLeadingAndTrailingHTMLSpaces):
        Fixed bug where the function would turn the null string into the empty string.
        Fixed bug where the function would not strip all trailing spaces.

        * html/parser/CSSPreloadScanner.cpp:
        (WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state
        instead of calling the reset function.
        (WebCore::CSSPreloadScanner::scan): Tweaked coding style.
        (WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of
        an identical local function named isWhitespace.
        (WebCore::parseCSSStringOrURL): Added. This function does what
        deprecatedParseURL did before, and this is the only place in WebKit
        that needs it. The code implements the rules for a string or URL
        token. The real CSS parser does this with flex and the code to hook
        flex up to yacc, so the function is not needed there.
        (WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit
        and mae it call parseCSSStringOrURL.

        * bindings/generic/BindingSecurity.h:
        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::allowSettingSrcToJavascriptURL):
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        (WebCore::allowSettingJavascriptURL):
        * bindings/objc/DOM.mm:
        (-[DOMElement _getURLAttribute:]):
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
        * dom/Document.cpp:
        (WebCore::Document::processBaseElement):
        * dom/Element.cpp:
        (WebCore::isAttributeToRemove):
        (WebCore::Element::getURLAttribute):
        (WebCore::Element::getNonEmptyURLAttribute):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::parseMappedAttribute):
        (WebCore::HTMLAnchorElement::href):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::sourceURI):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        * html/HTMLMediaElement.cpp:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::parametersForPlugin):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute):
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::parseMappedAttribute):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::setUrlToLoad):
        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::Attributes::parseAction):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::declareAndWriteDragImage):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::declareAndWriteDragImage):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteImageURL):
        (WebCore::HitTestResult::absoluteMediaURL):
        (WebCore::HitTestResult::absoluteLinkURL):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):
        * svg/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::sourceURI):
        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::defaultEventHandler):
        * wml/WMLImageLoader.cpp:
        (WebCore::WMLImageLoader::sourceURI):
        Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.

        * WebCore.exp.in: Updated.

        * Android.mk: Removed CSSHelper.cpp.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * bindings/js/JSAttrCustom.cpp:
        * bindings/js/JSElementCustom.cpp:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * bindings/v8/custom/V8LocationCustom.cpp:
        * css/CSSParser.cpp:
        * html/HTMLMediaElement.cpp:
        * html/HTMLVideoElement.cpp:
        * loader/ImageLoader.cpp:
        * rendering/style/RenderStyle.h:
        Removed unneeded include of CSSHelper.h.

2010-09-30  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by Chris Marrin.

        Add GetGraphicsResetStatusARB entry point from ARB_robustness
        extension to GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=46850

        Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for
        Mac and QT.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46938
        
        Rewrite margin collapsing to be block-flow-aware.  Eliminate a bunch of the margin functions on RenderBox in favor of a single
        master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock.  Introduce a new
        MarginValues struct to make returning the collection of 4 margin values easy.
    
        fast/blockflow/inline-direction-positioning.html progresses to have the correct results.
        Added fast/blockflow/margin-collapse.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::adjustPositionedBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::setCollapsedBottomMargin):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::setMaxMarginBeforeValues):
        (WebCore::RenderBlock::setMaxMarginAfterValues):
        (WebCore::RenderBlock::marginValuesForChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::MarginValues::MarginValues):
        (WebCore::RenderBlock::MarginValues::positiveMarginBefore):
        (WebCore::RenderBlock::MarginValues::negativeMarginBefore):
        (WebCore::RenderBlock::MarginValues::positiveMarginAfter):
        (WebCore::RenderBlock::MarginValues::negativeMarginAfter):
        (WebCore::RenderBlock::MarginValues::setPositiveMarginBefore):
        (WebCore::RenderBlock::MarginValues::setNegativeMarginBefore):
        (WebCore::RenderBlock::MarginValues::setPositiveMarginAfter):
        (WebCore::RenderBlock::MarginValues::setNegativeMarginAfter):
        (WebCore::RenderBlock::maxPositiveMarginBefore):
        (WebCore::RenderBlock::maxNegativeMarginBefore):
        (WebCore::RenderBlock::maxPositiveMarginAfter):
        (WebCore::RenderBlock::maxNegativeMarginAfter):
        (WebCore::RenderBlock::initMaxMarginValues):
        (WebCore::RenderBlock::collapsedMarginBefore):
        (WebCore::RenderBlock::collapsedMarginAfter):
        (WebCore::RenderBlock::MarginInfo::clearMargin):
        (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
        (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
        (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
        (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
        (WebCore::RenderBlock::MarginInfo::setMargin):
        (WebCore::RenderBlock::MarginInfo::positiveMargin):
        (WebCore::RenderBlock::MarginInfo::negativeMargin):
        (WebCore::RenderBlock::MarginInfo::margin):
        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::collapsedMarginBefore):
        (WebCore::RenderBox::collapsedMarginAfter):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):

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

        Reviewed by Adam Roben.

        [WINCE] Fix InternetGetCookie in CookieJarWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=46929

        If the InternetGetCookie fails the output size won't be set.
        Set the default size to 0, so we always get the correct size
        and check the return value of InternetGetCookie.

        * platform/network/win/CookieJarWin.cpp:
        (WebCore::cookies):

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

        Reviewed by Adam Roben.

        [WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=46881

        Also add some missing SelectObject calls.

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::createPen):
        (WebCore::createBrush):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):

2010-09-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein and Darin Adler.

        WebCore uses the main thread to process sleep notifications
        https://bugs.webkit.org/show_bug.cgi?id=46935
        <rdar://problem/8495374>

        Rewrite the old WebCorePowerNotifier to use IOKit directly. 
        
        On Snow Leopard, set up power notifications to arrive on a dispatch queue,
        so that we can handle them quickly even if the main thread is hung.

        (Tiger and Leopard will still get the old behavior).

        * WebCore.xcodeproj/project.pbxproj:
        Link with IOKit.

        * platform/mac/SharedTimerMac.mm:
        (WebCore::PowerObserver::PowerObserver):
        Initialize the IOKit machinery.

        (WebCore::PowerObserver::~PowerObserver):
        Tear down the IOKit notifications.

        (WebCore::PowerObserver::didReceiveSystemPowerNotification):
        Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we
        make sure to call the shared timer functions on the main thread.
    
2010-09-30  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        [Web Timing] Make requestEnd equal to start of response
        https://bugs.webkit.org/show_bug.cgi?id=46302

        * page/Timing.cpp:
        (WebCore::Timing::requestEnd):

2010-09-30  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard
        https://bugs.webkit.org/show_bug.cgi?id=46870

        * platform/graphics/ANGLEWebKitBridge.cpp:
        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize().

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

        Reviewed by Tony Chang.

        WebKit nests font element when applying different font styles
        https://bugs.webkit.org/show_bug.cgi?id=45568

        The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors,
        and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to
        adding font attributes or style attribute.

        Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding
        the appropriate container node to add attributes in addInlineStyleIfNeeded.
        addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and
        span elements respectively.

        Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not
        modify the contents when the entire contents already have the desired style.

        Test: editing/style/inline-style-container.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):

2010-09-30  Jarred Nicholls  <jarred@sencha.com>

        Reviewed by Darin Adler.

        Removed unnecessary calls to ceil() on an int
        Removing the call fixes MSVC build errors
        https://bugs.webkit.org/show_bug.cgi?id=46931

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::calculateLayerBoundingRect):

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

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=46932
        
        Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more
        height() calls to be logicalHeight().

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::handleAfterSideOfBlock):

2010-09-30  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Adler.

        Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters().
        Added refcounting to counternodes in countermaps.
        https://bugs.webkit.org/show_bug.cgi?id=46387

        Test: fast/css/counters/counter-traverse-table-cell.html

        * rendering/CounterNode.cpp:
        (WebCore::CounterNode::create):
        * rendering/CounterNode.h:
        * rendering/RenderCounter.cpp:
        (WebCore::makeCounterNode):
        (WebCore::destroyCounterNodeWithoutMapRemoval):
        (WebCore::RenderCounter::destroyCounterNodes):
        (WebCore::RenderCounter::destroyCounterNode):
        (WebCore::updateCounters):

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

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=46928
        
        Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::isLeftPage):
        (WebCore::CSSStyleSelector::applyProperty):
        * editing/Editor.cpp:
        (WebCore::Editor::hasBidiSelection):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::isLeftToRightDirection):
        (WebCore::InlineBox::caretLeftmostOffset):
        (WebCore::InlineBox::caretRightmostOffset):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::paintTextDecorations):
        * rendering/InlineIterator.h:
        (WebCore::InlineIterator::direction):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::placeEllipsisBox):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintCompositionBackground):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::textPos):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustPositionedBlock):
        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::getHorizontalSelectionGapInfo):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::columnRectAt):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::getBorderPaddingMargin):
        (WebCore::RenderBlock::localCaretRect):
        (WebCore::RenderBlock::marginStartForChild):
        (WebCore::RenderBlock::marginEndForChild):
        (WebCore::RenderBlock::setMarginStartForChild):
        (WebCore::RenderBlock::setMarginEndForChild):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::getBorderPaddingMargin):
        (WebCore::RenderBlock::constructLine):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::skipTrailingWhitespace):
        (WebCore::RenderBlock::skipLeadingWhitespace):
        (WebCore::RenderBlock::findNextLineBreak):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginStart):
        (WebCore::RenderBox::marginEnd):
        (WebCore::RenderBox::setMarginStart):
        (WebCore::RenderBox::setMarginEnd):
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
        (WebCore::RenderBox::localCaretRect):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::layoutLegend):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::FlexBoxIterator):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::computeScrollDimensions):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):
        (WebCore::RenderListItem::markerTextWithSuffix):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::updateMargins):
        (WebCore::RenderListMarker::suffix):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::valuePartRect):
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::valuePartRect):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::calcBorderLeft):
        (WebCore::RenderTable::calcBorderRight):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        (WebCore::RenderTableCell::borderHalfLeft):
        (WebCore::RenderTableCell::borderHalfRight):
        (WebCore::RenderTableCell::collectBorderStyles):
        (WebCore::RenderTableCell::paintCollapsedBorder):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::recalcOuterBorder):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):
        (WebCore::RenderText::positionLineBox):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::levelIndicatorFor):
        (WebCore::RenderThemeMac::paintProgressBar):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeTextRun):
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::measureCharacter):
        (WebCore::SVGInlineTextBox::buildLayoutInformation):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGInlineTextBox):
        * rendering/SVGTextLayoutUtilities.cpp:
        (WebCore::svgTextRunForInlineTextBox):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::borderStartWidth):
        (WebCore::RenderStyle::borderEndWidth):
        (WebCore::RenderStyle::marginStart):
        (WebCore::RenderStyle::marginEnd):
        (WebCore::RenderStyle::marginStartUsing):
        (WebCore::RenderStyle::marginEndUsing):
        (WebCore::RenderStyle::paddingStart):
        (WebCore::RenderStyle::paddingEnd):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::isLeftToRightDirection):
        * wml/WMLTableElement.cpp:
        (WebCore::WMLTableElement::alignCells):

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

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=46923
        
        Make determineLogicalLeftPositionForChild block-flow-aware.  Rewrite the function so that there aren't
        completely separate LTR/RTL cases.

        Added fast/blockflow/inline-direction-positioning.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
        (WebCore::RenderBlock::setLogicalLeftForChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalWidthForChild):
        (WebCore::RenderBlock::logicalRightOffsetForContent):
        (WebCore::RenderBlock::logicalLeftOffsetForContent):

2010-09-29  Adam Roben  <aroben@apple.com>

        Fix color media queries on Windows

        Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
        media query does not evaluate to true for 32bpp displays on Windows

        Test: fast/media/color-does-not-include-alpha.html

        Reviewed by Darin Adler.

        * platform/win/PlatformScreenWin.cpp:
        (WebCore::screenDepthPerComponent): Use screenDepth instead of trying
        to interpret DEVMODE directly, since screenDepth knows how to correct
        for video drivers that return 32 instead of 24.

2010-09-29  Adam Roben  <aroben@apple.com>

        Make sure screen.colorDepth/screen.pixelDepth don't include the bits
        used for alpha

        Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
        screen.colorDepth and screen.pixelDepth return 32 on Windows, but
        should return 24 (according to CSSOM View and Firefox)

        Reviewed by Darin Adler.

        * platform/win/PlatformScreenWin.cpp:
        (WebCore::screenDepth): If Windows says there are 32 bits per pixel,
        return 24 instead, as 32 includes the alpha component but this
        function is supposed to ignore the alpha component.

2010-09-30  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Refactor ChromiumDataObject to use getters/setters.
        https://bugs.webkit.org/show_bug.cgi?id=46559

        This is an intermediate step to converting ChromiumDataObject to use
        callbacks to the browser to retrieve data.

        This is covered by existing tests.

        * editing/chromium/EditorChromium.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::clearData):
        (WebCore::ChromiumDataObject::clearAll):
        (WebCore::ChromiumDataObject::clearAllExceptFiles):
        (WebCore::ChromiumDataObject::hasData):
        (WebCore::ChromiumDataObject::types):
        (WebCore::ChromiumDataObject::getData):
        (WebCore::ChromiumDataObject::setData):
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::create):
        (WebCore::ChromiumDataObject::urlTitle):
        (WebCore::ChromiumDataObject::setUrlTitle):
        (WebCore::ChromiumDataObject::htmlBaseUrl):
        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
        (WebCore::ChromiumDataObject::containsFilenames):
        (WebCore::ChromiumDataObject::filenames):
        (WebCore::ChromiumDataObject::setFilenames):
        (WebCore::ChromiumDataObject::fileExtension):
        (WebCore::ChromiumDataObject::setFileExtension):
        (WebCore::ChromiumDataObject::fileContentFilename):
        (WebCore::ChromiumDataObject::setFileContentFilename):
        (WebCore::ChromiumDataObject::fileContent):
        (WebCore::ChromiumDataObject::setFileContent):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::normalizeType):
        (WebCore::ClipboardChromium::clearData):
        (WebCore::ClipboardChromium::clearAllData):
        (WebCore::ClipboardChromium::getData):
        (WebCore::ClipboardChromium::setData):
        (WebCore::ClipboardChromium::types):
        (WebCore::ClipboardChromium::files):
        (WebCore::writeImageToDataObject):
        (WebCore::ClipboardChromium::declareAndWriteDragImage):
        (WebCore::ClipboardChromium::writeURL):
        (WebCore::ClipboardChromium::writeRange):
        (WebCore::ClipboardChromium::writePlainText):
        * platform/chromium/ClipboardChromiumWin.cpp:
        (WebCore::ClipboardChromium::validateFileName):
        * platform/chromium/ClipboardMimeTypes.cpp:
        * platform/chromium/ClipboardMimeTypes.h:
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::containsHTML):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::asFragment):
        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::ReadableDataObject::getURL):
        (WebCore::ReadableDataObject::getHTML):
        * platform/chromium/WritableDataObject.cpp:
        (WebCore::WritableDataObject::clearData):
        (WebCore::WritableDataObject::setData):
        (WebCore::WritableDataObject::setURL):
        (WebCore::WritableDataObject::setHTML):

2010-09-30  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Make 2D accelerated canvas rendering build on Mac
        https://bugs.webkit.org/show_bug.cgi?id=46007

        Add accelerated 2D rendering files to Mac build, fix build errors,
        add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
        enabled, and add a skeleton of the mac specific file so it builds.

        DrawingBufferMac.mm, the Mac specific file does nothing right now
        other than initialize and create a layer. The rest will be added
        when I do the actual implementation. 

        The most significant change was to SharedGraphicsContext3D, which
        had a static local OwnPtr in one of the methods. This was causing
        the exit time destructor warning. Getting rid of the OwnPtr fixed
        the problem. Since the pointer that was being wrapped was to a
        static object that would never get destroyed, the OwnPtr was not
        necessary.

        I also added the ACCELERATED_2D_CANVAS flag to build-webkit
        and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
        But right now the flag is off by default.

        * Configurations/FeatureDefines.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/gpu/DrawingBuffer.cpp:
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
        * platform/graphics/gpu/LoopBlinnClassifier.cpp:
        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
        * platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
        * platform/graphics/gpu/Shader.cpp:
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::allContexts):
        * platform/graphics/gpu/SolidFillShader.cpp:
        * platform/graphics/gpu/TexShader.cpp:
        * platform/graphics/gpu/Texture.cpp:
        * platform/graphics/gpu/Texture.h:
        * platform/graphics/gpu/TilingData.cpp:
        * platform/graphics/gpu/mac: Added.
        * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::platformLayer):

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

        Reviewed by Dirk Schulze.

        SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=46902

        Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
               svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
               svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
               svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
               svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
               svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
               svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
               svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html

        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::svgAttributeChanged):
        * svg/SVGFECompositeElement.h:

2010-09-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Finished IDBTransaction for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=46823

        Switch the rest of IndexedDB to use transactions.
        Implement most of setVersion.
        Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
        Switch to using the standard cross thread task stuff.
        Make everything threadsafe so it works with cross thread copy
            (will be useful in the future).
        Fix some subtle bugs in transactions.
        
        Various bits of clean up (when I couldn't resist).

        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::LocalContext::LocalContext):
        (WebCore::LocalContext::~LocalContext):
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * platform/CrossThreadCopier.cpp:
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbFactory):
        (WebCore::IDBAny::idbTransaction):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        * storage/IDBCallbacks.h:
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::IDBCursor):
        (WebCore::IDBCursor::update):
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::remove):
        * storage/IDBCursor.h:
        (WebCore::IDBCursor::create):
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::updateInternal):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        (WebCore::IDBCursorBackendImpl::remove):
        (WebCore::IDBCursorBackendImpl::removeInternal):
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setSetVersionTransaction):
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::removeObjectStore):
        (WebCore::IDBDatabase::setVersion):
        (WebCore::IDBDatabase::close):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
        (WebCore::IDBDatabaseBackendImpl::close):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::IDBIndex):
        (WebCore::IDBIndex::openObjectCursor):
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::getObject):
        (WebCore::IDBIndex::get):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::create):
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::openObjectCursor):
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::IDBIndexBackendImpl::getInternal):
        (WebCore::IDBIndexBackendImpl::getObject):
        (WebCore::IDBIndexBackendImpl::get):
        * storage/IDBIndexBackendImpl.h:
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::IDBKey):
        * storage/IDBKey.h:
        * storage/IDBKeyRange.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::remove):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::removeInternal):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::timerFired):
        * storage/IDBRequest.h:
        (WebCore::IDBRequest::create):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::scheduleTask):
        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
        (WebCore::IDBTransactionBackendImpl::run):
        (WebCore::IDBTransactionBackendImpl::start):
        (WebCore::IDBTransactionBackendImpl::commit):
        (WebCore::IDBTransactionBackendImpl::timerFired):
        * storage/IDBTransactionBackendImpl.h:

2010-09-30  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Martin Robinson.

        [Gtk] build still broken since r68521
        https://bugs.webkit.org/show_bug.cgi?id=46795

        makevalues.pl and makeprop.pl generate 3 files in one run.
        Double or triple target is incorrect, because on a multicore
        machine make processes targets in parallel.

        Setting a->b->c dependencies for 3 generated files guarantees
        that make doesn't execute the recipe of the rule more than one.

        * GNUmakefile.am: Dependencies and missing headers added.

2010-09-30  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed build fix (marked ResourceRawHeaders.h as private)

        * WebCore.xcodeproj/project.pbxproj:

2010-09-29  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: display headers actually used by network stack in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=46092

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        * platform/network/ResourceRawHeaders.h: Added.
        * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
        (WebCore::ResourceRequestBase::reportRawHeaders):
        (WebCore::ResourceRequestBase::setReportRawHeaders):
        (WebCore::ResourceRequestBase::ResourceRequestBase):
        * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
        (WebCore::ResourceResponseBase::resourceRawHeaders):
        (WebCore::ResourceResponseBase::setResourceRawHeaders):
        * platform/network/ResourceResponseBase.h:

2010-09-29  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: display headers actually used by network stack in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=46092

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        * platform/network/ResourceRawHeaders.h: Added.
        * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
        (WebCore::ResourceRequestBase::reportRawHeaders):
        (WebCore::ResourceRequestBase::setReportRawHeaders):
        (WebCore::ResourceRequestBase::ResourceRequestBase):
        * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
        (WebCore::ResourceResponseBase::resourceRawHeaders):
        (WebCore::ResourceResponseBase::setResourceRawHeaders):
        * platform/network/ResourceResponseBase.h:

2010-09-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] V8 port: Unbreak build

        Add missing <wtf/text/CString.h> include.

        * loader/PingLoader.cpp:

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

        Reviewed by Pavel Feldman.

        Web Inspector: assign the resource loading finish time which was obtained from the network stack
        as the end time for the corresponding event in Timeline.
        See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        * inspector/InspectorTimelineAgent.h:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: implement sorting by timeline in network panel + filtering.
        https://bugs.webkit.org/show_bug.cgi?id=45657

        A number of drive-by fixes, sorting by timeline added,
        0-based timeline for duration added, filters added,
        more love for detailed view + nice headers.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
        (WebInspector.DataGrid.prototype.headerTableHeader):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.get statusBarItems):
        (WebInspector.NetworkPanel.prototype._createTable):
        (WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML):
        (WebInspector.NetworkPanel.prototype._createSortingFunctions):
        (WebInspector.NetworkPanel.prototype._sortByTimeline):
        (WebInspector.NetworkPanel.prototype._sortItems):
        (WebInspector.NetworkPanel.prototype._createFilterPanel):
        (WebInspector.NetworkPanel.prototype._showCategory):
        (WebInspector.NetworkPanel.prototype._hideCategory):
        (WebInspector.NetworkPanel.prototype._updateFilter):
        (WebInspector.NetworkPanel.prototype._filter):
        (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
        (WebInspector.NetworkPanel.prototype.reset):
        (WebInspector.NetworkPanel.prototype._setLargerResources):
        (WebInspector.NetworkDataGridNode.prototype.createCells):
        (WebInspector.NetworkDataGridNode.prototype._createDivInTD):
        (WebInspector.NetworkDataGridNode.prototype._refreshURLCell):
        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
        (WebInspector.NetworkDataGridNode.prototype._appendSubtitle):
        (WebInspector.NetworkDataGridNode.SizeComparator):
        (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
        * inspector/front-end/inspector.css:
        (.data-grid th.sort-ascending > div::after):
        (.data-grid th.sort-descending > div::after):
        (.status-bar-items):
        * inspector/front-end/networkPanel.css:
        (.network.panel .data-grid td):
        (.network.panel .data-grid th):
        (.network.panel .data-grid.small th):
        (.network.panel .data-grid .data-container):
        (.network.panel .data-grid.small .data-container):
        (.network.panel .data-grid select):
        (.network.panel .data-grid td.time-column):
        (.network-cell-subtitle):
        (.network-header-subtitle):
        (.network-event-divider):
        (.network.panel .network-timeline-grid.small .network-event-divider):
        (.network.panel .resources-dividers-label-bar):
        (.network.panel .network-timeline-grid.small .resources-dividers-label-bar):
        (.network.panel .resources-divider-label):
        (.network.panel .resources-dividers-label-bar .resources-divider):
        (.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
        (.network.panel .resources-divider.first .resources-divider-label):
        (.network.panel .resources-dividers-label-bar .resources-divider.first):
        (#network-filter):
        (.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other):
        (.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other):

2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Ensure we always report a valid size for the video

        Some QtMultimedia-backends require a paint before even giving us
        a size, so we start out by using the default video size, and then
        update it once QtMultimedia starts feeding us valid sizes.

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
        (WebCore::MediaPlayerPrivateQt::nativeSizeChanged):
        (WebCore::MediaPlayerPrivateQt::setSize):
        (WebCore::MediaPlayerPrivateQt::naturalSize):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:

2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        RenderSVGTextPath lacks isSVGTextPath() method
        https://bugs.webkit.org/show_bug.cgi?id=46888

        Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGTextPath): Return false.
        * rendering/RenderSVGTextPath.h: Changed indentation of whole file.
        (WebCore::RenderSVGTextPath::isSVGTextPath): Return true.
        (WebCore::RenderSVGTextPath::renderName):
        (WebCore::toRenderSVGTextPath): Add helper casting methods.

2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        AffineTransform should expose methods calculating the x/y scale factors
        https://bugs.webkit.org/show_bug.cgi?id=46887

        Expose methods calculating the x/y scale factors for an AffineTransform. 

        * platform/graphics/transforms/AffineTransform.cpp:
        (WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions.
        (WebCore::AffineTransform::xScale):
        (WebCore::AffineTransform::yScale):
        * platform/graphics/transforms/AffineTransform.h:

2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Ensure that the media player backend does not leave any resources around

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

2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Minor cleanup of MediaPlayerPrivateQt

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
        (WebCore::MediaPlayerPrivateQt::currentTime):
        (WebCore::MediaPlayerPrivateQt::positionChanged):
        (WebCore::MediaPlayerPrivateQt::paint):

2010-09-30  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Jeremy Orlow.

        Mark unused parameters as such.
        https://bugs.webkit.org/show_bug.cgi?id=46880

        * inspector/InspectorDOMAgent.cpp:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::clearWatch):

2010-09-29  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extract Inspector Instrumentation API as a class.
        https://bugs.webkit.org/show_bug.cgi?id=46614

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::parserInsertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::notifyChildInserted):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::removeAttribute):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp: Added.
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
        * inspector/InspectorInstrumentation.h: Added.
        (WebCore::InspectorInstrumentation::frontendCreated):
        (WebCore::InspectorInstrumentation::frontendDeleted):
        (WebCore::InspectorInstrumentation::hasFrontends):
        (WebCore::InspectorInstrumentation::willInsertDOMNode):
        (WebCore::InspectorInstrumentation::didInsertDOMNode):
        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
        (WebCore::InspectorInstrumentation::characterDataModified):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
        (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
        (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
        * workers/SharedWorker.cpp:

2010-09-30  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        Build fix: Add ENABLE(INSPECTOR) guard
        https://bugs.webkit.org/show_bug.cgi?id=46852

        Page does not have inspectorController() when ENABLE(INSPECTOR) is 0.

        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorControllerForDocument):

2010-09-30  Michael Nordman  <michaeln@google.com>

        Reviewed by David Levin.

        Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse
        across threads and to compare platform specific data members of ResourceRequest.
        - Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData.
        - Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method
          is already present on ResourceResponseBase.
        - Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base
          classes and extended those base classes in the platform specific headers to provide a place
          to hold additional fields.
        - Used this mechanism to have the chromium port's data members make the hop.
        https://bugs.webkit.org/show_bug.cgi?id=46430

        No new tests. Just plumbing.

        * WebCore.exp.in: removed the symbol for the now inlined == operator
        * WebCore.gypi: added chromium/ResourceResponse.cpp
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::adopt):
        (WebCore::ResourceRequestBase::copyData):
        (WebCore::ResourceRequestBase::compare):
        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::platformCompare):
        (WebCore::operator==):
        (WebCore::operator!=):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::asResourceResponse):
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::copyData):
        * platform/network/ResourceResponseBase.h:
        * platform/network/android/ResourceRequest.h:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/android/ResourceResponse.h:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/cf/ResourceRequest.h:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/cf/ResourceResponse.h:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceRequest.cpp:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/chromium/ResourceRequest.h:
        * platform/network/chromium/ResourceResponse.cpp: Added.
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceResponse.h:
        * platform/network/curl/ResourceRequest.h:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/curl/ResourceResponse.h:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/mac/ResourceRequest.h:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/mac/ResourceResponse.h:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/qt/ResourceRequest.h:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/qt/ResourceResponse.h:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/soup/ResourceRequest.h:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/soup/ResourceResponse.h:
        (WebCore::ResourceResponse::doUpdateResourceResponse):
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):

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

        Reviewed by Kenneth Russell.

        Put default initialize() and uninitialize() methods in AudioNode
        https://bugs.webkit.org/show_bug.cgi?id=46767

        No new tests since audio API is not yet implemented.

        * webaudio/AudioNode.cpp:
        (WebCore::AudioNode::initialize):
        (WebCore::AudioNode::uninitialize):
        * webaudio/AudioNode.h:

2010-09-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Refactor HTMLInputElement: Make DeprecatedInputType private.
        https://bugs.webkit.org/show_bug.cgi?id=46791

        No new tests because this doesn't change any behavior.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createTypeMap):
        * html/HTMLInputElement.h:
         Move DeprecatedInputType, deprecatedInputType() and
         parseToDateComponents() to the private section, make
         createTypeMap() a member function of HTMLInputElement.
        (WebCore::HTMLInputElement::deprecatedInputType):

2010-09-29  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes
        https://bugs.webkit.org/show_bug.cgi?id=46324
        
        Revert same document check to the way it was before r66238 for history
        entries created by pushState or fragment changes. Logic fror determining
        if same document navigation should be used is moved to HistoryItem.

        Tests: fast/history/same-document-iframes-changing-fragment.html
               fast/history/same-document-iframes-changing-pushstate.html

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::shouldDoSameDocumentNavigationTo):
        (WebCore::HistoryItem::hasSameDocumentTree):
        (WebCore::HistoryItem::hasSameFrames):
        * history/HistoryItem.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadItem):

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadItem):

2010-09-29  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix.
        
        WebCore::ESpeak causes missing symbol with no ENABLE_SVG
        https://bugs.webkit.org/show_bug.cgi?id=46865

        Moves ESpeak related function definitions outside ENABLE_SVG block.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator ESpeak):
        (WebCore::CSSPrimitiveValue::operator EVectorEffect):

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

        Reviewed by Kenneth Russell.

        Add AudioChannelSplitter files
        https://bugs.webkit.org/show_bug.cgi?id=46290

        No new tests since audio API is not yet implemented.

        * webaudio/AudioChannelSplitter.cpp: Added.
        (WebCore::AudioChannelSplitter::AudioChannelSplitter):
        (WebCore::AudioChannelSplitter::process):
        (WebCore::AudioChannelSplitter::reset):
        * webaudio/AudioChannelSplitter.h: Added.
        (WebCore::AudioChannelSplitter::create):
        * webaudio/AudioChannelSplitter.idl: Added.

2010-09-29  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries
        https://bugs.webkit.org/show_bug.cgi?id=46563

        Test: fast/filesystem/read-directory.html

        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader
        as a parameter.
        * fileapi/DOMFileSystem.h:
        (WebCore::DOMFileSystem::scheduleCallback): Added.
        * fileapi/DirectoryReader.cpp:
        (WebCore::DirectoryReader::DirectoryReader): Added initializer for
        m_hasMore flag.
        (WebCore::DirectoryReader::readEntries): Changed to schedule
        EntriesCallback with an empty array if m_hasMore flag is set false.
        * fileapi/DirectoryReader.h:
        (WebCore::DirectoryReader::filesystem): Added.
        (WebCore::DirectoryReader::setHasMore): Added.
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::EntriesCallbacks::create):
        (WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take
        DirectoryReader as a parameter.
        (WebCore::EntriesCallbacks::didReadDirectoryEntry):
        (WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to
        trigger the second callback when hasMore is false, and 2) to update
        the DirectoryReader's m_hasMore flag.
        * fileapi/FileSystemCallbacks.h:

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

        Reviewed by Kenneth Russell.

        Add AudioGainNode files
        https://bugs.webkit.org/show_bug.cgi?id=46286

        No new tests since audio API is not yet implemented.

        * webaudio/AudioGainNode.cpp: Added.
        (WebCore::AudioGainNode::AudioGainNode):
        (WebCore::AudioGainNode::process):
        (WebCore::AudioGainNode::reset):
        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
        * webaudio/AudioGainNode.h: Added.
        (WebCore::AudioGainNode::create):
        (WebCore::AudioGainNode::gain):
        * webaudio/AudioGainNode.idl: Added.

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

        Reviewed by Kenneth Russell.

        Add AudioChannelMerger files
        https://bugs.webkit.org/show_bug.cgi?id=46291

        No new tests since audio API is not yet implemented.

        * webaudio/AudioChannelMerger.cpp: Added.
        (WebCore::AudioChannelMerger::AudioChannelMerger):
        (WebCore::AudioChannelMerger::process):
        (WebCore::AudioChannelMerger::reset):
        * webaudio/AudioChannelMerger.h: Added.
        (WebCore::AudioChannelMerger::create):
        * webaudio/AudioChannelMerger.idl: Added.

2010-09-29  Chris Fleizach  <cfleizach@apple.com>

        No review. Missed file for patch.

        AX: implement CSS3 Speech "speak"
        https://bugs.webkit.org/show_bug.cgi?id=46827

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

2010-09-29  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Crash at lineBreakExistsAtPosition + 125
        <rdar://problem/7028809> 
        https://bugs.webkit.org/show_bug.cgi?id=46770
        
        lineBreakExistsAtPosition is called from InsertTextCommand::input,
        where we compute the downstream position of the endingSelection().
        Downstream can return the original position, that comes from a VisibleSelection
        but there is no guarantee that its renderer is still there. Everywhere we dereference
        a renderer we check if it's null.
        
        There is no regression test.
        
        * editing/htmlediting.cpp:
        (WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null
        before dereferencing it.

2010-09-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Add additional checks to StringBuilder.
        <rdar://problem/7761248>

        * platform/text/StringBuilder.cpp:
        (WebCore::checkAppend):
        (WebCore::StringBuilder::append):
        (WebCore::StringBuilder::toString):
        (WebCore::StringBuilder::clear):
        (WebCore::StringBuilder::length):
        * platform/text/StringBuilder.h:
        (WebCore::StringBuilder::StringBuilder):
        (WebCore::StringBuilder::setNonNull):
        (WebCore::StringBuilder::isNull):

2010-09-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown
        https://bugs.webkit.org/show_bug.cgi?id=46715
        <rdar://problem/8485909>

        Remove exclamation points from exceptions.

        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectInvokeImpl):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        (JSC::Bindings::CInstance::invokeConstruct):

2010-09-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Add additional check to Text::wholeText.
        <rdar://problem/8304795>

        * dom/Text.cpp:
        (WebCore::Text::wholeText):

2010-09-29  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Brady Eidson.

        REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled
        <https://bugs.webkit.org/show_bug.cgi?id=46773>
        <rdar://problem/8390975>
        
        After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin
        document could cause Safari to crash.
        
        If a plugin load on an initial document is cancelled, we cancel the main resource load (where the
        main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual
        loading path like we do on the initial load of a plugin in a plugin document.

        Tests: plugins/plugin-document-load-prevented-userscript.html
               plugins/plugin-document-willSendRequest-null.html

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a
            plugin document, call a function on PluginDocument that cancels the main resource load, and
            sets a plugin document flag.
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be
            null if the load was cancelled.
        (WebCore::PluginDocument::PluginDocument): Initialize the new variable.
        (WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document
            (which is a plugin in the case of a plugin document).
        * html/PluginDocument.h:
        (WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin
            manually.
        (WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin
            manually.
        (WebCore::toPluginDocument):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin
            document.

2010-09-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition
        block-flow-aware.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::estimateLogicalTopPosition):
        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
        (WebCore::RenderBlock::collapsedMarginAfterForChild):
        * rendering/RenderBlock.h:

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

        Reviewed by Kenneth Russell.

        Minor cleanup to AudioContext
        https://bugs.webkit.org/show_bug.cgi?id=46843

        No new tests since audio API is not yet implemented

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::lock):
        (WebCore::AudioContext::handleDeferredFinishDerefs):

2010-09-29  MORITA Hajime  <morrita@google.com>

        Reviewed by Eric Seidel.

        Assertion failed when accessing -webkit-margin-top-collapse via computed style.
        https://bugs.webkit.org/show_bug.cgi?id=46798
        
        There was a switch statement which missed enum entries in getPropertyCSSValue().
        This change added these entries to prevent the leak.
        It also added extra case statements to encourage the compiler's help.

        Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

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

        Reviewed by Kenneth Russell.

        Limit number of AudioNode deletions per render quantum in AudioContext
        https://bugs.webkit.org/show_bug.cgi?id=46834

        No new tests since audio API is not yet implemented.

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::handlePostRenderTasks):
        (WebCore::AudioContext::deleteMarkedNodes):

2010-09-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=46838
        
        Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox.  I'm inverting the way these are called
        and putting the methods on RenderBlock instead.  The methods can be named better this way and the getters
        can operate on RenderBoxModelObjects instead of just RenderBoxes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::marginBeforeForChild):
        (WebCore::RenderBlock::marginAfterForChild):
        (WebCore::RenderBlock::marginStartForChild):
        (WebCore::RenderBlock::marginEndForChild):
        (WebCore::RenderBlock::setMarginStartForChild):
        (WebCore::RenderBlock::setMarginEndForChild):
        (WebCore::RenderBlock::setMarginBeforeForChild):
        (WebCore::RenderBlock::setMarginAfterForChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalHeightForChild):
        (WebCore::RenderBlock::logicalTopForChild):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginBefore):
        (WebCore::RenderBox::marginAfter):
        (WebCore::RenderBox::marginStart):
        (WebCore::RenderBox::marginEnd):
        (WebCore::RenderBox::setMarginStart):
        (WebCore::RenderBox::setMarginEnd):
        (WebCore::RenderBox::setMarginBefore):
        (WebCore::RenderBox::setMarginAfter):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::setMarginTop):
        (WebCore::RenderBox::setMarginBottom):
        (WebCore::RenderBox::setMarginLeft):
        (WebCore::RenderBox::setMarginRight):

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

        Reviewed by Sam Weinig.

        Removed input type site-specific quirk for mail.google.com
        https://bugs.webkit.org/show_bug.cgi?id=46836

        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::needsGmailQuirk): Removed.
        (WebCore::JSHTMLInputElement::type): Removed this custom getter. 
        * html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute
        from the type attribute.

2010-09-29  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Simon Fraser.

        CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
        https://bugs.webkit.org/show_bug.cgi?id=46777

        It should not be possible to get to be in the LoadingFromSourceElement
        state with a null current source node. This was a possible scenario
        where the current source node was cleared but the load state was not
        cleared as well. Tried and could not create a test case for this.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node.

2010-09-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights.  Rename stretchesToViewHeight.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::stretchesToViewport):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::relativePositionOffsetY):

2010-09-29  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: implement CSS3 Speech "speak"
        https://bugs.webkit.org/show_bug.cgi?id=46827

        Support the "speak" style as defined in
        http://www.w3.org/TR/css3-speech/#speak

        This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet.

        Test: platform/mac/accessibility/css-speech-speak.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::speakProperty):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::speakProperty):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator ESpeak):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::speak):
        (WebCore::InheritedFlags::setSpeak):
        (WebCore::InheritedFlags::initialSpeak):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:

2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>

        Reviewed by Antonio Gomes.

        [Curl] Fix unused and unitialized warnings.
        https://bugs.webkit.org/show_bug.cgi?id=46831

        No new tests since no new funcionality has been added.

        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::allowsAnyHTTPSCertificateHosts):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::ResourceHandleManager):
        (WebCore::handleLocalReceiveResponse):
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::ResourceHandleManager::initializeHandle):

2010-09-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46824
        
        Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware.

        fast/blockflow/root-lr.html progresses as a result of this change.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::estimateLogicalTopPosition):
        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
        (WebCore::RenderBlock::setLogicalTopForChild):
        (WebCore::RenderBlock::layoutBlockChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalHeightForChild):
        (WebCore::RenderBlock::logicalTopForChild):
        * rendering/RenderBox.h:

2010-09-29  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Antonio Gomes.

        queryCommandValue "formatBlock" always returns false
        https://bugs.webkit.org/show_bug.cgi?id=21305

        Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly
        because Firefox and Internet Explorer support the same set of elements
        (address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera.
        See the bug for the detailed discussion.

        WebKit's implementation returns the local name of the lowest common ancestor
        of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p.
        It returns "" when there is no such an ancestor or there is no selection.

        Test: editing/execCommand/query-format-block.html

        * editing/Editor.cpp:
        (WebCore::isElementForFormatBlockCommand):
        (WebCore::Editor::elementForFormatBlockCommand):
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::valueFormatBlock):
        (WebCore::createCommandMap):

2010-09-29  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Darin Fisher.

        Remove obsolete registerExtension variants from chromium port.
        https://bugs.webkit.org/show_bug.cgi?id=46683

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::registeredExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:

2010-09-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb
        https://bugs.webkit.org/show_bug.cgi?id=46822

        When parentObjectUnignored returns null in objectAndOffsetUnignored consider that
        a failure case. Handle this failure appropriately at all call sites.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored.
        (objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and
        return 0 to indicate failure when that happens.
        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure
        case of objectAndOffsetUnignored.

2010-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r68657.
        http://trac.webkit.org/changeset/68657
        https://bugs.webkit.org/show_bug.cgi?id=46820

        reason "Breaks win debug build" (Requested by podivilov on
        #webkit).

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::parserInsertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::notifyChildInserted):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::removeAttribute):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::willInsertDOMNodeImpl):
        (WebCore::InspectorController::didInsertDOMNodeImpl):
        (WebCore::InspectorController::willRemoveDOMNodeImpl):
        (WebCore::InspectorController::didRemoveDOMNodeImpl):
        (WebCore::InspectorController::willModifyDOMAttrImpl):
        (WebCore::InspectorController::didModifyDOMAttrImpl):
        (WebCore::InspectorController::characterDataModifiedImpl):
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::willInsertDOMNode):
        (WebCore::InspectorController::didInsertDOMNode):
        (WebCore::InspectorController::willRemoveDOMNode):
        (WebCore::InspectorController::willModifyDOMAttr):
        (WebCore::InspectorController::didModifyDOMAttr):
        (WebCore::InspectorController::characterDataModified):
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
        (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
        (WebCore::InspectorController::inspectorControllerForNode):
        (WebCore::InspectorController::inspectorControllerForDocument):
        * inspector/InspectorInstrumentation.cpp: Removed.
        * inspector/InspectorInstrumentation.h: Removed.
        * workers/SharedWorker.cpp:

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

        Reviewed by David Levin.

        Performance improvement for FontLinux.
        https://bugs.webkit.org/show_bug.cgi?id=46374

        Reduce new/delete operations by storing the maximum capacity of the glyph
        array and use that value in subsequent HB_ShapeItem calls. (Note that a
        call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the
        capacity.)

        Also be consistent with zero'ing the glyph arrays before calling 
        HB_ShapeItem.

        There is no functionality changes so no new tests are added.
 
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::createGlyphArrays):
        (WebCore::TextRunWalker::resetGlyphArrays):
        (WebCore::TextRunWalker::shapeGlyphs):

2010-09-29  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extract Inspector Instrumentation API as a class.
        https://bugs.webkit.org/show_bug.cgi?id=46614

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::parserInsertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::notifyChildInserted):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::removeAttribute):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp: Added.
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
        * inspector/InspectorInstrumentation.h: Added.
        (WebCore::InspectorInstrumentation::frontendCreated):
        (WebCore::InspectorInstrumentation::frontendDeleted):
        (WebCore::InspectorInstrumentation::hasFrontends):
        (WebCore::InspectorInstrumentation::willInsertDOMNode):
        (WebCore::InspectorInstrumentation::didInsertDOMNode):
        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
        (WebCore::InspectorInstrumentation::characterDataModified):
        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
        (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
        (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
        (WebCore::InspectorInstrumentation::inspectorControllerForPage):

2010-09-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls)
        to be block-flow-aware.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::handleAfterSideOfBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.h:
        (WebCore::RenderBox::scrollbarLogicalHeight):

2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] General small fixes.
        https://bugs.webkit.org/show_bug.cgi?id=46813

        This commit spots a comparison between signed and unsigned integer
        expressions, a missing return and a never-called function.

        No new tests since no new funcionality has been added.

        * platform/efl/SharedBufferEfl.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-09-29  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        build still broken since r68521
        https://bugs.webkit.org/show_bug.cgi?id=46795

        Call make-values.pl once only. It seems calling it multiple times
        in the same build produces a wrong CSSValueKeywordsHash.h which
        has a duplicate declaration of its valueList variable. The double
        call is triggered by the double targets in the Makefile rules and
        makevalues.pl generates one of them, which screws up the build. A
        more proper fix should be done with the advices on
        http://www.cmcrossroads.com/cm-basics/12905-rules-with-multiple-outputs-in-gnu-make

        * GNUmakefile.am:

2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>

        Unreviewed build fix.

        Fix CMake build for ENABLE_PROGRESS_TAG.
        https://bugs.webkit.org/show_bug.cgi?id=46808

        No new tests since it's a build fix.

        * CMakeLists.txt:

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

        Reviewed by Pavel Feldman.

        [v8] Use generic mechanism to report exceptions in V8CustomVoidCallback
        https://bugs.webkit.org/show_bug.cgi?id=46803

        No new tests. It's covered by existing tests under LayoutTests/storage

        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::invokeCallback):

2010-09-29  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Rename the input element's @speech attribute to @webkitspeech since it is still experimental.
        https://bugs.webkit.org/show_bug.cgi?id=46799

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webkitspeechEnabled): Rename the runtime feature flag getter.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in: Rename the css style name.
        * css/html.css: Rename the css style name.
        (input::-webkit-input-speech-button):
        * html/HTMLAttributeNames.in: Rename the @speech attribute.
        * html/HTMLInputElement.cpp: Update code using the attribute.
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::isSpeechEnabled):
        * html/HTMLInputElement.idl: Rename the @speech attribute.

2010-09-29  MORITA Hajime  <morrita@google.com>

        [Chromium] failed to build without ACCELERATED_COMPOSITING
        https://bugs.webkit.org/show_bug.cgi?id=46793

        Moved constant definitions from inside ACCELERATED_COMPOSITING to
        outside of the condition.
        
        * WebCore.gypi:
        * platform/graphics/chromium/VideoFrameChromium.cpp: Added just for defining constants.
        * platform/graphics/chromium/VideoLayerChromium.cpp:

2010-09-28  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: [Resources panel] Need more visible "at a glance".
        https://bugs.webkit.org/show_bug.cgi?id=45657

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype.updateWidths):
        (WebInspector.DataGrid.prototype.sortNodes):
        (WebInspector.DataGrid.prototype._resizerDragging):
        (WebInspector.DataGrid.prototype._endResizerDragging):
        (WebInspector.DataGridNode.prototype.selectable.true.get element):
        (WebInspector.DataGridNode.prototype.createCells):
        (WebInspector.DataGridNode.prototype.refresh):
        * inspector/front-end/Images/networkIcon.png: Copied from WebCore/inspector/front-end/Images/resourcesIcon.png.
        * inspector/front-end/NetworkPanel.js: Added.
        * inspector/front-end/Settings.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.toolbar-item.network .toolbar-icon):
        (.data-grid .data-container):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector.updateResource):
        * inspector/front-end/networkPanel.css: Added.

2010-09-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move pauseOnExceptionState under control of InspectorState
        It is Inspector Protocol cleanup activity.
        The actual state of this flag can be obtained as a return value of setPauseOnExceptionState command
        or as a value in InspectorState object.

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

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getInspectorState):
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
        (WebCore::InspectorDebuggerAgent::pauseOnExceptionsState):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone.populateInspectorState):
        (WebInspector.doLoadedDone):
        (WebInspector.reportProtocolError):

2010-09-28  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        check USE(GSTREAMER) instead of ENABLE(VIDEO) in gstreamer/ files
        https://bugs.webkit.org/show_bug.cgi?id=46717

        Guard the gstreamer/ files with USE(GSTREAMER), which is more
        explicit than ENABLE(VIDEO).

        * GNUmakefile.am: Define WTF_USE_GSTREAMER only if GStreamer
        support is enabled.
        * platform/graphics/gstreamer/DataSourceGStreamer.cpp:
        * platform/graphics/gstreamer/DataSourceGStreamer.h:
        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
        * platform/graphics/gstreamer/GOwnPtrGStreamer.h:
        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        * platform/graphics/gstreamer/GStreamerGWorld.h:
        * platform/graphics/gstreamer/ImageGStreamer.h:
        * platform/graphics/gstreamer/ImageGStreamerCG.mm:
        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gstreamer/PlatformVideoWindow.h:
        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
        * platform/graphics/gstreamer/VideoSinkGStreamer.h:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:

2010-09-28  Kent Tamura  <tkent@chromium.org>

        Unreviewed, windows build fix for r68629.

        * WebCore.vcproj/WebCore.vcproj: Add TimeInputType.{cpp,h}

2010-09-28  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=41292
        Pass the right popupAllowed flag to current execution frame,
        so WebKit can get right gesture status for popups initiated
        from plugins.
        This also makes v8 binding's ScriptController::processingUserGesture
        match what jsc version.

        Test: plugins/plugin-initiate-popup-window.html

        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::setAllowPopupsFromPlugin):
        (WebCore::ScriptController::allowPopupsFromPlugin):

2010-09-28  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Refactor HTMLInputElement: Introducing InputType class and classes
        for each input element types.
        https://bugs.webkit.org/show_bug.cgi?id=45872

        No new tests because this doesn't change any behavior.

        * Android.mk: Add new files.
        * CMakeLists.txt: ditto.
        * GNUmakefile.am: ditto.
        * WebCore.gypi: ditto.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * html/BaseTextInputType.cpp: Added.
        (WebCore::BaseTextInputType::isTextType):
        (WebCore::BaseTextInputType::patternMismatch):
        * html/BaseTextInputType.h: Added.
        (WebCore::BaseTextInputType::BaseTextInputType):
        * html/ButtonInputType.cpp: Added.
        (WebCore::ButtonInputType::create):
        (WebCore::ButtonInputType::formControlType):
        * html/ButtonInputType.h: Added.
        (WebCore::ButtonInputType::ButtonInputType):
        * html/CheckboxInputType.cpp: Added.
        (WebCore::CheckboxInputType::create):
        (WebCore::CheckboxInputType::formControlType):
        * html/CheckboxInputType.h: Added.
        (WebCore::CheckboxInputType::CheckboxInputType):
        * html/ColorInputType.cpp: Added.
        (WebCore::ColorInputType::create):
        (WebCore::ColorInputType::formControlType):
        * html/ColorInputType.h: Added.
        (WebCore::ColorInputType::ColorInputType):
        * html/DateInputType.cpp: Added.
        (WebCore::DateInputType::create):
        (WebCore::DateInputType::formControlType):
        * html/DateInputType.h: Added.
        (WebCore::DateInputType::DateInputType):
        * html/DateTimeInputType.cpp: Added.
        (WebCore::DateTimeInputType::create):
        (WebCore::DateTimeInputType::formControlType):
        * html/DateTimeInputType.h: Added.
        (WebCore::DateTimeInputType::DateTimeInputType):
        * html/DateTimeLocalInputType.cpp: Added.
        (WebCore::DateTimeLocalInputType::create):
        (WebCore::DateTimeLocalInputType::formControlType):
        * html/DateTimeLocalInputType.h: Added.
        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
        * html/EmailInputType.cpp: Added.
        (WebCore::EmailInputType::create):
        (WebCore::EmailInputType::formControlType):
        * html/EmailInputType.h: Added.
        (WebCore::EmailInputType::EmailInputType):
        * html/FileInputType.cpp: Added.
        (WebCore::FileInputType::create):
        (WebCore::FileInputType::formControlType):
        * html/FileInputType.h: Added.
        (WebCore::FileInputType::FileInputType):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement): Initialize m_inputType.
        (WebCore::HTMLInputElement::patternMismatch): Delegate to InputType.
        (WebCore::HTMLInputElement::updateType): Update m_inputType with new type.
        (WebCore::HTMLInputElement::formControlType): Delegate to InputType.
        (WebCore::HTMLInputElement::isTextField): ditto.
        (WebCore::HTMLInputElement::isTextType): ditto.
        * html/HTMLInputElement.h:
        * html/HiddenInputType.cpp: Added.
        (WebCore::HiddenInputType::create):
        (WebCore::HiddenInputType::formControlType):
        * html/HiddenInputType.h: Added.
        (WebCore::HiddenInputType::HiddenInputType):
        * html/ImageInputType.cpp: Added.
        (WebCore::ImageInputType::create):
        (WebCore::ImageInputType::formControlType):
        * html/ImageInputType.h: Added.
        (WebCore::ImageInputType::ImageInputType):
        * html/InputType.cpp: Added.
        (WebCore::createInputTypeFactoryMap):
        (WebCore::InputType::create):
        (WebCore::InputType::createText):
        (WebCore::InputType::~InputType):
        (WebCore::InputType::isTextField):
        (WebCore::InputType::isTextType):
        (WebCore::InputType::patternMismatch):
        (WebCore::InputTypeNames::button):
        (WebCore::InputTypeNames::checkbox):
        (WebCore::InputTypeNames::color):
        (WebCore::InputTypeNames::date):
        (WebCore::InputTypeNames::datetime):
        (WebCore::InputTypeNames::datetimelocal):
        (WebCore::InputTypeNames::email):
        (WebCore::InputTypeNames::file):
        (WebCore::InputTypeNames::hidden):
        (WebCore::InputTypeNames::image):
        (WebCore::InputTypeNames::isindex):
        (WebCore::InputTypeNames::month):
        (WebCore::InputTypeNames::number):
        (WebCore::InputTypeNames::password):
        (WebCore::InputTypeNames::radio):
        (WebCore::InputTypeNames::range):
        (WebCore::InputTypeNames::reset):
        (WebCore::InputTypeNames::search):
        (WebCore::InputTypeNames::submit):
        (WebCore::InputTypeNames::telephone):
        (WebCore::InputTypeNames::text):
        (WebCore::InputTypeNames::time):
        (WebCore::InputTypeNames::url):
        (WebCore::InputTypeNames::week):
        * html/InputType.h: Added.
        (WebCore::InputType::InputType):
        (WebCore::InputType::element):
        * html/IsIndexInputType.cpp: Added.
        (WebCore::IsIndexInputType::create):
        (WebCore::IsIndexInputType::formControlType):
        * html/IsIndexInputType.h: Added.
        (WebCore::IsIndexInputType::IsIndexInputType):
        * html/MonthInputType.cpp: Added.
        (WebCore::MonthInputType::create):
        (WebCore::MonthInputType::formControlType):
        * html/MonthInputType.h: Added.
        (WebCore::MonthInputType::MonthInputType):
        * html/NumberInputType.cpp: Added.
        (WebCore::NumberInputType::create):
        (WebCore::NumberInputType::formControlType):
        * html/NumberInputType.h: Added.
        (WebCore::NumberInputType::NumberInputType):
        * html/PasswordInputType.cpp: Added.
        (WebCore::PasswordInputType::create):
        (WebCore::PasswordInputType::formControlType):
        * html/PasswordInputType.h: Added.
        (WebCore::PasswordInputType::PasswordInputType):
        * html/RadioInputType.cpp: Added.
        (WebCore::RadioInputType::create):
        (WebCore::RadioInputType::formControlType):
        * html/RadioInputType.h: Added.
        (WebCore::RadioInputType::RadioInputType):
        * html/RangeInputType.cpp: Added.
        (WebCore::RangeInputType::create):
        (WebCore::RangeInputType::formControlType):
        * html/RangeInputType.h: Added.
        (WebCore::RangeInputType::RangeInputType):
        * html/ResetInputType.cpp: Added.
        (WebCore::ResetInputType::create):
        (WebCore::ResetInputType::formControlType):
        * html/ResetInputType.h: Added.
        (WebCore::ResetInputType::ResetInputType):
        * html/SearchInputType.cpp: Added.
        (WebCore::SearchInputType::create):
        (WebCore::SearchInputType::formControlType):
        * html/SearchInputType.h: Added.
        (WebCore::SearchInputType::SearchInputType):
        * html/SubmitInputType.cpp: Added.
        (WebCore::SubmitInputType::create):
        (WebCore::SubmitInputType::formControlType):
        * html/SubmitInputType.h: Added.
        (WebCore::SubmitInputType::SubmitInputType):
        * html/TelephoneInputType.cpp: Added.
        (WebCore::TelephoneInputType::create):
        (WebCore::TelephoneInputType::formControlType):
        * html/TelephoneInputType.h: Added.
        (WebCore::TelephoneInputType::TelephoneInputType):
        * html/TextFieldInputType.cpp: Added.
        (WebCore::TextFieldInputType::isTextField):
        * html/TextFieldInputType.h: Added.
        (WebCore::TextFieldInputType::TextFieldInputType):
        * html/TextInputType.cpp: Added.
        (WebCore::TextInputType::create):
        (WebCore::TextInputType::formControlType):
        * html/TextInputType.h: Added.
        (WebCore::TextInputType::TextInputType):
        * html/TimeInputType.cpp: Added.
        (WebCore::TimeInputType::create):
        (WebCore::TimeInputType::formControlType):
        * html/TimeInputType.h: Added.
        (WebCore::TimeInputType::TimeInputType):
        * html/URLInputType.cpp: Added.
        (WebCore::URLInputType::create):
        (WebCore::URLInputType::formControlType):
        * html/URLInputType.h: Added.
        (WebCore::URLInputType::URLInputType):
        * html/WeekInputType.cpp: Added.
        (WebCore::WeekInputType::create):
        (WebCore::WeekInputType::formControlType):
        * html/WeekInputType.h: Added.
        (WebCore::WeekInputType::WeekInputType):

2010-09-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=46782, rename the top and bottom margin quirk getters/setters.

        Also do a bit of cleanup for block flow roots.  Make sure they don't try to propagate overhanging floats out
        to ancestors.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::setCollapsedBottomMargin):
        (WebCore::RenderBlock::addOverhangingFloats):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isMarginBeforeQuirk):
        (WebCore::RenderObject::isMarginAfterQuirk):
        (WebCore::RenderObject::setMarginBeforeQuirk):
        (WebCore::RenderObject::setMarginAfterQuirk):

2010-09-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46780
        
        Rename the pos/neg/collapsed margin methods.  Rename all the members of the RenderBlockRareData struct.
        No logical changes.  Just renames.

        * editing/TextIterator.cpp:
        (WebCore::shouldEmitExtraNewlineForNode):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::estimateVerticalPosition):
        (WebCore::RenderBlock::setCollapsedBottomMargin):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::setMaxMarginBeforeValues):
        (WebCore::RenderBlock::setMaxMarginAfterValues):
        (WebCore::RenderBlock::absoluteRects):
        (WebCore::RenderBlock::absoluteQuads):
        (WebCore::RenderBlock::rectWithOutlineForRepaint):
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::maxPosMarginBefore):
        (WebCore::RenderBlock::maxNegMarginBefore):
        (WebCore::RenderBlock::maxPosMarginAfter):
        (WebCore::RenderBlock::maxNegMarginAfter):
        (WebCore::RenderBlock::initMaxMarginValues):
        (WebCore::RenderBlock::maxMarginBefore):
        (WebCore::RenderBlock::maxMarginAfter):
        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
        (WebCore::RenderBlock::RenderBlockRareData::beforePosDefault):
        (WebCore::RenderBlock::RenderBlockRareData::beforeNegDefault):
        (WebCore::RenderBlock::RenderBlockRareData::afterPosDefault):
        (WebCore::RenderBlock::RenderBlockRareData::afterNegDefault):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::collapsedMarginBefore):
        (WebCore::RenderBox::collapsedMarginAfter):
        (WebCore::RenderBox::maxMarginBefore):
        (WebCore::RenderBox::maxMarginAfter):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):

2010-09-28  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] wxMSW build fix. Don't use multiple inheritance in PopupMenuWx to avoid debug build
        compiler error about ambiguity over which new override (wx's or FastAllocBase's) to use.

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenuEventHandler::PopupMenuEventHandler):
        (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
        (WebCore::PopupMenuWx::PopupMenuWx):
        (WebCore::PopupMenuWx::show):
        * platform/wx/PopupMenuWx.h:

2010-09-28  Xiaomei Ji  <xji@chromium.org>

        Reviewed by NOBODY (revert unsquashed git commits)

        Revert change sets 68583 to 68590, which are un-squashed git-commits: Performance improvement for FontLinux regarding issue 46374.
        https://bugs.webkit.org/show_bug.cgi?id=46374

2010-09-28  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Tony Chang.

        Split webcore_html off webcore_remaining.

        webcore_remaining is still too large for certain 32 bits toolsets.
        https://bugs.webkit.org/show_bug.cgi?id=46445

        * WebCore.gyp/WebCore.gyp:

2010-09-28  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Delete and forward delete shouldn't start autocorrection panel timer.
        https://bugs.webkit.org/show_bug.cgi?id=46679
        <rdar://problem/8463917>

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping): Only start correction panel timer
          when the editing command is InsertText.
        (WebCore::TypingCommand::typingAddedToOpenCommand): Add an argument to pass in command type.

        * editing/TypingCommand.h: Add an argument to typingAddedToOpenCommand().

2010-09-28  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Dimitri Glazkov.

        No back/forward list entry added when submitting a form via an onclick handler inside a frame
        https://bugs.webkit.org/show_bug.cgi?id=44140
        
        Lock the back/forward list for JavaScript form submissions inside frames
        only if they're not in response to user gestures.

        Tests: fast/history/form-submit-in-frame-via-onclick.html
               fast/history/form-submit-in-frame.html

        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleFormSubmission):

2010-09-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Fix typo in previous checkin.

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

2010-09-28  Nat Duca  <nduca@chromium.org>

        Reviewed by James Robinson.

        [chromium] invalidateRootLayerRect needs to schedule compositor
        https://bugs.webkit.org/show_bug.cgi?id=46219

        Update comments on LayerChromium commit/display functions to clarify
        their limitations. Remove unused dirtying logic from 
        LayerRendererChromium.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsCommit):
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::present):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-09-28  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Dmitry Titov.

        Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
        https://bugs.webkit.org/show_bug.cgi?id=46663

        No new tests. API addition only. Will be used in separate patch.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didTransferChildFrameToNewDocument):
        * loader/FrameLoaderClient.h:
        * page/Frame.cpp:
        (WebCore::Frame::transferChildFrameToNewDocument):
        Pass former page to didTransferChildFrameToNewDocument.

2010-09-28  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.

        Test: svg/custom/image-rescale.svg

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

2010-09-28  James Robinson  <jamesr@chromium.org>

        [chromium] Decrease warning level on chromium linux temporarily. This is causing failures on some bots

        * WebCore.gyp/WebCore.gyp:

2010-09-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Increase warning level for chromium linux build
        https://bugs.webkit.org/show_bug.cgi?id=46687

        This sets the chromium_code gyp variable to 1 for the chromium
        linux WebCore build and fixes the warnings that exposes.  This
        matches the chromium mac build's compiler settings more closely
        and should cut down on the number of patches that break mac but
        compile cleaning on linux.

        * WebCore.gyp/WebCore.gyp:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::getTextRun):
        (WebCore::TextRunWalker::getNormalizedTextRun):
        (WebCore::TextRunWalker::setGlyphXPositions):
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::getOutlinePoint):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::copySubRect):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::setSize):
        * platform/image-decoders/gif/GIFImageDecoder.h:

2010-09-28  Stephen White  <senorblanco@chromium.org>

        Reviewed by Csaba Osztrogonác.

        Fix for r68521 to build on VS2008/Release.

        * html/DocTypeStrings.gperf:
        Don't emit "#include <string.h>" here, since we're inside a namespace.
        * make-hash-tools.pl:
        Emit #include <string.h> manually where required.
        * platform/ColorData.gperf:
        Don't emit "#include <string.h>" here, since we're inside a namespace.

2010-09-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Right now we have two properties named margin-top-collapse and margin-after-collapse.  They are proprietary and only used by Safari RSS.

        I am adding margin-before-collapse and margin-after-collapse and just aliasing the old properties to the new ones.
        This way we have some names that are directionally independent.

        Note that these properties aren't like other directional properties.  They are about what to do with the before side and after side of
        your block's margins when collapsing with adjacent blocks.  The meaning of before/after depend on the block-flow directionality
        of the containing block.

        Computed style tests all changed and the remove-shorthand.html test covers manipulation of the shorthand.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::isSelfCollapsingBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::layoutBlockChild):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::marginBeforeCollapse):
        (WebCore::InheritedFlags::marginAfterCollapse):
        (WebCore::InheritedFlags::setMarginBeforeCollapse):
        (WebCore::InheritedFlags::setMarginAfterCollapse):
        (WebCore::InheritedFlags::initialMarginBeforeCollapse):
        (WebCore::InheritedFlags::initialMarginAfterCollapse):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2010-09-28  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Cairo] FreeType fonts should obey FontConfig hinting/anti-aliasing settings
        https://bugs.webkit.org/show_bug.cgi?id=46740

        When creating a font from a FontConfig pattern, use the FontConfig pattern's
        hinting and anti-aliasing settings. This follows the Chromium Linux approach
        of having FontConfig settings take precedence over GTK+ settings, as GTK+
        settings cannot be configured per-font and per-font-size.

        Test: platform/gtk/fonts/fontconfig-aliasing-settings.html

        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::convertFontConfigSubpixelOrder): Added this helper which converts
        the FontConfig subpixel order into the cairo equivalent.
        (WebCore::convertFontConfigHintStyle): Added this helper which converts the
        FontConfig hint style into the cairo equivalent.
        (WebCore::setCairoFontOptionsFromFontConfigPattern): Added this helper which
        reads the font rendering settings from a pattern and translates them into the
        appropriate cairo_font_options_t settings.
        (WebCore::FontPlatformData::FontPlatformData): When creating a font from a
        FontConfig pattern use setCairoFontOptionsFromFontConfigPattern to get the
        appropriate rendering options for the font.

2010-09-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler and Dave Hyatt.

        Vertical scroll bar on apple.com is too short with WebKit2
        <rdar://problem/8379230>
        https://bugs.webkit.org/show_bug.cgi?id=46739

        Adds a function to recalculate the scrollbars to take advantage of
        a changed window re-sizer rect.

        * WebCore.exp.in:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::windowResizerRectChanged):
        * platform/ScrollView.h:

2010-09-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46750
        
        Rename the MarginInfo members and functions to be block-flow independent.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::adjustPositionedBlock):
        (WebCore::RenderBlock::adjustFloatingBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::estimateVerticalPosition):
        (WebCore::RenderBlock::setCollapsedBottomMargin):
        (WebCore::RenderBlock::handleBottomOfBlock):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::applyAfterBreak):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::MarginInfo::setAtBeforeSideOfBlock):
        (WebCore::RenderBlock::MarginInfo::setAtAfterSideOfBlock):
        (WebCore::RenderBlock::MarginInfo::setMarginBeforeQuirk):
        (WebCore::RenderBlock::MarginInfo::setMarginAfterQuirk):
        (WebCore::RenderBlock::MarginInfo::setDeterminedMarginBeforeQuirk):
        (WebCore::RenderBlock::MarginInfo::atBeforeSideOfBlock):
        (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginBefore):
        (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginAfter):
        (WebCore::RenderBlock::MarginInfo::canCollapseMarginBeforeWithChildren):
        (WebCore::RenderBlock::MarginInfo::canCollapseMarginAfterWithChildren):
        (WebCore::RenderBlock::MarginInfo::determinedMarginBeforeQuirk):
        (WebCore::RenderBlock::MarginInfo::marginBeforeQuirk):
        (WebCore::RenderBlock::MarginInfo::marginAfterQuirk):

2010-09-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Improved the handling of soft hyphens in Copy and Find operations, addressing the following
        bugs:

        <rdar://problem/7938878> Soft hyphenation and the clipboard
        https://bugs.webkit.org/show_bug.cgi?id=11154

        window.getSelection().toString() breaks soft hyphen &shy;
        https://bugs.webkit.org/show_bug.cgi?id=26774

        <rdar://problem/5640505> soft hyphen breaks search function
        https://bugs.webkit.org/show_bug.cgi?id=16675

        Test: fast/text/find-soft-hyphen.html

        Changed line layout code to not skip over soft hyphens but rather include them in the text
        boxes. Changed font code to render the soft hyphen character as a zero width space, so that
        the former change will not affect rendering of soft hyphens in the middle of the line. Also
        changed line layout code to mark text boxes where hyphenation occurred due to a soft hyphen
        as hyphenated, so that the hyphen string specified in CSS will be appended to them.

        Not omitting the soft hyphens from the text boxes makes the text iterator emit them, which
        solves the Copy and plain-text conversion issues. Previously, the iterator would emit a space
        to account for non-rendered characters between adjacent boxes, which was wrong in this case.

        To make Find work, soft hyphens are folded into 0, which is ignorable in the collation used
        for Find.

        * editing/TextIterator.cpp:
        (WebCore::foldQuoteMarkOrSoftHyphen): Renamed foldQuoteMark() to this and added folding of
        soft hyphen to 0.
        (WebCore::foldQuoteMarksAndSoftHyphens): Renamed foldQuoteMarks() to thid and added folding
        of soft hyphen to 0.
        (WebCore::SearchBuffer::SearchBuffer): Updated for renames.
        (WebCore::SearchBuffer::append): Ditto.
        * platform/graphics/Font.h:
        (WebCore::Font::treatAsSpace): Replaced number literal with name.
        (WebCore::Font::treatAsZeroWidthSpace): Added softHyphen.
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage): Get the zero width space glyph for soft hyphen.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::collectComplexTextRuns): Removed special handling that made
        a trailing soft hyphen render as hyphen-minus. All soft hyphens are now rendered as zero width
        spaces, and where a line break actually occurs at a soft hyphen, rendering code appends the
        CSS-specified hyphenate character to the text run that is passed to us here.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::chopMidpointsAt): Removed this function, which was only used for skipping over soft
        hyphens.
        (WebCore::checkMidpoints): Removed code related to skipping over soft hyphens.
        (WebCore::RenderBlock::findNextLineBreak): Removed code to skip over soft hyphens. Ignore
        a line break opportunity at a soft hyphen if the style specifies 'hyphens: none'. Set
        'hyphenated' to true if a line break occurs at a soft hyphen.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::hyphenString): Changed the assertion to allow querying for the hyphen
        string for 'hyphens: manual'.

2010-09-28  Martin Robinson  <mrobinson@igalia.com>

        More GTK+ build fixes after r68521.

        * GNUmakefile.am: Added proper dependency tracking for some
        new autogenerated files.

2010-09-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Text drawing taints GraphicsContext's QPainter::pen()
        https://bugs.webkit.org/show_bug.cgi?id=46744

        Test: fast/canvas/canvas-style-intact-after-text.html

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon): Make sure the QPainter's pen is
        restored after filling and/or stroking text.

2010-09-28  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Autocorrection panel is shown at incorrect location when WebView is scrolled.
        https://bugs.webkit.org/show_bug.cgi?id=46531
        <rdar://problem/8455376>

        * dom/Range.h: Make getBorderAndTextQuads() public so that it can be used by Editor.
        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced call to textQuads()
          with getBorderAndTextQuads().

2010-09-28  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBRequest should not have a method called abort.
        https://bugs.webkit.org/show_bug.cgi?id=46720

        IDBRequest::abort() was dropped from the spec following discussion in
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10165

        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::~IDBRequest):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::timerFired):
        (WebCore::IDBRequest::scheduleEvent):
        * storage/IDBRequest.h:
        * storage/IDBRequest.idl:

2010-09-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        CrashTracer: 1,382 crashes in Safari at com.apple.WebCore: WebCore::VisiblePosition::canonicalPosition + 78
        https://bugs.webkit.org/show_bug.cgi?id=45927

        AXTextMarkers store pointers to Nodes without any retain or reference. If a Node is deallocated and then
        a client tries to use a text marker that references that node, it leads to this crash.

        The AXObjectCache instance now keeps a HashSet of Node's being used. When a node becomes deallocated, it removes itself
        from the HashSet. When creating a VisiblePosition from an AXTextMarker, the cache can then check if the node is valid
        before proceeding.

        Test: platform/mac/accessibility/crash-invalid-text-marker-node.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
            Modify to check whether a node is valid before proceeeding.
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::setNodeInUse):
        (WebCore::AXObjectCache::removeNodeForUse):
        (WebCore::AXObjectCache::isNodeInUse):
            Methods for managing whether a node is in use by text markers.
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (textMarkerForVisiblePosition):
        (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
        (visiblePositionForTextMarker):
        (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
        (visiblePositionForStartOfTextMarkerRange):
        (visiblePositionForEndOfTextMarkerRange):
        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
        (textMarkerRangeFromVisiblePositions):
        (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
             Change these calls so that the axObjectCache() can be passed in to create the visible position.
        * dom/Document.cpp:
        (WebCore::Document::axObjectCacheExists):
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::~Node):
             If accessibility is enabled, inform the axObjectCache() that this node is disappearing.

2010-09-28  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioDestinationNode files
        https://bugs.webkit.org/show_bug.cgi?id=45009

        No new tests since audio API is not yet implemented.

        * webaudio/AudioDestinationNode.cpp: Added.
        (WebCore::AudioDestinationNode::AudioDestinationNode):
        (WebCore::AudioDestinationNode::~AudioDestinationNode):
        (WebCore::AudioDestinationNode::initialize):
        (WebCore::AudioDestinationNode::uninitialize):
        (WebCore::AudioDestinationNode::provideInput):
        * webaudio/AudioDestinationNode.h: Added.
        (WebCore::AudioDestinationNode::create):
        (WebCore::AudioDestinationNode::process):
        (WebCore::AudioDestinationNode::reset):
        (WebCore::AudioDestinationNode::currentTime):
        (WebCore::AudioDestinationNode::sampleRate):
        (WebCore::AudioDestinationNode::numberOfChannels):
        * webaudio/AudioDestinationNode.idl: Added.

2010-09-28  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: audio output classes
        https://bugs.webkit.org/show_bug.cgi?id=34716

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioDestination.h: Added.
        (WebCore::AudioDestination::~AudioDestination):
        * platform/audio/mac/AudioDestinationMac.cpp: Added.
        (WebCore::AudioDestination::create):
        (WebCore::AudioDestination::hardwareSampleRate):
        (WebCore::AudioDestinationMac::AudioDestinationMac):
        (WebCore::AudioDestinationMac::~AudioDestinationMac):
        (WebCore::AudioDestinationMac::configure):
        (WebCore::AudioDestinationMac::start):
        (WebCore::AudioDestinationMac::stop):
        (WebCore::AudioDestinationMac::render):
        (WebCore::AudioDestinationMac::inputProc):
        * platform/audio/mac/AudioDestinationMac.h: Added.
        (WebCore::AudioDestinationMac::isPlaying):
        (WebCore::AudioDestinationMac::sampleRate):

2010-09-28  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioGain files
        https://bugs.webkit.org/show_bug.cgi?id=46285

        No new tests since audio API is not yet implemented.

        * webaudio/AudioGain.h: Added.
        (WebCore::AudioGain::create):
        (WebCore::AudioGain::AudioGain):
        * webaudio/AudioGain.idl: Added.

2010-09-28  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix possible illegal float values in AudioParam
        https://bugs.webkit.org/show_bug.cgi?id=46681

        No new tests since audio API is not yet implemented.

        * webaudio/AudioParam.h:
        (WebCore::AudioParam::setValue):

2010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Rename member variable in MediaPlayerPrivateQt 

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.h:

2010-09-28  Andras Becsi  <abecsi@webkit.org>

        [Gtk] Build fix. Remove leftover trailing backslash.

        * GNUmakefile.am:

2010-09-28  Andras Becsi  <abecsi@webkit.org>

        Unreviewed.

        [Gtk] Build fix after r68521

        No new tests needed.

        * GNUmakefile.am:

2010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Rename MediaPlayerPrivate to MediaPlayerPrivateQt/Phonon

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

        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:

2010-09-28  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Undefined reference errors when linking due to gperf and inlining.
        webkit.org/b/29244

        EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>

        Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
        Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
        to access the functionality provided. This resulted in debug build failure with newer gcc versions
        because of a behaviour change of gcc, which disables C style inlining in debug mode.
        The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
        in their own compilation unit.
        The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
        for multiple inclusions of generated C files to access these functions.

        No new tests needed.

        * CMakeLists.txt:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        * css/makeprop.pl:
        * css/makevalues.pl:
        * html/DocTypeStrings.gperf:
        * html/HTMLDocument.cpp:
        * make-hash-tools.pl:
        * platform/ColorData.gperf:
        * platform/graphics/Color.cpp:

2010-09-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Canvas: Crash when setting a font with size in 'ex' units
        https://bugs.webkit.org/show_bug.cgi?id=46538

        update() the style's font after setting the style's font description.
        Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
        that the style's font is properly initialized (for xHeight().)

        Fixes crash on IE test center's canvas-text-font-002 test.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):

2010-09-28  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove support for Qt 4.5
        https://bugs.webkit.org/show_bug.cgi?id=46718

        Remove the code for versions of Qt prior to 4.6.

        * WebCore.pro:
        * features.pri:
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::start):
        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):
        * platform/qt/QWebPageClient.h:

2010-09-28  Kent Tamura  <tkent@chromium.org>

        Unreviewed, run sort-Xcode-project-file

        * WebCore.xcodeproj/project.pbxproj:

2010-09-28  Huahui Wu  <mediadependent@gmail.com>

        Reviewed by Steve Block.

        Add multi-touch for Android.
        https://bugs.webkit.org/show_bug.cgi?id=45221

        The Android touch event used to take one point as the touch point,
        it's now changed to a vector of points to support multi-touch.

        Tests: fast/events/touch/basic-multi-touch-events-limited.html
               fast/events/touch/touch-target-limited.html

        * platform/PlatformTouchEvent.h:
        * platform/PlatformTouchPoint.h:
        * platform/android/PlatformTouchEventAndroid.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/android/PlatformTouchPointAndroid.cpp:
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2010-09-27  Kent Tamura  <tkent@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix assertion failure in a case that the dirty flag of a textarea element is changed
        https://bugs.webkit.org/show_bug.cgi?id=45681

        We need to call setNeedsValidityCheck() after updating m_isDirty.

        Test: fast/forms/textarea-checkValidity-crash.html

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::setValue):
        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
        (WebCore::HTMLTextAreaElement::setValueCommon):
        * html/HTMLTextAreaElement.h:

2010-09-27  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        When the block RunIn is destroyed, its line box tree is not deleted. As a result, it
        gets later used during dirtying of inline text boxes step where this deleted parent is
        accessed. The fix is to delete the line box tree before destroying the runin block.

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

        Test: fast/text/dirty-inline-textbox-crash.html

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

2010-09-27  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Fix event sequencing in FileWriter
        https://bugs.webkit.org/show_bug.cgi?id=46544

        Only set readyState to DONE when we're about to send the last progress
        event associated with an operation.  Make sure all progress events come
        from backend calls, and aren't ever fired synchronously in response to
        user JS method calls.

        No new tests, as none of this is fully implemented yet.

        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::write):
        (WebCore::FileWriter::truncate):
        (WebCore::FileWriter::abort):
        (WebCore::FileWriter::didWrite):
        (WebCore::FileWriter::didTruncate):
        (WebCore::FileWriter::didFail):

2010-09-27  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Add HRTFDatabase files
        https://bugs.webkit.org/show_bug.cgi?id=46233

        No new tests since audio API is not yet implemented.

        * platform/audio/HRTFDatabase.cpp: Added.
        (WebCore::HRTFDatabase::create):
        (WebCore::HRTFDatabase::HRTFDatabase):
        (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
        (WebCore::HRTFDatabase::indexFromElevationAngle):
        * platform/audio/HRTFDatabase.h: Added.
        (WebCore::HRTFDatabase::numberOfAzimuths):
        (WebCore::HRTFDatabase::sampleRate):

2010-09-27  Alpha Lam  <hclam@chromium.org>

        Build fix. Not reviewed.

        Move constant definitions to VideoLayerChromium.cpp.
        A proper fix should come later.

        * platform/graphics/chromium/VideoLayerChromium.cpp:

2010-09-23  Antonio Gomes  <agomes@rim.com>

        Reviewed by Kenneth Rohde Christiansen.

        Make Document::nodesFromRect more flexible
        https://bugs.webkit.org/show_bug.cgi?id=46336

        The patch changes the API for the Document::nodesFromRect() method as follows:
        
        from
        - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned horizontalPadding, unsigned verticalPadding, bool ignoreClipping)
        to
        - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding,
                                         unsigned leftPadding, bool ignoreClipping)

        Previously the method was receiving as parameter horizontal and vertical padding values.
        In practice, the horizontal padding was being used to expand a given center point in both
        right and left directions, while vertical padding was expanding it to the top and bottom directions.

        Although this design makes it possible to improve the touch experience on mobile devices
        (Document::nodesFromRect exposes the rect based hit testing system), empirical experiments
        showed that, specially in capacitive touch screens, users tend to tap below elements. So
        for even more accurate results (which means here the possibility of pleasant tapping experience),
        it makes sense to use a region that is offset more above the touch point, favoring elements
        above the touch point.

        The patch basically implements that, increasing the API flexible and power by making it possible
        to specify different padding values for each direction in a given orientation.

        Changes were made accordingly to the HitTestResult, RenderLayer, RenderImage and RenderLineBoxList
        classes.

        WebCore:

        * WebCore.exp.in:
        * dom/Document.h: API adjustment.
        * dom/Document.idl: Ditto.
        * dom/Document.cpp: API adjustment and method body implementation accordingly.
        (WebCore::Document::nodesFromRect):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint): For simplicity, I did not change the signature
            but the way the padding value passed in as parameter is being used to construct a HitTestResult.
        * rendering/HitTestResult.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
        (WebCore::HitTestResult::HitTestResult): Ditto.
        (WebCore::HitTestResult::operator=): Ditto.
        (WebCore::HitTestResult::rectFromPoint): Ditto.
        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::topPadding): getter for the top padding.
        (WebCore::HitTestResult::rightPadding): getter for the right padding.
        (WebCore::HitTestResult::bottomPadding): getter for the bottom padding.
        (WebCore::HitTestResult::leftPadding): getter for the left padding.
        (WebCore::HitTestResult::rectFromPoint): Added a static method that given a center point and padding values for each direction,
            returns the rect that is going to be used in WebCore's hit testing processing.
        * rendering/RenderImage.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
        (WebCore::RenderImage::nodeAtPoint): Ditto.
        * rendering/RenderLayer.cpp: Ditto.
        (WebCore::RenderLayer::hitTestLayer): Ditto.
        (WebCore::RenderLayer::hitTestList): Ditto.
        * rendering/RenderLineBoxList.cpp: Ditto.
        (WebCore::RenderLineBoxList::hitTest): Ditto.

2010-09-27  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Add HRTFDatabaseLoader files
        https://bugs.webkit.org/show_bug.cgi?id=46234

        No new tests since audio API is not yet implemented.

        * platform/audio/HRTFDatabaseLoader.cpp: Added.
        (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
        (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
        (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
        (WebCore::databaseLoaderEntry):
        (WebCore::HRTFDatabaseLoader::load):
        (WebCore::HRTFDatabaseLoader::loadAsynchronously):
        (WebCore::HRTFDatabaseLoader::isLoaded):
        (WebCore::HRTFDatabaseLoader::defaultHRTFDatabase):
        * platform/audio/HRTFDatabaseLoader.h: Added.
        (WebCore::HRTFDatabaseLoader::database):
        (WebCore::HRTFDatabaseLoader::databaseSampleRate):

2010-09-27  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        queryCommandState with justifyCenter, justifyLeft, and justifyRight always return false
        https://bugs.webkit.org/show_bug.cgi?id=45910

        Implemented queryCommandState for justifyCenter, justifyLeft, and justifyRight commands.
        Added getTextAlignment to convert -webkit-center, -webkit-left, and -webkit-right to
        center, left, and right respectively because they can be treated equally for editing purposes.

        Test: editing/execCommand/query-text-alignment.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getTextAlignment): Added.
        (WebCore::getPropertiesNotIn): Uses getTextAlignment.
        * editing/EditorCommand.cpp:
        (WebCore::stateJustifyCenter): Added.
        (WebCore::stateJustifyLeft): Added.
        (WebCore::stateJustifyRight): Added.
        (WebCore::createCommandMap): Refers to stateJustifyCenter, stateJustifyLeft, and stateJustifyRight.

2010-09-27  Alpha Lam  <hclam@chromium.org>

        Unreviewed. Build fix.

        Reorder member declarations and fix other warnings.

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::~VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateContents):
        (WebCore::VideoLayerChromium::determineTextureFormat):
        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
        * platform/graphics/chromium/VideoLayerChromium.h:

2010-09-27  Kenneth Russell  <kbr@google.com>

        Unreviewed, Qt build fix. Stub out CanvasRenderingContext::checkOrigin(const HTMLVideoElement*)
        on platforms that don't support video after r68460.

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::checkOrigin):

2010-09-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        CrashTracer: 1,803 crashes in Safari at com.apple.WebCore: -[AccessibilityObjectWrapper accessibilityIsIgnored] + 56
        https://bugs.webkit.org/show_bug.cgi?id=46662

        Before calling updateBackingStore(), the wrapper object needs to be retained, lest it be invalidated during
        the updateBackingStore call. This consolidates all calls to updateBackingStore().

        Test: platform/mac/accessibility/removing-textarea-after-edit-crash.html

        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
            Use an ASSERT here to catch the crash because DRT won't cause AppKit to post notifications.
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper prepareAccessibilityMethod]):
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):

2010-09-27  Adrienne Walker  <enne@google.com>

        Reviewed by Adam Barth.

        WebGL's readPixels doesn't respect origin-clean flag

        Push CanvasRenderingContext2D checkOrigin logic into base class so it can be shared between different kinds of canvas contexts.
        https://bugs.webkit.org/show_bug.cgi?id=45718

        Test: LayoutTests/http/tests/canvas/webgl/origin-clean-conformance.html

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::checkOrigin):
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::~CanvasRenderingContext):
        (WebCore::CanvasRenderingContext::canvas):
        (WebCore::CanvasRenderingContext::is2d):
        (WebCore::CanvasRenderingContext::is3d):
        (WebCore::CanvasRenderingContext::isAccelerated):
        (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
        (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
        (WebCore::CanvasRenderingContext::platformLayer):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2010-09-27  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        REGRESSION (r68054): Buttons no longer render at correct sizes
        https://bugs.webkit.org/show_bug.cgi?id=46513

        Test: fast/forms/input-button-sizes.html

        The setUpButtonCell function was running only once, but needed to run every time
        through the button function.

        * platform/mac/ThemeMac.mm:
        (WebCore::leakButtonCell): Added. Separate one-time initialization code.
        (WebCore::setUpButtonCell): Removed the first-time initialization part of this function.
        (WebCore::button): Merged the three functions back into one.

2010-09-27  Victoria Kirst  <vrk@google.com>

        Reviewed by James Robinson.

        Modifies VideoLayerChromium to do YUV to RGB color conversion in the
        GPU. Also adds support for RGBA video frame formats, though this code
        path is currently never run because the video frames are in YV12
        format.
        https://bugs.webkit.org/show_bug.cgi?id=45069

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::videoLayerSharedValues):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
        (WebCore::VideoLayerChromium::SharedValues::~SharedValues):
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::~VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateContents):
        (WebCore::VideoLayerChromium::updateYUVContents):
        (WebCore::VideoLayerChromium::allocateYUVTextures):
        (WebCore::VideoLayerChromium::updateYUVTextures):
        (WebCore::VideoLayerChromium::updateRGBAContents):
        (WebCore::VideoLayerChromium::allocateTexture):
        (WebCore::VideoLayerChromium::updateTexture):
        (WebCore::VideoLayerChromium::updateContentsCompleted):
        (WebCore::VideoLayerChromium::draw):
        (WebCore::VideoLayerChromium::drawYUV):
        (WebCore::VideoLayerChromium::drawRGBA):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (WebCore::VideoLayerChromium::drawsContent):
        (WebCore::VideoLayerChromium::SharedValues::yuvShaderProgram):
        (WebCore::VideoLayerChromium::SharedValues::rgbaShaderProgram):
        (WebCore::VideoLayerChromium::SharedValues::yuvShaderMatrixLocation):
        (WebCore::VideoLayerChromium::SharedValues::rgbaShaderMatrixLocation):
        (WebCore::VideoLayerChromium::SharedValues::yuvWidthScaleFactorLocation):
        (WebCore::VideoLayerChromium::SharedValues::rgbaWidthScaleFactorLocation):
        (WebCore::VideoLayerChromium::SharedValues::yTextureLocation):
        (WebCore::VideoLayerChromium::SharedValues::uTextureLocation):
        (WebCore::VideoLayerChromium::SharedValues::vTextureLocation):
        (WebCore::VideoLayerChromium::SharedValues::yuvAlphaLocation):
        (WebCore::VideoLayerChromium::SharedValues::rgbaTextureLocation):
        (WebCore::VideoLayerChromium::SharedValues::ccMatrixLocation):
        (WebCore::VideoLayerChromium::SharedValues::initialized):

2010-09-27  Peter Kasting  <pkasting@google.com>

        Reviewed by James Robinson.

        ImageDecoderSkia.cpp needs to check for allocator failure when copying
        bitmaps.
        https://bugs.webkit.org/show_bug.cgi?id=46437

        * manual-tests/large-size-image-crash.html: Added.
        * manual-tests/resources/large-size-image-crash.gif: Added.
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):
        * platform/image-decoders/ImageDecoder.h:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::initFrameBuffer):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):

2010-09-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        Revert r63307, it broke repainting dynamically changed SVG content
        https://bugs.webkit.org/show_bug.cgi?id=46499

        This patch reverts r63307 and adds a regression test for what broke.

        Test: fast/repaint/repaint-svg-after-style-change.html

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):

2010-09-27  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Making LayerChromium's destructor virtual so that the appropriate
        derived class destructors get called when the layer tree is taken down.
        ContentLayerChromium and its derived types (ImageLayerChromium for now) will
        free up the texture allocated for their contents upon destruction. To avoid
        having the LayerRendererChromium destructor getting called before the layers
        are destroyed and thus leaving their textures orphaned, the layers now hold
        a ref counted pointer to the renderer that uses them.
        https://bugs.webkit.org/show_bug.cgi?id=46139

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        (WebCore::ContentLayerChromium::setLayerRenderer):
        (WebCore::ContentLayerChromium::cleanupResources):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setLayerRenderer):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::layerRenderer):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::deleteLayerTexture):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-09-27  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Implement HTML 5's HTMLElement.classList property
        https://bugs.webkit.org/show_bug.cgi?id=20709

        This adds a DOMTokenList class that is used for the classList property. DOMTokenList uses a SpaceSplitString for fast
        contains check. In standards mode the existing classNames is used but in quirks mode we use an internal SpaceSplitString
        because classList is always case sensitive.

        Tests: fast/dom/HTMLElement/class-list-gc.html
               fast/dom/HTMLElement/class-list-quirks.html
               fast/dom/HTMLElement/class-list.html
               perf/class-list-remove.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * 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:
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::markChildren): Make sure that we keep the wrapper while the element is alive.
        * bindings/scripts/CodeGeneratorJS.pm: DOMTokenList has a string indexed getter.
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Added.
        (WebCore::toV8):
        * dom/Element.cpp:
        (WebCore::Element::classList):
        (WebCore::Element::optionalClassList):
        * dom/Element.h:
        * dom/ElementRareData.h: This now has an OwnPtr to a ClassList if the Element::classList is ever called.
        * dom/SpaceSplitString.h:
        (WebCore::SpaceSplitString::isNull):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged): Update the classList if it exists.
        * dom/StyledElement.h:
        * html/DOMTokenList.cpp: Added.
        (WebCore::validateToken):
        (WebCore::DOMTokenList::DOMTokenList):
        (WebCore::DOMTokenList::ref):
        (WebCore::DOMTokenList::deref):
        (WebCore::DOMTokenList::length):
        (WebCore::DOMTokenList::item):
        (WebCore::DOMTokenList::contains):
        (WebCore::DOMTokenList::containsInternal): The internal methods do no validation of the token.
        (WebCore::DOMTokenList::add):
        (WebCore::DOMTokenList::addInternal):
        (WebCore::DOMTokenList::remove):
        (WebCore::DOMTokenList::removeInternal):
        (WebCore::DOMTokenList::toggle):
        (WebCore::DOMTokenList::toString):
        (WebCore::DOMTokenList::reset):
        (WebCore::DOMTokenList::classNames):
        * html/DOMTokenList.h: Added.
        (WebCore::DOMTokenList::create):
        (WebCore::DOMTokenList::element):
        * html/DOMTokenList.idl: Added.
        * html/HTMLElement.idl:
        * page/DOMWindow.cpp:
        * page/DOMWindow.idl:

2010-09-27  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add local triangulation of cubic curve control points
        https://bugs.webkit.org/show_bug.cgi?id=45252

        (Re-landing; I neglected to actually add the new files in
        http://trac.webkit.org/changeset/68045 .)

        Adding a localized triangulation algorithm which takes as input
        the four control points of a cubic curve segment and provides both
        triangles as well as the ability to walk the interior edges. The
        latter will be used later to fill the interior of shapes bounded
        by these cubic curves, quadratic curves and line segments.

        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
        (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
        (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
        (WebCore::LoopBlinnLocalTriangulator::reset):
        (WebCore::LoopBlinnLocalTriangulator::triangulate):
        (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
        (WebCore::LoopBlinnLocalTriangulator::addTriangle):
        (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
        (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
        (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
        (WebCore::LoopBlinnLocalTriangulator::getVertex):
        (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
        (WebCore::LoopBlinnLocalTriangulator::getTriangle):
        (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
        (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):

2010-09-27  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioNode files
        https://bugs.webkit.org/show_bug.cgi?id=45571

        No new tests since audio API is not yet implemented.

        * webaudio/AudioNode.cpp: Added.
        (WebCore::AudioNode::AudioNode):
        (WebCore::AudioNode::~AudioNode):
        (WebCore::AudioNode::setType):
        (WebCore::AudioNode::lazyInitialize):
        (WebCore::AudioNode::addInput):
        (WebCore::AudioNode::addOutput):
        (WebCore::AudioNode::input):
        (WebCore::AudioNode::output):
        (WebCore::AudioNode::connect):
        (WebCore::AudioNode::disconnect):
        (WebCore::AudioNode::processIfNecessary):
        (WebCore::AudioNode::pullInputs):
        (WebCore::AudioNode::ref):
        (WebCore::AudioNode::deref):
        (WebCore::AudioNode::finishDeref):
        (WebCore::AudioNode::printNodeCounts):
        * webaudio/AudioNode.h: Added.
        (WebCore::AudioNode::context):
        (WebCore::AudioNode::type):
        (WebCore::AudioNode::isInitialized):
        (WebCore::AudioNode::numberOfInputs):
        (WebCore::AudioNode::numberOfOutputs):
        (WebCore::AudioNode::sampleRate):
        (WebCore::AudioNode::checkNumberOfChannelsForInput):
        * webaudio/AudioNode.idl: Added.

2010-09-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Patch RenderView's layout and computeLogicalWidth/Height methods to be block-flow-aware.

        Added fast/root-lr-basic.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::computeLogicalHeight):
        (WebCore::RenderView::computeLogicalWidth):
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        (WebCore::RenderView::viewLogicalWidth):
        (WebCore::RenderView::viewLogicalHeight):

2010-09-24  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Hook up ANGLE with chromium --in-process-webgl port
        https://bugs.webkit.org/show_bug.cgi?id=44309

        * platform/graphics/GraphicsContext3D.h: Move Angle stuff inside MAC only section.

2010-09-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.

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

2010-09-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46649, fix failing layout tests.

        The implementation of setting the before/after margins was wrong and poking the wrong margin values.
        
        Once I made them set the correct values, it revealed that one of the new block flow tests wasn't
        actually working.  In order to fix it, I had to make the block direction margin computation actually
        use the containing block's block-flow in order to return the right answer.  This involved cleaning
        up computeBlockDirectionMargins to be more like computeInlineDirectionMargins.
        
        fast/css/logical-property-resolution.html also caught the bug.  Its results are now correct.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustPositionedBlock):
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::insertFloatingObject):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setMarginBeforeUsing):
        (WebCore::RenderBox::setMarginAfterUsing):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        * rendering/RenderBox.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderObject.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::marginBeforeUsing):
        (WebCore::RenderStyle::marginAfterUsing):
        * rendering/style/RenderStyle.h:

2010-09-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Textures and renderbuffers should be detached first before deletion if they are attached to framebuffers
        https://bugs.webkit.org/show_bug.cgi?id=43942

        Test: fast/canvas/webgl/object-deletion-behaviour.html

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::deleteObjectImpl): Delete the object only once.
        * html/canvas/WebGLFramebuffer.cpp: Use RefPtr for attachment WebGLObjects.
        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
        (WebCore::WebGLFramebuffer::removeAttachment): Remove an attachment data ref.
        (WebCore::WebGLFramebuffer::onAttachedObjectChange):
        (WebCore::WebGLFramebuffer::getColorBufferFormat):
        (WebCore::WebGLFramebuffer::deleteObjectImpl):
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
        * html/canvas/WebGLFramebuffer.h: Declare removeAttachment().
        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::setObject): Make it protected and can only be called when initializing.
        * html/canvas/WebGLObject.h:
        (WebCore::WebGLObject::onDetached): Fix a bug.
        (WebCore::WebGLObject::isDeleted): Expose the delete flag.
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::deleteObjectImpl): Detach shaders when deleting a program.
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::deleteObjectImpl): Delete the object only once.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::deleteFramebuffer): Bind to internal fbo when deleting the currently-bound fbo.
        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Remove renderbuffer from currently-bound fbo upon deletion.
        (WebCore::WebGLRenderingContext::deleteTexture): Remove texture from currently-bound fbo upon deletion.
        (WebCore::WebGLRenderingContext::useProgram): Fix a condition.
        * html/canvas/WebGLShader.cpp:
        (WebCore::WebGLShader::deleteObjectImpl): Delete the object only once.
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::deleteObjectImpl): Ditto.

2010-09-27  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Antonio Gomes.

        stateStyle (@EditorCommand.cpp) should ask EditingBehavior for platform specific behavior
        https://bugs.webkit.org/show_bug.cgi?id=41989

        queryCommandState returns true even when in the mixed state
        https://bugs.webkit.org/show_bug.cgi?id=46382

        Fixed stateStyle so that it calls selectionStartHasStyle when shouldToggleStyleBasedOnStartOfSelection
        is true (Mac platforms) and calls selectionHasStyle otherwise (non-Mac platforms).

        Also fixed queryCommandState so that it only returns true when the state is TrueTriState
        as supposed to returning true whenever the state is not FalseTriState. New behavior matches that of
        other browsers such as Firefox and Internet Explorer.

        * dom/Document.cpp:
        (WebCore::Document::queryCommandState):
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):
        (WebCore::stateStyle):

2010-09-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46647, add getters/setters for the logical position of a box.

        Also made all of the logicalWidth/Height getters/setters inline for performance.

        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        (WebCore::RenderBox::logicalLeft):
        (WebCore::RenderBox::logicalTop):
        (WebCore::RenderBox::logicalWidth):
        (WebCore::RenderBox::logicalHeight):
        (WebCore::RenderBox::setLogicalLeft):
        (WebCore::RenderBox::setLogicalTop):
        (WebCore::RenderBox::setLogicalWidth):
        (WebCore::RenderBox::setLogicalHeight):
        (WebCore::RenderBox::setLogicalLocation):

2010-09-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46639, make computeLogicalHeight block-flow-aware.
        
        This patch does the following:
            (1) Makes computeLogicalHeight block-flow-aware (patching all helper functions as needed to make this work).
            (2) Makes block flow roots (blocks whose parent has a different block-flow directionality) establish new block formatting contexts.
            (This causes them to not collapse their margins with their children and to avoid floats). 
            (3) Patch all occurrences of setHeight in block and line layout to setLogicalHeight so that height doesn't get incorrectly
            overwritten for lr/rl block-flow.  This is necessary to write tests that examine the width/height of the blocks.
        
        Added multiple new tests in fast/blockflow.
        fast/css/logical-property-resolution gives the correct results now.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
        (WebCore::RenderBlock::adjustFloatingBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::handleBottomOfBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::positionNewFloatOnLine):
        (WebCore::RenderBlock::newLine):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForContent):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::fitBelowFloats):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginBefore):
        (WebCore::RenderBox::marginBeforeUsing):
        (WebCore::RenderBox::marginAfter):
        (WebCore::RenderBox::marginAfterUsing):
        (WebCore::RenderBox::setMarginBefore):
        (WebCore::RenderBox::setMarginAfter):
        (WebCore::RenderBox::setMarginBeforeUsing):
        (WebCore::RenderBox::setMarginAfterUsing):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::computeReplacedHeightUsing):
        (WebCore::RenderBox::availableLogicalHeight):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        (WebCore::RenderBox::avoidsFloats):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::contentLogicalWidth):
        (WebCore::RenderBox::contentLogicalHeight):
        (WebCore::RenderBox::stretchesToViewHeight):
        (WebCore::RenderBox::availableLogicalWidth):
        (WebCore::RenderBox::availableWidth):
        (WebCore::RenderBox::availableHeight):
        (WebCore::RenderBox::isBlockFlowRoot):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):

2010-09-27  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [Gtk] Adjust atk_text_get_text_at_offset to account for bullets/numbers in list items
        https://bugs.webkit.org/show_bug.cgi?id=45381

        Ensure list markers are consistently used in the Atk wrapper.

        This patch does two things (both needed to fix the bug): It
        improves the way list items markers are exposed through the Atk
        Wrapper (by exposing the exact text in the marker, including the
        marker suffix, if any) and makes sure the marker is consistently
        considered and treated in those methods of the AtkText interface
        that would need it (like atk_text_get_character_count or
        atk_text_get_run_attributes, for instance).

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (textForObject):
           Append/prepend list marker when needed.
        (webkit_accessible_text_get_text):
           Use the new function markerTextWithSuffix() to expose a more
           accurate value.
        (accessibilityObjectLength):
           Consider list items marker to return the length of an object,
           if needed. Also, added some extra checks.
        (webkit_accessible_text_get_character_count):
           Just delegate on accessibilityObjectLength, to make it
           cleaner and more consistent.

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::markerTextWithSuffix):
           New public function to return a single string with the
           marker associated to the item and its suffix, considering
           text direction (LTR or RTL).
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::suffix):
           New public function to return a String with the suffix
           associated to the marker.
        * rendering/RenderListMarker.h:

2010-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r68389.
        http://trac.webkit.org/changeset/68389
        https://bugs.webkit.org/show_bug.cgi?id=46637

        test_shell is crashing on chromium Win (Requested by loislo on
        #webkit).

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::didGC):
        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::willCallFunction):
        (WebCore::InspectorTimelineAgent::didCallFunction):
        (WebCore::InspectorTimelineAgent::willDispatchEvent):
        (WebCore::InspectorTimelineAgent::didDispatchEvent):
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::didLayout):
        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
        (WebCore::InspectorTimelineAgent::willPaint):
        (WebCore::InspectorTimelineAgent::didPaint):
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::willFireTimer):
        (WebCore::InspectorTimelineAgent::didFireTimer):
        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::willLoadXHR):
        (WebCore::InspectorTimelineAgent::didLoadXHR):
        (WebCore::InspectorTimelineAgent::willEvaluateScript):
        (WebCore::InspectorTimelineAgent::didEvaluateScript):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::reset):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):

2010-09-27  Kinuko Yasuda  <kinuko@google.com>

        Reviewed by Adam Barth.

        [Cleanup] Add create method to FileSystemCallbacks to get rid of naked new's
        https://bugs.webkit.org/show_bug.cgi?id=46561

        Also cleanup the callbacks layering to pass AsyncFileSystemCallbacks
        object to LocalFileSystem::requestFileSystem (rather than
        FileSystemCallback and ErrorCallback) so that all the callbacks class
        we pass from WebCore to WebKit/chromium/src will be
        AsyncFileSystemCallbacks.

        No new tests; this patch is only for cleanup and there should be no functionality changes.

        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::getMetadata):
        (WebCore::DOMFileSystem::move):
        (WebCore::DOMFileSystem::copy):
        (WebCore::DOMFileSystem::remove):
        (WebCore::DOMFileSystem::getParent):
        (WebCore::DOMFileSystem::getFile):
        (WebCore::DOMFileSystem::getDirectory):
        (WebCore::DOMFileSystem::createWriter):
        (WebCore::DOMFileSystem::readDirectory):
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::EntryCallbacks::create): Added.
        (WebCore::EntriesCallbacks::create): Added.
        (WebCore::FileSystemCallbacks::create): Added.
        (WebCore::MetadataCallbacks::create): Added.
        (WebCore::FileWriterCallbacks::create): Added.
        (WebCore::VoidCallbacks::create): Added.
        * fileapi/FileSystemCallbacks.h:
        * fileapi/LocalFileSystem.cpp:
        (WebCore::openFileSystem):
        (WebCore::LocalFileSystem::requestFileSystem): Changed to take
        AsyncFileSystemCallbacks as (a) callback argument(s).
        * fileapi/LocalFileSystem.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::requestFileSystem): Made a corresponding change
        to LocalFileSystem::requestFileSystem.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::requestFileSystem): Made a corresponding change
        to LocalFileSystem::requestFileSystem.

2010-09-27  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Fix memory safety issue during positioning list marker as a result of assuming 
        that list item's parent can always be casted to a RenderBox. The display of the parent
        can be manipluated using css as Inline which causes a bad cast.

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

        Test: fast/lists/parent-box-not-box-crash.html

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::layout):

2010-09-19  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Wrong font instantiated from an unknown font family
        https://bugs.webkit.org/show_bug.cgi?id=36548

        When FontConfig returns a match for a particular family name, ensure that
        the family name matches the configured alias for the original pattern. This
        should prevent selecting FontConfig fallbacks in situations where the next
        font on the CSS fallback list should be used. This requires moving all FontConfig
        matching logic into FontCacheFreeType and out of FontPlatformDataFreeType.
        It should be there anyway.

        Test: platform/gtk/fonts/font-family-fallback.html

        * platform/graphics/cairo/FontCacheFreeType.cpp:
        (WebCore::FontCache::platformInit): Simply call FcInit here instead of
        deferring to FontPlatformData.
        (WebCore::FontCache::getLastResortFallbackFont): The last resort font should
        be a fallback font or else the new FontConfig logic may result in null font data
        if it cannot find an appropriate match.
        (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Added. Helper function
        which converts WebCore fallback names into ones that FontConfig understands.
        (WebCore::isFallbackFontAllowed): Added. Helper function that allows FontConfig
        fallbacks to be used when generic family names are specified.
        (WebCore::FontCache::createFontPlatformData): Move all FontConfig matching logic here
        and prevent against the situation where FontConfig returns a different family name
        than we asked for.
        * platform/graphics/cairo/FontCustomPlatformData.cpp: Updated FontPlatformData constructor.
        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Update the constructor to
        take the FcPattern returned and the original FontDescription. We no longer need the other
        arguments, because the selection is now done by FontCacheFreeType.
        (WebCore::FontPlatformData::FontPlatformData): Remove the FontConfig selection logic from
        this code.
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Updated method definitions.
        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Fixed includes.
        * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added a PlatformRefPtr specialization
        for cairo_font_face_t.
        (WTF::refPlatformPtr): Added.
        (WTF::derefPlatformPtr): Added.
        * platform/graphics/cairo/PlatformRefPtrCairo.h: Updated method definitons.
        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
        (WebCore::SimpleFontData::smallCapsFontData): Fixed FontPlatformData constructor.

2010-09-27  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Doesn't build with gtk+ 2.14
        https://bugs.webkit.org/show_bug.cgi?id=46565

        Fixed the build for GTK+ 2.14 by adding backward compatible
        a backward-compatible function for gtk_menu_item_get_label and a
        utility function to create a blank mouse cursor. Those functions
        are used in the fullscreen video controller and in the DRT
        EventSender.

        * platform/gtk/GtkVersioning.c:
        (gdk_window_get_root_coords):
        (blankCursor):
        (gtk_menu_item_get_label):
        * platform/gtk/GtkVersioning.h:

2010-09-23  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        [CHROMIUM] Fix for canvas clearRect() with clipping active, when
        --enable-accelerated-2d-canvas is on.
        https://bugs.webkit.org/show_bug.cgi?id=46412

        Covered by layout test http://philip.html5.org/tests/canvas/suite/tests/2d.clearRect.clip.html.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clearRect):
        Check if a clip is active during clipRect(), and force to software
        if so.  Force a readback in this case, since clearRect() is not
        compatible with mixed-mode rendering.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::canvasClipApplied):
        * platform/graphics/skia/PlatformContextSkia.h:
        Implement accessor to check if a clip is active.

2010-09-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        drawElements with count=0 and offset = 0 should not generate GL error or crash
        https://bugs.webkit.org/show_bug.cgi?id=45769

        * html/canvas/WebGLRenderingContext.cpp: Deal with count=0 case.
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
        (WebCore::WebGLRenderingContext::drawElements):

2010-09-16  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Fold getString into getParameter and implement new queries
        https://bugs.webkit.org/show_bug.cgi?id=40321

        Test: fast/canvas/webgl/gl-getstring.html

        * html/canvas/WebGLRenderingContext.cpp: Merge getString enums into getParameter.
        (WebCore::WebGLRenderingContext::getParameter):
        * html/canvas/WebGLRenderingContext.h: Remove getString.
        * html/canvas/WebGLRenderingContext.idl: Remove getString.

2010-09-24  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        gl-teximage fails on chrome mac bot
        https://bugs.webkit.org/show_bug.cgi?id=45332

        Add support for alpha first pixel formats.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::doPacking):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-09-17  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: implement go-to-line feature
        https://bugs.webkit.org/show_bug.cgi?id=45166

        * English.lproj/localizedStrings.js:
        * inspector/front-end/GoToLineDialog.js: Added.
        (WebInspector.GoToLineDialog):
        (WebInspector.GoToLineDialog.show):
        (WebInspector.GoToLineDialog.prototype._hide):
        (WebInspector.GoToLineDialog.prototype._onKeyDown):
        (WebInspector.GoToLineDialog.prototype._onBlur):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.ScriptsPanel.prototype.showGoToLineDialog):
        * inspector/front-end/goToLineDialog.css: Added.
        (.go-to-line-dialog):
        * inspector/front-end/inspector.html:

2010-09-24  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add XHR breakpoints sidebar pane to front-end
        https://bugs.webkit.org/show_bug.cgi?id=46483

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
        * inspector/InspectorTimelineAgent.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
        (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
        (WebInspector.Breakpoint.prototype.compareTo):
        (WebInspector.XHRBreakpoint):
        (WebInspector.XHRBreakpoint.prototype.get enabled):
        (WebInspector.XHRBreakpoint.prototype.set enabled):
        (WebInspector.XHRBreakpoint.prototype.get url):
        (WebInspector.XHRBreakpoint.prototype.formatLabel):
        (WebInspector.XHRBreakpoint.prototype.compareTo):
        (WebInspector.XHRBreakpoint.prototype.remove):
        (WebInspector.XHRBreakpoint.prototype._setOnBackend.didSet):
        (WebInspector.XHRBreakpoint.prototype._setOnBackend):
        (WebInspector.XHRBreakpoint.prototype._removeFromBackend):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.XHRBreakpointsSidebarPane):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
        (WebInspector.BreakpointItem.prototype.compareTo):
        (WebInspector.BreakpointItem.prototype._checkboxClicked):
        (WebInspector.BreakpointItem.prototype._enableChanged):
        (WebInspector.BreakpointItem.prototype._breakpointClicked):
        (WebInspector.XHRBreakpointItem):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
        (WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMBreakpoint.prototype.compareTo):
        * inspector/front-end/Images/paneAddButtons.png: Added.
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.pane > .title > button.add):
        (.pane > .title > button.add:hover):
        (.pane > .title > button.add:active):
        (.pane > .body .breakpoint-condition):
        * inspector/front-end/inspector.js:
        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createXHRBreakpointsSidebarPane):

2010-09-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Merge AbstractTimelinePanel into ResourcesPanel.
        https://bugs.webkit.org/show_bug.cgi?id=46612

        I am refactoring resources panel and would like to merge abstract
        one back in since it is not use anywhere else.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AbstractTimelinePanel.js: Removed.
        * inspector/front-end/ResourceCategory.js:
        (WebInspector.ResourceCategory):
        (WebInspector.ResourceCategory.prototype.toString):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.get items):
        (WebInspector.ResourcesPanel.prototype.createInterface):
        (WebInspector.ResourcesPanel.prototype.createFilterPanel.createFilterElement):
        (WebInspector.ResourcesPanel.prototype.createFilterPanel):
        (WebInspector.ResourcesPanel.prototype.showCategory):
        (WebInspector.ResourcesPanel.prototype.hideCategory):
        (WebInspector.ResourcesPanel.prototype.filter):
        (WebInspector.ResourcesPanel.prototype._updateFilter):
        (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
        (WebInspector.ResourcesPanel.prototype.get needsRefresh):
        (WebInspector.ResourcesPanel.prototype.set needsRefresh):
        (WebInspector.ResourcesPanel.prototype.refreshIfNeeded):
        (WebInspector.ResourcesPanel.prototype.resize):
        (WebInspector.ResourcesPanel.prototype.invalidateAllItems):
        (WebInspector.ResourcesPanel.prototype.get calculator):
        (WebInspector.ResourcesPanel.prototype.set calculator):
        (WebInspector.ResourcesPanel.prototype.addItem):
        (WebInspector.ResourcesPanel.prototype.removeItem):
        (WebInspector.ResourcesPanel.prototype.refreshItem):
        (WebInspector.ResourcesPanel.prototype.revealAndSelectItem):
        (WebInspector.ResourcesPanel.prototype.sortItems):
        (WebInspector.ResourcesPanel.prototype.adjustScrollPosition):
        (WebInspector.ResourcesPanel.prototype.addEventDivider):
        (WebInspector.ResourcesPanel.prototype.hideEventDividers):
        (WebInspector.ResourcesPanel.prototype.showEventDividers):
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype.refresh):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
        (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
        (WebInspector.ResourceBaseCalculator):
        (WebInspector.ResourceBaseCalculator.prototype.computeSummaryValues):
        (WebInspector.ResourceBaseCalculator.prototype.computeBarGraphPercentages):
        (WebInspector.ResourceBaseCalculator.prototype.computeBarGraphLabels):
        (WebInspector.ResourceBaseCalculator.prototype.get boundarySpan):
        (WebInspector.ResourceBaseCalculator.prototype.updateBoundaries):
        (WebInspector.ResourceBaseCalculator.prototype.reset):
        (WebInspector.ResourceBaseCalculator.prototype._value):
        (WebInspector.ResourceBaseCalculator.prototype.formatValue):
        (WebInspector.ResourceTimeCalculator):
        (WebInspector.ResourceTransferSizeCalculator):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-09-27  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] New input style for Qt Mobile theme
        https://bugs.webkit.org/show_bug.cgi?id=46461

        Rename themeQtMaemo5.css to themeQtMobile.css since it is the theme for all Qt mobile platform.
        Adjust new input style.

        * WebCore.pri:
        * css/themeQtMobile.css: Renamed from css/themeQtMaemo5.css
        (select):
        (select:disabled):
        (select:active):
        (select:active:disabled):
        (textarea):
        (textarea:disabled):
        (textarea:active):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::extraDefaultStyleSheet): Renamed themeQtMaemo5UserAgentStyleSheet to themeQtMobileUserAgentStyleSheet to match renamed file.

2010-09-27  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Antonio Gomes.

        [Qt] Enable local rendering of NPAPI plugins on Maemo6.

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

        * WebCore.pro:
        * bridge/npapi.h:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::setValue):
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::platformGetValueStatic):

2010-09-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: divide InspectorTimelineAgent into two parts.

        We have an idea to split InspectorTimelineAgent into two parts.
        The first part is an instrumentation API which can be used for DOM breakpoints too.
        The other is the real Timeline agent which do a transformation of raw data into timeline data.

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

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent2::TimelineRecordEntry::TimelineRecordEntry):
        (WebCore::InspectorTimelineAgent2::GCEvent::GCEvent):
        (WebCore::InspectorTimelineAgent2::InspectorTimelineAgent2):
        (WebCore::InspectorTimelineAgent2::~InspectorTimelineAgent2):
        (WebCore::InspectorTimelineAgent2::didGC):
        (WebCore::InspectorTimelineAgent2::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent2::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent2::startNewRecord):
        (WebCore::InspectorTimelineAgent2::completeCurrentRecord):
        (WebCore::InspectorTimelineAgent2::asyncRecord):
        (WebCore::InspectorTimelineAgent2::atomicRecord):
        (WebCore::InspectorTimelineAgent2::getTopRecordData):
        (WebCore::InspectorTimelineAgent2::reset):
        (WebCore::InspectorTimelineAgent2::resetFrontendProxyObject):
        (WebCore::InspectorTimelineAgent2::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::reset):
        (WebCore::InspectorTimelineAgent::willCallFunction):
        (WebCore::InspectorTimelineAgent::didCallFunction):
        (WebCore::InspectorTimelineAgent::willDispatchEvent):
        (WebCore::InspectorTimelineAgent::didDispatchEvent):
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::didLayout):
        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
        (WebCore::InspectorTimelineAgent::willPaint):
        (WebCore::InspectorTimelineAgent::didPaint):
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::willFireTimer):
        (WebCore::InspectorTimelineAgent::didFireTimer):
        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::willLoadXHR):
        (WebCore::InspectorTimelineAgent::didLoadXHR):
        (WebCore::InspectorTimelineAgent::willEvaluateScript):
        (WebCore::InspectorTimelineAgent::didEvaluateScript):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        * inspector/InspectorTimelineAgent.h:

2010-09-27  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Sam Weinig.

        Implement CSSStyleRule::setSelectorText()

        This involves removing the "selectorText" "setter raises(DOMException)" clause from the IDL files,
        since the setter no longer raises the exception, as per http://dev.w3.org/csswg/cssom/#dom-cssstylerule-selectortext
        https://bugs.webkit.org/show_bug.cgi?id=46487

        Test: fast/css/css-set-selector-text.html

        * css/CSSPageRule.idl:
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::setSelectorText):
        * css/CSSStyleRule.h:
        * css/CSSStyleRule.idl:

2010-09-27  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Filter builder should be able to follow the filter object dependencies
        https://bugs.webkit.org/show_bug.cgi?id=45812

        To propagate the changes of a primitive object, a data structure
        is needed which stores the dependent primitive objects. (Those
        who use the resulting image.) This data structure is implemented
        as a hash map, which contains primitive object and set of primitive
        objects <key,value> pairs. The hash map is able to follow the
        dynamic topology changes.

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives):
        * rendering/RenderSVGResourceFilterPrimitive.h:
        (WebCore::RenderSVGResourceFilterPrimitive::renderName):
        (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
        (WebCore::SVGFilterBuilder::clearEffects):
        * svg/graphics/filters/SVGFilterBuilder.h:
        (WebCore::SVGFilterBuilder::getEffectReferences):
        (WebCore::SVGFilterBuilder::addBuiltinEffects):

2010-09-27  Andreas Kling  <andreas.kling@nokia.com>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] 32-bit Flash crashes on repeated SetWindow calls
        https://bugs.webkit.org/show_bug.cgi?id=46616

        Re-enable PluginQuirkDontCallSetWindowMoreThanOnce for Qt on x86 Unix.

        We incorrectly thought this was fixed in Flash 10, but it turns out it
        was just never broken on 64-bit.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):

2010-09-27  İsmail Dönmez  <ismail@namtrac.org>

        Reviewed by Andreas Kling.

        Add PluginView::setJavaScriptPaused(bool) stub for WinCE.

        * platform/qt/TemporaryLinkStubsQt.cpp:
        (PluginView::setJavaScriptPaused):

2010-09-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Dirk Schulze.

        Bug 46607 -  [WML] Fix a build break when WML is enabled

        Fix a build break when WML is enabled.

        * wml/WMLElement.cpp: Include HTMLParserIdioms.h
        (WebCore::WMLElement::parseMappedAttribute): Add additional parameter to invoke parseHTMLInteger() function. 

2010-09-26  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Remove dead code and fix header includes in ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46479

        Also add missing member varibale from r68167.

        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::onRequestComplete):
        * platform/network/win/ResourceHandleWin.h: Removed.

2010-09-26  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Add WTF::StringHasher::createBlobHash
        https://bugs.webkit.org/show_bug.cgi?id=46514

        Add this function for hashing FormElementKey and QualifiedNameComponents.

        * dom/Document.cpp:
        (WebCore::FormElementKeyHash::hash):
        * dom/QualifiedName.h:
        (WebCore::hashComponents):
        (WebCore::QualifiedNameHash::hash):

2010-09-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Convert the implementation of computeLogicalWidth to work with block-flow.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::determineHorizontalPosition):
        Patched to call the new computeMarginsInContainingBlockInlineDirection.  Eventually determineHorizontalPosition will
        be placing children along the inline direction of the containing block, and those children may have mismatched
        block flows.  The new computeMarginsInContainingBlockInlineDirection function is designed to handle that.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginStart):
        (WebCore::RenderBox::marginStartUsing):
        (WebCore::RenderBox::marginEnd):
        (WebCore::RenderBox::marginEndUsing):
        (WebCore::RenderBox::setMarginStart):
        (WebCore::RenderBox::setMarginEnd):
        (WebCore::RenderBox::setMarginStartUsing):
        (WebCore::RenderBox::setMarginEndUsing):
        Helpers that allow for marginStart/End access and that also allow for marginStart/End to be computed based off another
        element's block-flow and direction (typically the containing block).
        
        (WebCore::RenderBox::computeBorderBoxLogicalWidth):
        (WebCore::RenderBox::computeBorderBoxLogicalHeight):
        (WebCore::RenderBox::computeContentBoxLogicalWidth):
        (WebCore::RenderBox::computeContentBoxLogicalHeight):
        Patched to use logical border/padding widths and heights.

        (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
        A function for returning the available logical height of a perpendicular containing block.  If a child has vertical
        text for example and its block-flow is "lr", its available logical width is determined by the logical
        height of the containing block when that containing block is perpendicular, e.g. "tb".
        
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalWidthUsing):
        Patched to be block-flow-aware and to use logical width values everywhere.
    
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        Patched to use logical widths.
        
        (WebCore::RenderBox::computeMarginsInContainingBlockInlineDirection):
        A new function that is directionally abstract and that can handle the computation of margins in the containing
        block's inline direction.  This function is written such that a perpendicular child block flow can still be 
        pushed to the center, left or right in the containing block's inline direction.
        
        (WebCore::RenderBox::computePositionedLogicalWidth):
        This function is still largely unpatched.  A future patch will address positioend elements.
        
        * rendering/RenderBox.h:
        (WebCore::RenderBox::stretchesToMinIntrinsicLogicalWidth):
        * rendering/RenderFieldset.h:
        (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
        Renames.
        
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        Renames, but not converted yet. Tables will happen in a future patch.
        
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::marginStartUsing):
        (WebCore::RenderStyle::marginEndUsing):
        * rendering/style/RenderStyle.h:
        Added helpers for accessing marginStart and End using another style's direction and block flow (typically will
        be the containing block's).

        fast/block/basic/016.html changed, since centering now always awards the extra pixel for odd widths to the end margin
        instead of the right margin.  This is a progression.
        
        fast/css/logical-property-values.html is now reporting garbage results, which is expected now that some of the core layout
        functions have been patched.

        Horizontal block flows are untestable still, since the normal layout process incorrectly blows away any computed height values.

2010-09-26  Antonio Gomes  <agomes@rim.comg>

        Reviewed by Kenneth Rohde Christiansen.

        DRT/Mac nodesFromRect support

        [Mac][DRT] Implement LayoutTestController::nodesFromRect
        https://bugs.webkit.org/show_bug.cgi?id=46580

        Symbol files updated.

        * WebCore.exp.in: Added symbols to Document::nodesFromRect and bits of JSDocument now
        needed in WebKit/mac.
        * WebCore.xcodeproj/project.pbxproj: Set both JSDocument.h and JSNodeList as private headers
        now that they are referred in WebKit/mac.

2010-09-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Implement location.origin and HTMLAnchorElement.origin
        https://bugs.webkit.org/show_bug.cgi?id=46558

        These attributes are part of my proposed URL API:
        https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en

        Hixie thought we should implement as much of this API as makes sense on
        Location and HTMLAnchorElement as well.  I'm starting with the origin
        attribute, because that seems like the biggest bang for the buck.

        Tests: fast/dom/anchor-origin.html
               http/tests/misc/location-origin.html

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::origin):
        * html/HTMLAnchorElement.h:
        * html/HTMLAnchorElement.idl:
        * page/Location.cpp:
        (WebCore::Location::origin):
        * page/Location.h:
        * page/Location.idl:

2010-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r68343.
        http://trac.webkit.org/changeset/68343
        https://bugs.webkit.org/show_bug.cgi?id=46581

        broke GTK+ (Requested by kling on #webkit).

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):

2010-09-25  Antonio Gomes  <agomes@rim.com>

        Reviewed by Kenneth Christiansen and Andreas Kling.

        document.nodesFromRect() needs to be removed from Document.idl
        https://bugs.webkit.org/show_bug.cgi?id=46492

        As discussed with Sam Weinig on IRC, it was decided to removed
        nodesFromRect() from the Document.idl, and that way, not exposing
        it to Web content.

        Reason: there is no plan to make it standard at the moment, and at the
        very least, the method should had been originally added with the "webkit"
        prefix, which was not the case.

        * dom/Document.idl:

2010-09-26  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Dirk Schulze.

        SVGFEBlendElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=46464

        Tests: svg/dynamic-updates/SVGFEBlendElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEBlendElement-dom-in2-attr.html
               svg/dynamic-updates/SVGFEBlendElement-dom-mode-attr.html
               svg/dynamic-updates/SVGFEBlendElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFEBlendElement-svgdom-in2-prop.html
               svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop.html

        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::svgAttributeChanged):
        * svg/SVGFEBlendElement.h:

2010-09-26  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Dan Bernstein.

        Canvas: Crash when setting a font with size in 'ex' units
        https://bugs.webkit.org/show_bug.cgi?id=46538

        update() the style's font after setting the style's font description.
        Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
        that the style's font is properly initialized (for xHeight().)

        Fixes crash on IE test center's canvas-text-font-002 test.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):

2010-09-26  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        [BREWMP] Don't pass PassOwnPtr in makeAllDirectories
        https://bugs.webkit.org/show_bug.cgi?id=42058

        Change makeAllDirectories to take a raw FileMgr pointer
        because it is not safe to pass PassOwnPtr recursively.

        * platform/brew/FileSystemBrew.cpp:
        (WebCore::makeAllDirectories):

2010-09-26  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] fix http/tests/uri/escaped-entity.html

        Replace invalid encodings with the appropriate escaped entity.

        See also http://bugreports.qt.nokia.com/browse/QTBUG-13412

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

        * platform/text/qt/TextCodecQt.cpp:
        (WebCore::TextCodecQt::encode):

2010-09-25  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Fix the macro to bail out after setting the SVG style to 'initial'. Check that color is
        SVGColor before calling colorFromSVGColorCSSValue which makes sure we don't set invalid
        color. Also, doing the static cast in the caller and keeping the function
        colorFromSVGColorCSSValue clean to accept only take SVGColor objects.
        
        https://bugs.webkit.org/show_bug.cgi?id=46471

        Test: svg/css/invalid-color-crash.svg

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::colorFromSVGColorCSSValue):
        (WebCore::CSSStyleSelector::applySVGProperty):

2010-09-25  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        FormatBlockCommand's modifyRange and doApply should be merged
        https://bugs.webkit.org/show_bug.cgi?id=46504

        Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
        Merged the code in modifyRange into doApply and cleaned up.

        No new tests are added since this is a cleanup.

        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::doApply): Merged with modifyRange; calls doApplyForSingleParagraph.
        (WebCore::FormatBlockCommand::doApplyForSingleParagraph): Added.
        * editing/FormatBlockCommand.h:

2010-09-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/8478160> Null deref in InlineBox::height()
        https://bugs.webkit.org/show_bug.cgi?id=45344

        Test: fast/css/first-line-parent-style-different.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::firstLineStyleSlowCase): Set the pseudo style bit on the RenderStyle
        which is going to supply the first-line style rather than on this object’s RenderStyle. The
        styles may differ.

2010-09-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/8478182> Make canHyphenate() return false for unsupported locales

        No change in functionality, hence no new test.

        * platform/text/cf/HyphenationCF.cpp:
        (WebCore::::createValueForKey): Return 0 if hyphenation is not available for the locale.
        (WebCore::cfLocaleCache): Moved the definition of the cache from lastHyphenLocation() to
        this new getter to allow canHyphenate() to share it.
        (WebCore::canHyphenate): Now returns true only if hyphenation is available.
        (WebCore::lastHyphenLocation): Added an assertion.

2010-09-25  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsContext::setLineDash() should scale dashOffset to penWidth
        https://bugs.webkit.org/show_bug.cgi?id=46548

        Fixes incorrect rendering of <http://www.carto.net/svg/samples/animated_bustrack.shtml>

        This is covered by existing layout tests which need to be rebaselined.

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

2010-09-24  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Dan Bernstein.

        Fix accidental increase in the size of InlineBox by using a bit
        field to indicate that a bool should only take up 1 bit.

        * rendering/InlineBox.h:

2010-09-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Accelerated transitions do not suspend/resume properly.
        https://bugs.webkit.org/show_bug.cgi?id=43792
        
        (1) Fix regression from r68233, where if an animation affected two
        properties, only one would animate. The testcase tests this.
        
        (2) Fix a flash at the end of an animation or transition that has been
        paused and resumed. The flash occurred because we used CAAnimation's
        timeOffset when resuming to push the start of the animation into
        the past. However, timeOffset does not play nicely with fill modes,
        causing a single frame of animation with the element in its unanimated state.
        
        Fixed this by offsetting the beginTime into the past, rather than setting
        timeOffset. Normally we submit animations with beginTime == 0, and rely
        on CA assigning a beginTime when the animation is committed. This beginTime
        is then passed to AnimationController to sync hardware and software animations.
        However, since the code now assigns beginTimes in the past (on resume),
        we now have to denote whether we've done this, and send an appropriate
        timestamp back to AnimationController.
        
        (3) Finally, the patch removes PropertyAnimationPair and just uses LayerPropertyAnimation
        instead. This is just cleanup.

        Test: animations/opacity-transform-animation.html

        * platform/graphics/mac/GraphicsLayerCA.h: Remove PropertyAnimationPair,
        and change AnimationsMap to store a vector of LayerPropertyAnimation.
        New method, animationDidStart(), is called from the -animationDidStart: callback.
        
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (-[WebAnimationDelegate animationDidStart:]): Just call m_graphicsLayer->animationDidStart()
        now.
        (WebCore::animationIdentifier): We need to pass in the property, to fix (1)
        (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Copy the WebKitAnimationBeginTimeSet
        value, if present.
        (WebCore::GraphicsLayerCA::animationDidStart): Call notifyAnimationStarted() on the client,
        after testing if we set a non-zero beginTime on this particular animation.
        (WebCore::GraphicsLayerCA::updateLayerAnimations): Change to use LayerPropertyAnimation.
        (WebCore::GraphicsLayerCA::setCAAnimationOnLayer): Set value for WebKitAnimationBeginTimeSetKey
        if we have a non-zero timeOffset. Make animationID an NSString, to avoid several conversions.
        (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):  Make animationID an NSString, to
        avoid several conversions.
        (WebCore::copyAnimationProperties): Copy WebKitAnimationBeginTimeSetKey if present.
        (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Make animationID an NSString, to avoid
        several conversions.

2010-09-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        SVG: Avoid calling pow() in genericParseNumber() unless necessary
        https://bugs.webkit.org/show_bug.cgi?id=46537

        0.4% speedup on <http://themaninblue.com/experiment/AnimationBenchmark/svg/>

        * svg/SVGParserUtilities.cpp:
        (WebCore::genericParseNumber): Only call pow() when we have an exponent.

2010-09-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] opening local files on win32
        https://bugs.webkit.org/show_bug.cgi?id=31066

        This is tested by changes to the testmimehandling API test.

        * platform/network/soup/ResourceHandleSoup.cpp: Properly convert the GContentType
        of a file into a mime type. This is important for non-Unix platforms.

2010-09-24  Pawel Hajdan  <phajdan.jr@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Move the implementation of chromium_vfs to webkit for POSIX.
        This allows us to link Chrome with system-provided SQLite on Linux.
        See also http://code.google.com/p/chromium/issues/detail?id=22208.
        https://bugs.webkit.org/show_bug.cgi?id=45416

        No new tests.

        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
        (sqliteErrorFromPosixError):
        (releaseLockInfo):
        (releaseOpenInfo):
        (findLockInfo):
        (chromiumCheckReservedLock):
        (rangeLock):
        (chromiumLock):
        (closePendingFds):
        (chromiumUnlock):
        (chromiumCloseNoLock):
        (chromiumClose):
        (chromiumCheckReservedLockNoop):
        (chromiumLockNoop):
        (chromiumUnlockNoop):
        (seekAndRead):
        (chromiumRead):
        (seekAndWrite):
        (chromiumWrite):
        (syncWrapper):
        (chromiumSync):
        (chromiumTruncate):
        (chromiumFileSize):
        (chromiumFileControl):
        (chromiumSectorSize):
        (chromiumDeviceCharacteristics):
        (fillInChromiumFile):
        (findReusableFd):
        (chromiumOpen):
        (chromiumDelete):
        (chromiumAccess):
        (chromiumFullPathname):
        (chromiumDlOpen):
        (chromiumDlError):
        (chromiumDlSym):
        (chromiumDlClose):
        (chromiumRandomness):
        (chromiumSleep):
        (chromiumCurrentTime):
        (chromiumGetLastError):
        (WebCore::SQLiteFileSystem::registerSQLiteVFS):

2010-09-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Dirk Schulze.

        SVG: Make SVGLength's stringToLengthType() stricter and faster
        https://bugs.webkit.org/show_bug.cgi?id=46066

        Only accept unit names immediately following the numeric value.
        This behavior matches Gecko.

        Also, using String::endsWith("foo") caused a temporary WTF::String to be created.
        Avoid this by comparing characters directly.

        10.5% speedup on <http://data.xeoh.net/svg.benchmark/>

        Test: svg/custom/invalid-length-units.html

        * svg/SVGLength.cpp:
        (WebCore::stringToLengthType):
        (WebCore::SVGLength::setValueAsString):

2010-09-24  Luiz Agostini  <luiz.agostini@openbossa.org>
        Reviewed by Kenneth Rohde Christiansen.

        Keep viewport information in Document
        https://bugs.webkit.org/show_bug.cgi?id=46385

        The viewport meta data (layout viewport, scale) needs to be set again when bringing
        back a page from the page cache. As the viewport metadata is only retrieved while parsing
        the document, we need to store it in the Document class.

        Test: fast/viewport/viewport-128.html

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::processViewport):
        (WebCore::Document::setInPageCache):
        * dom/Document.h:
        (WebCore::Document::viewportArguments):
        
2010-09-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46496, rename containingBlockWidthForContent to
        containingBlockLogicalWidthForContent.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::localCaretRect):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockLogicalWidthForContent):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeReplacedWidthUsing):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
        (WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
        * rendering/RenderBoxModelObject.h:

2010-09-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46489, rename the lineWidth and left/RightOffset methods
        to reflect that they will be logical.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::leftSelectionOffset):
        (WebCore::RenderBlock::rightSelectionOffset):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::logicalLeftOffsetForContent):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForContent):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::availableLogicalWidthForLine):
        (WebCore::RenderBlock::getClearDelta):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::skipTrailingWhitespace):
        (WebCore::RenderBlock::skipLeadingWhitespace):
        (WebCore::RenderBlock::fitBelowFloats):
        (WebCore::RenderBlock::findNextLineBreak):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockWidthForContent):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::applyLineClamp):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::selectionTop):

2010-09-24  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Comply with spec by generalizing container on which transforms can be applied.
        https://bugs.webkit.org/show_bug.cgi?id=46485

        Already covered by existing tests.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTransformFromContainer):

2010-09-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=46482, rename the various prefWidth functions to use
        preferredLogicalWidth.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        * rendering/AutoTableLayout.h:
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
        * rendering/FixedTableLayout.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::dirtyLineBoxesForRenderer):
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::RenderBox):
        (WebCore::RenderBox::minPreferredLogicalWidth):
        (WebCore::RenderBox::maxPreferredLogicalWidth):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalWidth):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::computePreferredLogicalWidths):
        * rendering/RenderCounter.cpp:
        (WebCore::RenderCounter::computePreferredLogicalWidths):
        * rendering/RenderCounter.h:
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::computePreferredLogicalWidths):
        * rendering/RenderDataGrid.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::computePreferredLogicalWidths):
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
        (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
        (WebCore::RenderFlexibleBox::allowedChildFlex):
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFrameBase.cpp:
        (WebCore::RenderFrameBase::layoutWithFlattening):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::computePreferredLogicalWidths):
        * rendering/RenderListBox.h:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::updateMarkerLocation):
        (WebCore::RenderListItem::computePreferredLogicalWidths):
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::layout):
        (WebCore::RenderListMarker::computePreferredLogicalWidths):
        (WebCore::RenderListMarker::updateMargins):
        * rendering/RenderListMarker.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::computePreferredLogicalWidths):
        * rendering/RenderMenuList.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
        (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::preferredLogicalWidthsDirty):
        (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
        (WebCore::RenderObject::minPreferredLogicalWidth):
        (WebCore::RenderObject::maxPreferredLogicalWidth):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        * rendering/RenderReplaced.h:
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::computePreferredLogicalWidths):
        * rendering/RenderReplica.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::computePreferredLogicalWidths):
        * rendering/RenderScrollbarPart.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::computePreferredLogicalWidths):
        * rendering/RenderSlider.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::computePreferredLogicalWidths):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computePreferredLogicalWidths):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::computePreferredLogicalWidths):
        * rendering/RenderTableCol.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::trimmedPrefWidths):
        (WebCore::RenderText::minPreferredLogicalWidth):
        (WebCore::RenderText::maxPreferredLogicalWidth):
        (WebCore::RenderText::computePreferredLogicalWidths):
        (WebCore::RenderText::width):
        * rendering/RenderText.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computePreferredLogicalWidths):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updateIntrinsicSize):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::computePreferredLogicalWidths):
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        * rendering/TableLayout.h:

2010-09-24  Jian Li  <jianli@chromium.org>

        Reviewed by Alexey Proskuryakov.

        DOMWindow::revokeBlobURL erroneously uses ParsedURLString.
        https://bugs.webkit.org/show_bug.cgi?id=46434

        Test: fast/files/revoke-blob-url.html

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

2010-09-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46474
        
        Patch computeWidthUsing to be block-flow-aware.  Rename the WidthType enum to LogicalWidthType.  Make computeLogicalWidthUsing
        query the style for logical width properties instead of width properties.
        
        fast/css/logical-property-resolution.html now fails and gives bad results.  This is expected.  It will become correct
        again as more layout code gets patched.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalWidthUsing):
        (WebCore::RenderBox::sizesToIntrinsicWidth):
        * rendering/RenderBox.h:

2010-09-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Clicking "Select All" in audits panel has no effect when the checkbox is unchecked
        Only add category event listeners to real categories, not to "Select All"
        https://bugs.webkit.org/show_bug.cgi?id=46467

        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._createCategoryElement):

2010-09-24  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Remove unnecessary casts in DeviceOrientation V8 bindings
        https://bugs.webkit.org/show_bug.cgi?id=46466

        Remove unnecessary casts of v8::Value::NumberValue() to double from
        the custom v8 bindings code for DeviceOrientation/Motion.

        No new tests: just cleanup, no new functionality.

        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

2010-09-24  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move searchingForNode flag in InspectorController under control of InspectorCookies.

        Four functions from Inspector IDL go away.
        Searching for node feature of Inspector keeps alive even after navigation.

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

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::updateInspectorStateCookie):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::setSearchingForNode):
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/InspectorController.h:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.hide):
        (WebInspector.ElementsPanel.prototype.updateFocusedNode):
        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
        * inspector/front-end/inspector.js:
        (WebInspector._updateFocusedNode):

2010-09-24  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBTransactionCoordinator incorrectly assumes that aborted transactions must have been started or running.
        https://bugs.webkit.org/show_bug.cgi?id=46459

        No new tests, storage/indexeddb/transaction-basics.html covers this.

        Also fixes http://code.google.com/p/chromium/issues/detail?id=56732

        * storage/IDBTransactionCoordinator.cpp:
        (WebCore::IDBTransactionCoordinator::didFinishTransaction):

2010-09-24  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Update DeviceMotionEvent to spec
        https://bugs.webkit.org/show_bug.cgi?id=46344

        The spec has changed: the DeviceMotionEvent attributes accelerationX,
        accelerationY, etc. have been baked into an 'acceleration' attribute
        which returns an object with x, y, and z values. Likewise for the
        rotation rate. The 'accelerationIncludingGravity' attribute is new.

        * WebCore.exp.in:
        The DeviceMotionData::create member function has changed. Also export
        create functions for DeviceMotionData::Acceleration and RotationRate.

        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::acceleration):
        (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
        (WebCore::JSDeviceMotionEvent::rotationRate):
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        Manually create and return objects with the right attributes for
        acceleration, accelerationIncludingGravity, and rotationRate.
        When creating the DeviceMotionData object in initDeviceMotionEvent,
        accept any input objects that have the right attributes.

        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
        (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        V8 counterpart to the JSC code above.

        * dom/DeviceMotionData.cpp:
        (WebCore::DeviceMotionData::Acceleration::create):
        (WebCore::DeviceMotionData::Acceleration::Acceleration):
        (WebCore::DeviceMotionData::RotationRate::create):
        (WebCore::DeviceMotionData::RotationRate::RotationRate):
        (WebCore::DeviceMotionData::create):
        (WebCore::DeviceMotionData::DeviceMotionData):
        * dom/DeviceMotionData.h:
        (WebCore::DeviceMotionData::Acceleration::canProvideX):
        (WebCore::DeviceMotionData::Acceleration::canProvideY):
        (WebCore::DeviceMotionData::Acceleration::canProvideZ):
        (WebCore::DeviceMotionData::Acceleration::x):
        (WebCore::DeviceMotionData::Acceleration::y):
        (WebCore::DeviceMotionData::Acceleration::z):
        (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
        (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
        (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
        (WebCore::DeviceMotionData::RotationRate::alpha):
        (WebCore::DeviceMotionData::RotationRate::beta):
        (WebCore::DeviceMotionData::RotationRate::gamma):
        (WebCore::DeviceMotionData::acceleration):
        (WebCore::DeviceMotionData::accelerationIncludingGravity):
        (WebCore::DeviceMotionData::rotationRate):
        Add member classes Acceleration and RotationRate to DeviceMotionData.

        * dom/DeviceMotionEvent.idl:
        Update according to the spec. Acceleration and RotationRate need not
        be backed by native classes.

2010-09-24  Romain Pokrzywka  <romain@kdab.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix the Wince build.

        * WebCore.pro: Apply msvc flags to wince, too.

2010-09-24  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] Enable building Qt/Webkit with debug symbols

        With this patch one can configure with -webkit-debug to build Webkit
        with debug symbols without having to manually edit WebCore.pro.

        * WebCore.pro:

2010-09-24  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Web Sockets are insecure with QtWebKit
        https://bugs.webkit.org/show_bug.cgi?id=44769

        Throw an error when the server certificate is not valid.
        DRT currently does not support secure websocket connection,
        so no new tests. This was tested with the server at 
        http://code.google.com/p/pywebsocket instead.

        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::socketSslErrors):

2010-09-24  Jia Pu  <jpu@apple.com>

        Reviewed by Shinichiro Hamaji.

        Need to remove autocorrection underlines in current line when newline is entered.
        https://bugs.webkit.org/show_bug.cgi?id=45709
        <rdar://problem/8335576>

        This change affects only Mac OSX build.

        * dom/DocumentMarker.h: Added "CorrectionIndicator" to indicate the words on which we need
          to draw autocorrection underline. We cannot use existing "Replacement" for this purpose,
          since it is not meant to be removed once it is added. But we need to remove all autocorrection
          underlines when a line break or paragraph separator is inserted, which is the behavior in
          NSTextView. Hence we need a separate marker value for drawing autocorrection underline.

        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Add "CorrectionIndicator" when
          autocorrection takes place.
        (WebCore::Editor::changeSelectionAfterCommand): Remove "CorrectionIndicator" markers if the
          command results in inserting paragraph separator.

        * rendering/InlineTextBox.cpp:
        (WebCore::textCheckingLineStyleForMarkerType): Use "CorrectionIndicator" marker instead of
          "Replacement" to draw autocorrection underline.
        (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.

2010-09-24  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Remove unnecessary parameter from AsyncFileWriterClient::didTruncate
        https://bugs.webkit.org/show_bug.cgi?id=46390

        * fileapi/AsyncFileWriterClient.h:

        Added state to FileWriter to replace the parameter.
        * fileapi/FileWriter.h:
        * fileapi/FileWriter.cpp:
        (WebCore::FileWriter::truncate):
        (WebCore::FileWriter::didTruncate):

2010-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r68236.
        http://trac.webkit.org/changeset/68236
        https://bugs.webkit.org/show_bug.cgi?id=46449

        compile fix didn't work (Requested by dino___ on #webkit).

        * WebCore.exp.in:
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::xAcceleration):
        (WebCore::JSDeviceMotionEvent::yAcceleration):
        (WebCore::JSDeviceMotionEvent::zAcceleration):
        (WebCore::JSDeviceMotionEvent::xRotationRate):
        (WebCore::JSDeviceMotionEvent::yRotationRate):
        (WebCore::JSDeviceMotionEvent::zRotationRate):
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        * dom/DeviceMotionData.cpp:
        (WebCore::DeviceMotionData::create):
        (WebCore::DeviceMotionData::DeviceMotionData):
        * dom/DeviceMotionData.h:
        (WebCore::DeviceMotionData::xAcceleration):
        (WebCore::DeviceMotionData::yAcceleration):
        (WebCore::DeviceMotionData::zAcceleration):
        (WebCore::DeviceMotionData::xRotationRate):
        (WebCore::DeviceMotionData::yRotationRate):
        (WebCore::DeviceMotionData::zRotationRate):
        (WebCore::DeviceMotionData::canProvideXAcceleration):
        (WebCore::DeviceMotionData::canProvideYAcceleration):
        (WebCore::DeviceMotionData::canProvideZAcceleration):
        (WebCore::DeviceMotionData::canProvideXRotationRate):
        (WebCore::DeviceMotionData::canProvideYRotationRate):
        (WebCore::DeviceMotionData::canProvideZRotationRate):
        * dom/DeviceMotionEvent.idl:

2010-09-24  Chris Guillory   <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Send webkit accessibility notifications to Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=45156

        * WebCore.gypi:
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        (WebCore::Document::setFocusedNode):
        * editing/SelectionController.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::postAccessibilityNotification):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

2010-09-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=46454, rename a bunch of the width and height calculation methods.

        calcReplacedWidth -> computeReplacedWidth

        calcHorizontalMargins -> computeInlineDirectionMargins

        calcVerticalMargins -> computeBlockDirectionMargins

        calcWidthUsing -> computeLogicalWidthUsing

        calcHeightUsing -> computeLogicalHeightUsing

        calcReplacedHeight/HeightUsing -> computeReplacedHeight/HeightUsing

        calcAbsoluteHorizontalValues -> computePositionedLogicalWidthUsing

        calcAbsoluteVerticalValues -> computePositionedLogicalHeightUsing

        calcAbsoluteHorizontal -> computePositionedLogicalWIdth

        calcAbsoluteVertical -> computePositionedLogicalHeight

        calcAbsoluteHorizontalReplaced -> computePositionedLogicalWidthReplaced

        calcAbsoluteVerticalReplaced -> computePositionedLogicalHeightReplaced

        calcBorderBoxWidth/Height -> computeBorderBoxLogicalWidth/LogicalHeight

        calcContentBoxWidth/Height -> computeContentBoxLogicalWidth/LogicalHeight

        shouldCalculateSizeAsReplaced -> shouldComputeSizeAsReplaced

        calcPercentageHeight -> computePercentageLogicalHeight

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustPositionedBlock):
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::calcPrefWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeBorderBoxLogicalWidth):
        (WebCore::RenderBox::computeBorderBoxLogicalHeight):
        (WebCore::RenderBox::computeContentBoxLogicalWidth):
        (WebCore::RenderBox::computeContentBoxLogicalHeight):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalWidthUsing):
        (WebCore::RenderBox::computeInlineDirectionMargins):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::computeReplacedWidth):
        (WebCore::RenderBox::computeReplacedWidthUsing):
        (WebCore::RenderBox::computeReplacedHeight):
        (WebCore::RenderBox::computeReplacedHeightUsing):
        (WebCore::RenderBox::availableHeightUsing):
        (WebCore::RenderBox::computeBlockDirectionMargins):
        (WebCore::RenderBox::computePositionedLogicalWidth):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalHeight):
        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::shouldComputeSizeAsReplaced):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::calcPrefWidths):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::calcPrefWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::calcPrefWidths):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedWidth):
        (WebCore::RenderImage::computeReplacedHeight):
        (WebCore::RenderImage::calcAspectRatioWidth):
        (WebCore::RenderImage::calcAspectRatioHeight):
        * rendering/RenderImage.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::calcPrefWidths):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::calcPrefWidths):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::container):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::computeBlockDirectionMargins):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedWidth):
        (WebCore::RenderReplaced::computeReplacedHeight):
        (WebCore::RenderReplaced::calcAspectRatioWidth):
        (WebCore::RenderReplaced::calcAspectRatioHeight):
        (WebCore::RenderReplaced::calcPrefWidths):
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::calcPrefWidths):
        (WebCore::RenderSVGRoot::computeReplacedWidth):
        (WebCore::RenderSVGRoot::computeReplacedHeight):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::calcPrefWidths):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::calcPrefWidths):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::computeReplacedWidth):
        (WebCore::RenderVideo::computeReplacedHeight):
        * rendering/RenderVideo.h:

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46451
        
        Rename calcWidth to computeLogicalWidth.  Rename calcHeight to computeLogicalHeight.

        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::getClearDelta):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::calcPercentageHeight):
        (WebCore::RenderBox::calcReplacedHeightUsing):
        (WebCore::RenderBox::availableHeightUsing):
        (WebCore::RenderBox::calcAbsoluteHorizontal):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::layout):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::computeLogicalWidth):
        (WebCore::RenderForeignObject::computeLogicalHeight):
        * rendering/RenderForeignObject.h:
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::computeLogicalHeight):
        (WebCore::RenderIFrame::computeLogicalWidth):
        (WebCore::RenderIFrame::layout):
        * rendering/RenderIFrame.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
        * rendering/RenderIndicator.cpp:
        (WebCore::RenderIndicator::layout):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::computeLogicalHeight):
        * rendering/RenderListBox.h:
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::computeLogicalWidth):
        (WebCore::RenderMeter::computeLogicalHeight):
        * rendering/RenderMeter.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::layout):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        (WebCore::RenderTable::layout):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computeLogicalWidth):
        * rendering/RenderTableCell.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computeLogicalHeight):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::textBlockWidth):
        (WebCore::RenderTextControlSingleLine::decorationWidthRight):
        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::computeLogicalHeight):
        (WebCore::RenderView::computeLogicalWidth):
        * rendering/RenderView.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):

2010-09-23  Hans Wennborg  <hans@chromium.org>

        Reviewed by Simon Fraser.

        Update DeviceMotionEvent to spec
        https://bugs.webkit.org/show_bug.cgi?id=46344

        The spec has changed: the DeviceMotionEvent attributes accelerationX,
        accelerationY, etc. have been baked into an 'acceleration' attribute
        which returns an object with x, y, and z values. Likewise for the
        rotation rate. The 'accelerationIncludingGravity' attribute is new.

        * WebCore.exp.in:
        The DeviceMotionData::create member function has changed. Also export
        create functions for DeviceMotionData::Acceleration and RotationRate.

        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::acceleration):
        (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
        (WebCore::JSDeviceMotionEvent::rotationRate):
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        Manually create and return objects with the right attributes for
        acceleration, accelerationIncludingGravity, and rotationRate.
        When creating the DeviceMotionData object in initDeviceMotionEvent,
        accept any input objects that have the right attributes.

        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
        (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        V8 counterpart to the JSC code above.

        * dom/DeviceMotionData.cpp:
        (WebCore::DeviceMotionData::Acceleration::create):
        (WebCore::DeviceMotionData::Acceleration::Acceleration):
        (WebCore::DeviceMotionData::RotationRate::create):
        (WebCore::DeviceMotionData::RotationRate::RotationRate):
        (WebCore::DeviceMotionData::create):
        (WebCore::DeviceMotionData::DeviceMotionData):
        * dom/DeviceMotionData.h:
        (WebCore::DeviceMotionData::Acceleration::canProvideX):
        (WebCore::DeviceMotionData::Acceleration::canProvideY):
        (WebCore::DeviceMotionData::Acceleration::canProvideZ):
        (WebCore::DeviceMotionData::Acceleration::x):
        (WebCore::DeviceMotionData::Acceleration::y):
        (WebCore::DeviceMotionData::Acceleration::z):
        (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
        (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
        (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
        (WebCore::DeviceMotionData::RotationRate::alpha):
        (WebCore::DeviceMotionData::RotationRate::beta):
        (WebCore::DeviceMotionData::RotationRate::gamma):
        (WebCore::DeviceMotionData::acceleration):
        (WebCore::DeviceMotionData::accelerationIncludingGravity):
        (WebCore::DeviceMotionData::rotationRate):
        Add member classes Acceleration and RotationRate to DeviceMotionData.

        * dom/DeviceMotionEvent.idl:
        Update according to the spec. Acceleration and RotationRate need not
        be backed by native classes.

2010-09-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Accelerated transitions do not suspend/resume properly.
        https://bugs.webkit.org/show_bug.cgi?id=43792
        
        Fix suspending of accelerated transitions.
        
        GraphicsLayer changes unify the handling of transitions and animations
        in GraphicsLayer. Both are now identified by name, so the code
        now refers to "animationName" rather than "keyframesName". Transitions
        use a dummy name which is not a valid keyframe identifier.

        Tests: animations/suspend-transform-animation.html
               transitions/suspend-transform-transition.html

        * page/animation/ImplicitAnimation.h:
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::pauseAnimation): Call down to the RenderLayerBacking
        to tell it that an accelerated transition was paused.

        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::animationNameForTransition): Create a name
        for the transition of the given property.
        (WebCore::GraphicsLayer::addAnimation): Generalize "keyframe" to "animation" in the parameter names.
        (WebCore::GraphicsLayer::pauseAnimation): ditto
        (WebCore::GraphicsLayer::removeAnimation): ditto

        * platform/graphics/mac/GraphicsLayerCA.h: Parameter renaming, and some method renames for clarity.
        (WebCore::GraphicsLayerCA::animationIsRunning):
        (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): struct rename for clarity.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::animationIdentifier): the animationName already has the property baked in.
        (WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation): just deals with one animation now.
        (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): we have to trawl through
        m_runningAnimations to get the identifiers for the animations that need to be copied.
        (WebCore::GraphicsLayerCA::addAnimation): rename parameters.
        (WebCore::GraphicsLayerCA::pauseAnimation): re-ordered methods here. member var renames.
        (WebCore::GraphicsLayerCA::removeAnimation): ditto.
        (WebCore::GraphicsLayerCA::updateLayerAnimations): no need to iterate over m_transitionPropertiesToRemove,
        and no more divergence between transitions and animations.
        (WebCore::GraphicsLayerCA::setCAAnimationOnLayer): renames for clarity.
        (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): ditto
        (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): ditto
        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): renames
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): renames
        (WebCore::GraphicsLayerCA::suspendAnimations): whitespace.

        * rendering/RenderLayerBacking.h: Group the transition and animation methods together.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::animationPaused): Re-ordered methods for clarity.
        (WebCore::RenderLayerBacking::animationFinished): ditto
        (WebCore::RenderLayerBacking::startTransition): Use animationNameForTransition() to generate
        the animation identifier.
        (WebCore::RenderLayerBacking::transitionPaused): Call pauseAnimation, using animationNameForTransition()
        to generate the animation identifier.
        (WebCore::RenderLayerBacking::transitionFinished): Call removeAnimation, using animationNameForTransition()
        to generate the animation identifier.
        (WebCore::RenderLayerBacking::notifyAnimationStarted): Moved.
        (WebCore::RenderLayerBacking::notifySyncRequired): Moved.

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Disallow the setting of block-flow to anything other than "tb" for all table-related display types
        and flexible box display types.  By disallowing block-flow on the subclasses of RenderBlock like tables
        and flexible boxes, we ensure that alterations to the RenderBlock base class won't result in misrenderings
        in tables and flexible boxes that try to specify other block flow values.
 
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):

2010-09-23  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Add Worker support for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=45808

        Exposed requestFileSystem and Flags constructor on worker contexts.

        Also changed how to get the base path for Web file systems (in
        non-chromium ports) so that it works for workers too.
        This patch assumes each port calls
        LocalFileSystem::initializeLocalFileSystem() in its initialization
        phase.

        No new tests; tests will be added when we have complete implementation.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::fileSystemEnabled): Changed to
        reflect AsyncFileSystem::isAvailable
        * bindings/generic/RuntimeEnabledFeatures.h: Moved the implementation
        of fileSystemEnabled to .cpp.
        * fileapi/LocalFileSystem.cpp:
        (WebCore::LocalFileSystem::initializeLocalFileSystem): Added.
        (WebCore::LocalFileSystem::localFileSystem): Added.
        (WebCore::LocalFileSystem::fileSystemBasePath): Added.
        * fileapi/LocalFileSystem.h:
        (WebCore::LocalFileSystem::~LocalFileSystem): Removed. (As now it's
        going to be used as a singleton.)
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::requestFileSystem): Changed to use a singleton
        instance of LocalFileSystem.
        * page/SecurityOrigin.h:
        (WebCore::SecurityOrigin::canAccessFileSystem): Added.
        * page/Settings.cpp: Removed fileSystemRootPath method.
        * page/Settings.h: Removed fileSystemRootPath method.
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::isAvailable): Added.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::requestFileSystem): Added to expose
        requestFileSystem method in worker contexts.
        (WebCore::WorkerContext::Observer): Added.
        (WebCore::WorkerContext::registerObserver): Added.
        (WebCore::WorkerContext::unregisterObserver): Added.
        (WebCore::WorkerContext::notifyObserversOfStop): Added.
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThreadShutdownStartTask::performTask): Modified to
        call workerContext->notifyObserversOfStop to notify worker observers
        of the worker thread termination.

2010-09-23  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Oliver Hunt.

        Lower the default canvas interpolation quality for platforms that use CG
        https://bugs.webkit.org/show_bug.cgi?id=45722

        Lowered the default image interpolation quality for platforms that
        use CG down to low since this is as good as if not better than
        other graphics platforms defaults (being bilinear interpolation).

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * html/HTMLCanvasElement.h: Moved in macros for default canvas interp quality.
        * platform/graphics/GraphicsContext.h: Moved out macros for default canvas interp quality. It makes more sense for them to be housed where they're used.

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=46414, rename line box methods that refer specifically to
        "horizontal" and "vertical."  Replace those terms with "inline direction" and "block direction."

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        * rendering/RootInlineBox.h:

2010-09-23  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed, rolling out r68197.
        http://trac.webkit.org/changeset/68197
        https://bugs.webkit.org/show_bug.cgi?id=46344

        Breaks

        * WebCore.exp.in:
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::xAcceleration):
        (WebCore::JSDeviceMotionEvent::yAcceleration):
        (WebCore::JSDeviceMotionEvent::zAcceleration):
        (WebCore::JSDeviceMotionEvent::xRotationRate):
        (WebCore::JSDeviceMotionEvent::yRotationRate):
        (WebCore::JSDeviceMotionEvent::zRotationRate):
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        * dom/DeviceMotionData.cpp:
        (WebCore::DeviceMotionData::create):
        (WebCore::DeviceMotionData::DeviceMotionData):
        * dom/DeviceMotionData.h:
        (WebCore::DeviceMotionData::xAcceleration):
        (WebCore::DeviceMotionData::yAcceleration):
        (WebCore::DeviceMotionData::zAcceleration):
        (WebCore::DeviceMotionData::xRotationRate):
        (WebCore::DeviceMotionData::yRotationRate):
        (WebCore::DeviceMotionData::zRotationRate):
        (WebCore::DeviceMotionData::canProvideXAcceleration):
        (WebCore::DeviceMotionData::canProvideYAcceleration):
        (WebCore::DeviceMotionData::canProvideZAcceleration):
        (WebCore::DeviceMotionData::canProvideXRotationRate):
        (WebCore::DeviceMotionData::canProvideYRotationRate):
        (WebCore::DeviceMotionData::canProvideZRotationRate):
        * dom/DeviceMotionEvent.idl:

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=46403, convert the margin/border/padding accessors
        to be logical.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        (WebCore::InlineFlowBox::paintBoxShadow):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintTextDecorations):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::InlineFlowBox):
        (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft):
        (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight):
        (WebCore::InlineFlowBox::marginLogicalLeft):
        (WebCore::InlineFlowBox::marginLogicalRight):
        (WebCore::InlineFlowBox::borderLogicalLeft):
        (WebCore::InlineFlowBox::borderLogicalRight):
        (WebCore::InlineFlowBox::paddingLogicalLeft):
        (WebCore::InlineFlowBox::paddingLogicalRight):
        (WebCore::InlineFlowBox::includeLogicalLeftEdge):
        (WebCore::InlineFlowBox::includeLogicalRightEdge):
        (WebCore::InlineFlowBox::setEdges):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2010-09-23  Jeff Schiller  <jeffschiller@google.com>

        Reviewed by David Hyatt.

        Ensure that SVG documents included by reference (object, iframe, embed) have transparent
        backgrounds (not white).  https://bugs.webkit.org/show_bug.cgi?id=10687

        Test: svg/in-html/by-reference.html

        * dom/Document.cpp:
        (WebCore::Document::hasSVGRootNode):
        * dom/Document.h:
        (WebCore::Document::hasSVGRootNode):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2010-09-23  Hans Wennborg  <hans@chromium.org>

        Reviewed by Simon Fraser.

        Update DeviceMotionEvent to spec
        https://bugs.webkit.org/show_bug.cgi?id=46344

        The spec has changed: the DeviceMotionEvent attributes accelerationX,
        accelerationY, etc. have been baked into an 'acceleration' attribute
        which returns an object with x, y, and z values. Likewise for the
        rotation rate. The 'accelerationIncludingGravity' attribute is new.

        * WebCore.exp.in:
        The DeviceMotionData::create member function has changed. Also export
        create functions for DeviceMotionData::Acceleration and RotationRate.

        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::JSDeviceMotionEvent::acceleration):
        (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
        (WebCore::JSDeviceMotionEvent::rotationRate):
        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
        Manually create and return objects with the right attributes for
        acceleration, accelerationIncludingGravity, and rotationRate.
        When creating the DeviceMotionData object in initDeviceMotionEvent,
        accept any input objects that have the right attributes.

        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
        (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
        (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        V8 counterpart to the JSC code above.

        * dom/DeviceMotionData.cpp:
        (WebCore::DeviceMotionData::Acceleration::create):
        (WebCore::DeviceMotionData::Acceleration::Acceleration):
        (WebCore::DeviceMotionData::RotationRate::create):
        (WebCore::DeviceMotionData::RotationRate::RotationRate):
        (WebCore::DeviceMotionData::create):
        (WebCore::DeviceMotionData::DeviceMotionData):
        * dom/DeviceMotionData.h:
        (WebCore::DeviceMotionData::Acceleration::canProvideX):
        (WebCore::DeviceMotionData::Acceleration::canProvideY):
        (WebCore::DeviceMotionData::Acceleration::canProvideZ):
        (WebCore::DeviceMotionData::Acceleration::x):
        (WebCore::DeviceMotionData::Acceleration::y):
        (WebCore::DeviceMotionData::Acceleration::z):
        (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
        (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
        (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
        (WebCore::DeviceMotionData::RotationRate::alpha):
        (WebCore::DeviceMotionData::RotationRate::beta):
        (WebCore::DeviceMotionData::RotationRate::gamma):
        (WebCore::DeviceMotionData::acceleration):
        (WebCore::DeviceMotionData::accelerationIncludingGravity):
        (WebCore::DeviceMotionData::rotationRate):
        Add member classes Acceleration and RotationRate to DeviceMotionData.

        * dom/DeviceMotionEvent.idl:
        Update according to the spec. Acceleration and RotationRate need not
        be backed by native classes.

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Set synchronous handle in ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46395

        When loading synchronous network resources, we need to use a synchronous internet handle.

        * platform/network/ResourceHandle.h:
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously):
        (WebCore::ResourceHandle::setSynchronousInternetHandle):

2010-09-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46326
        Crash when trying to create a NodeIterator rooted at a document-less DocumentType node

        Test: fast/dom/node-iterator-with-doctype-root.html

        * dom/Document.cpp: (WebCore::Document::detachNodeIterator): Added a comment explaining that
        attach/detach may not always be paired.

        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::NodeIterator): Don't try to register with the document if there is none.
        (WebCore::NodeIterator::~NodeIterator): Ditto.
        (WebCore::NodeIterator::detach): Ditto.
        (WebCore::NodeIterator::updateForNodeRemoval): There should be a document if we're getting a
        notification.

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Add synchronous loading for local files to ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46392

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Remove (has|set)ReceivedResponse() from public ResourceHandleWin API
        https://bugs.webkit.org/show_bug.cgi?id=46391

        There is no need for this functions to be public, so remove them.

        * platform/network/ResourceHandle.h:
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onRequestComplete):

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=46400
        
        Add logicalLeft/Top getter/setters to line boxes.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::logicalLeft):
        (WebCore::InlineBox::setLogicalLeft):
        (WebCore::InlineBox::logicalTop):
        (WebCore::InlineBox::setLogicalTop):

2010-09-23  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Reduce minimum DOMTimer interval
        https://bugs.webkit.org/show_bug.cgi?id=45362

        Since the setInterval call is meant to reflect a global change for
        all pages' DOMTimers, it's misleading to have it be a method on a
        given page's settings' object. Thus, this patch changes the call to be static.

        This simple change to using a static call instead of the page's setting's
        method doesn't warrant a test.

        * page/Settings.h: Changed the setInterval call to be static.

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46386, give line boxes a vertical bit so that it's easy to know
        the overall direction of the line without having to ask the containing block.

        Also couldn't resist some cleanup.  Tightened up the type of the renderobject passed to RootInlineBox's
        constructor to be a RenderBlock.  Moved all the virtual logical height stuff outside of the SVG ifdef
        since TrailingFloatsRootInlineBox uses it and should work without SVG enabled.

        * rendering/EllipsisBox.h:
        (WebCore::EllipsisBox::EllipsisBox):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::isVertical):
        (WebCore::InlineBox::setIsVertical):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::placeEllipsis):
        * rendering/RootInlineBox.h:
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
        * rendering/TrailingFloatsRootInlineBox.h:
        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Check for a valid ResourceHandleClient in ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46389

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onRequestComplete): Add checks to ensure client() is not 0.

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Fix ResourceHandleWin::cancel() for network resources 
        https://bugs.webkit.org/show_bug.cgi?id=46383

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onRequestComplete): Check it requestHandle is not 0.
        (WebCore::ResourceHandle::cancel): Set requestHandle to 0.

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Add handling for form data and additional HTTP headers in ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46369

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):

2010-09-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser

        'seeking' event should always fire
        https://bugs.webkit.org/show_bug.cgi?id=45694

        Update seek algorithm to match current spec.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState): Don't need to fire 'seeking' event here.
        (WebCore::HTMLMediaElement::seek): Always fire 'seeking'. Update comments.
        (WebCore::HTMLMediaElement::finishSeek): Update comments.
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.

2010-09-23  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Rename FileWriterClient to AsyncFileWriterClient.
        https://bugs.webkit.org/show_bug.cgi?id=46325

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/AsyncFileWriter.h:
        * fileapi/AsyncFileWriterClient.h: Copied from WebCore/fileapi/FileWriterClient.h.
        * fileapi/FileWriter.h:
        * fileapi/FileWriterClient.h: Removed.
        * platform/AsyncFileSystem.h:

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46378, rename width/height on line boxes to logicalWidth/logicalHeight.

        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::paintSelection):
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::logicalHeight):
        (WebCore::InlineBox::canAccommodateEllipsis):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::hasVirtualLogicalHeight):
        (WebCore::InlineBox::setHasVirtualLogicalHeight):
        (WebCore::InlineBox::virtualLogicalHeight):
        (WebCore::InlineBox::setLogicalWidth):
        (WebCore::InlineBox::logicalWidth):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        (WebCore::InlineFlowBox::placeBoxesVertically):
        (WebCore::InlineFlowBox::computeVerticalOverflow):
        (WebCore::InlineFlowBox::nodeAtPoint):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        (WebCore::InlineFlowBox::paintTextDecorations):
        (WebCore::InlineFlowBox::placeEllipsisBox):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::visibleOverflowRect):
        (WebCore::InlineFlowBox::bottomLayoutOverflow):
        (WebCore::InlineFlowBox::rightLayoutOverflow):
        (WebCore::InlineFlowBox::layoutOverflowRect):
        (WebCore::InlineFlowBox::bottomVisualOverflow):
        (WebCore::InlineFlowBox::rightVisualOverflow):
        (WebCore::InlineFlowBox::visualOverflowRect):
        (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::placeEllipsisBox):
        (WebCore::InlineTextBox::nodeAtPoint):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintCustomHighlight):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::paintCompositionUnderline):
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::calculateBoundaries):
        (WebCore::InlineTextBox::setSpaceAdd):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::adjustForBorderFit):
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::applyLineClamp):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::absoluteRects):
        (WebCore::RenderInline::absoluteQuads):
        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::addFocusRingRects):
        (WebCore::RenderInline::paintOutline):
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::createInlineFlowBox):
        (WebCore::RenderSVGInline::absoluteQuads):
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::createTextBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::createRootInlineBox):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects):
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::RenderText::absoluteQuadsForRange):
        (WebCore::RenderText::positionForPoint):
        (WebCore::RenderText::localCaretRect):
        (WebCore::RenderText::linesBoundingBox):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeTextRun):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::canAccommodateEllipsis):
        (WebCore::RootInlineBox::placeEllipsis):
        (WebCore::RootInlineBox::addHighlightOverflow):
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::fillLineSelectionGap):
        (WebCore::RootInlineBox::closestLeafChildForXPos):
        * rendering/SVGInlineFlowBox.h:
        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
        (WebCore::SVGInlineFlowBox::virtualLogicalHeight):
        (WebCore::SVGInlineFlowBox::setLogicalHeight):
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::SVGInlineTextBox):
        * rendering/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::virtualLogicalHeight):
        (WebCore::SVGInlineTextBox::setLogicalHeight):
        (WebCore::SVGInlineTextBox::selectionHeight):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeRenderSVGTextBox):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::layoutChildBoxes):
        (WebCore::SVGRootInlineBox::layoutRootBox):
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
        (WebCore::SVGRootInlineBox::virtualLogicalHeight):
        (WebCore::SVGRootInlineBox::setLogicalHeight):
        * rendering/TrailingFloatsRootInlineBox.h:
        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
        (WebCore::TrailingFloatsRootInlineBox::virtualLogicalHeight):

2010-09-23  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Oliver Hunt.

        context.drawImage with (source rect's height) = -(input image's native height) draws nothing
        https://bugs.webkit.org/show_bug.cgi?id=46243

        This patch changes canvasrenderingcontext2d's drawImage with an image element to
        normalize the source and dest rects to acheive the desired canvas spec behavior
        of allowing negative widths and heights that don't cause flipping and fix the
        adverse behavior of specifying a source rect height of negative the source image's height

        Tests: canvas/philip/tests/2d.drawImage.negativeSourceHeight.html
               canvas/philip/tests/2d.drawImage.negativeSourceHeight2.html
               canvas/philip/tests/2d.drawImage.negativeSourceHeightAndWidth.html

        * html/canvas/CanvasRenderingContext2D.cpp: Normalize rects in drawImage before calling
        lower level draw calls.

2010-09-23  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Dirk Schulze.

        SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=46363
        The patch also implements the simple setRadius method.

        Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
               svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html

        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::setRadius):
        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
        * svg/SVGFEMorphologyElement.h:

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Add synchronous loading for network resources to ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46364

        Use return value of onRequestComplete() to indicate that an additional
        call to it is required for receiving remaining network data.

        * platform/network/ResourceHandle.h:
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::start):

2010-09-23  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.
        
        Implement <a ping> (disabled by default).
        https://bugs.webkit.org/show_bug.cgi?id=30458
        
        Tests: http/tests/navigation/ping-cross-origin-from-https.html
               http/tests/navigation/ping-cross-origin.html
               http/tests/navigation/ping-same-origin.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::sendPings):
        * html/HTMLAnchorElement.h:
        * html/HTMLAttributeNames.in:
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::sendPing): Set ping-specific headers.
        (WebCore::PingLoader::PingLoader):
        * loader/PingLoader.h:
        (WebCore::PingLoader::timeout): Ensure pings eventually timeout, since
            the normal cancel mechanism can't stop them.
        * page/Settings.cpp:
        * page/Settings.h: Add hyperlinkAuditingEnabled.

2010-09-23  Steve VanDeBogart  <vandebo@chromium.org>

        Reviewed by David Levin.

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

        Use Skia's SkSafeRef/SkSafeUnref functions instead of safeRef/safeUnref.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/graphics/skia/GradientSkia.cpp:
        (WebCore::Gradient::platformDestroy):
        * platform/graphics/skia/PatternSkia.cpp:
        (WebCore::Pattern::platformDestroy):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::State::~State):
        (WebCore::PlatformContextSkia::drawRect):
        (WebCore::PlatformContextSkia::setStrokeShader):
        (WebCore::PlatformContextSkia::setFillShader):
        (WebCore::PlatformContextSkia::setDashPathEffect):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2010-09-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Csaba Osztrogonác.

        Fix warnings regarding print format in 64 bits
        https://bugs.webkit.org/show_bug.cgi?id=46357

        Use inttypes.h in order to have portable print formats across 32 and
        64 bits.

        * platform/sql/SQLiteFileSystem.cpp:
        (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):

2010-09-23  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioContext files
        https://bugs.webkit.org/show_bug.cgi?id=44890

        No new tests since audio API is not yet implemented.

        * webaudio/AudioContext.cpp: Added.
        (WebCore::AudioContext::createAudioRequest):
        (WebCore::AudioContext::create):
        (WebCore::AudioContext::AudioContext):
        (WebCore::AudioContext::~AudioContext):
        (WebCore::AudioContext::lazyInitialize):
        (WebCore::AudioContext::uninitialize):
        (WebCore::AudioContext::isInitialized):
        (WebCore::AudioContext::isRunnable):
        (WebCore::AudioContext::stop):
        (WebCore::AudioContext::document):
        (WebCore::AudioContext::hasDocument):
        (WebCore::AudioContext::refBuffer):
        (WebCore::AudioContext::createBuffer):
        (WebCore::AudioContext::createBufferSource):
        (WebCore::AudioContext::createJavaScriptNode):
        (WebCore::AudioContext::createLowPass2Filter):
        (WebCore::AudioContext::createHighPass2Filter):
        (WebCore::AudioContext::createPanner):
        (WebCore::AudioContext::createConvolver):
        (WebCore::AudioContext::createAnalyser):
        (WebCore::AudioContext::createGainNode):
        (WebCore::AudioContext::createDelayNode):
        (WebCore::AudioContext::createChannelSplitter):
        (WebCore::AudioContext::createChannelMerger):
        (WebCore::AudioContext::notifyNodeFinishedProcessing):
        (WebCore::AudioContext::derefFinishedSourceNodes):
        (WebCore::AudioContext::refNode):
        (WebCore::AudioContext::derefNode):
        (WebCore::AudioContext::derefUnfinishedSourceNodes):
        (WebCore::AudioContext::lock):
        (WebCore::AudioContext::tryLock):
        (WebCore::AudioContext::unlock):
        (WebCore::AudioContext::isAudioThread):
        (WebCore::AudioContext::isGraphOwner):
        (WebCore::AudioContext::addDeferredFinishDeref):
        (WebCore::AudioContext::handlePostRenderTasks):
        (WebCore::AudioContext::handleDeferredFinishDerefs):
        (WebCore::AudioContext::markForDeletion):
        (WebCore::AudioContext::deleteMarkedNodes):
        * webaudio/AudioContext.h: Added.
        (WebCore::AudioContext::destination):
        (WebCore::AudioContext::currentTime):
        (WebCore::AudioContext::sampleRate):
        (WebCore::AudioContext::listener):
        (WebCore::AudioContext::temporaryMonoBus):
        (WebCore::AudioContext::temporaryStereoBus):
        (WebCore::AudioContext::incrementConnectionCount):
        (WebCore::AudioContext::connectionCount):
        (WebCore::AudioContext::setAudioThread):
        (WebCore::AudioContext::audioThread):
        (WebCore::AudioContext::isAudioThreadFinished):
        (WebCore::AudioContext::AutoLocker::AutoLocker):
        (WebCore::AudioContext::AutoLocker::~AutoLocker):
        (WebCore::AudioContext::RefInfo::RefInfo):
        * webaudio/AudioContext.idl: Added.

2010-09-23  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        IndexedDB shouldn't crash on invalid index names
        https://bugs.webkit.org/show_bug.cgi?id=46362

        For now, return null.  In a later patch, we'll do proper exception raising.

        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::index):

2010-09-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Fix the memory safety issue by checking containerObject is a RenderBox
        before doing the transforms.
        https://bugs.webkit.org/show_bug.cgi?id=46365

        Test: compositing/overflow/get-transform-from-non-box-container.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTransformFromContainer):

2010-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=46314.
        
        The RenderView's block-flow should match the root element's block-flow.  When we create (or re-create) the style for the document, take
        the block-flow from the document element's style and use it if it's available.
        
        Also patch styleDidChange so that if the block-flow changes dynamically after we have already made the document style, we'll propagate
        the change back up to the RenderView and have it do a relayout.

        No tests possible yet, since you can't see the document's style anywhere, and block-flow isn't doing anything to affect layout
        yet.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):

2010-09-23  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: source frame popups shouldn't disappear when hovered
        https://bugs.webkit.org/show_bug.cgi?id=46358

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._mouseMove):

2010-09-23  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [Regression][Gtk] Left and Right Arrows no longer function when caret browsing is enabled
        https://bugs.webkit.org/show_bug.cgi?id=45375

        Consider caret browsing for Move commands.

        Test: platform/gtk/editing/selection/caret-mode-left-right-arrows.html

        * editing/EditorCommand.cpp:
        (WebCore::createCommandMap): Use "caret browsing aware functions"
        as isEnabled() function for those commands moving the caret
        forward and backward across characters, words, lines or paragraphs,
        not just left and right, as it was the case so far.

2010-09-23  Brad Moore  <bradm@apple.com>

        Reviewed by Dan Bernstein.

        Address a remaining discrepancy in piecewise text measurement
        https://bugs.webkit.org/show_bug.cgi?id=45796

        Don't include always-integral space widths in the floating point accumulator designed
        to minimize precision loss.  This brings whole-string measurement in line with piecewise
        text measurement when dealing with fonts with fractional advances.

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance): Change the associativity of width addition to minimize precision loss.

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Cleanup network communication code in ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=46200

        Add logic for request handling directly into ResourceHandle::start and fix style.
        Use Unicode instead of ASCII Windows API functions.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::start):

2010-09-23  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Andreas Kling.

        Invalid assertion in ScriptCallback
        https://bugs.webkit.org/show_bug.cgi?id=46348

        Removing invalid ASSERT from method ScriptCallback::call().

        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptCallback::call):

2010-09-23  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Ariya Hidayat.

        [Cairo] Generalize ContextShadow from the Qt port and use it for shadow code
        https://bugs.webkit.org/show_bug.cgi?id=45599

        Make ContextShadow platform-independent and add a Cairo implementation. This is currently
        disabled for Cairo, but will be enabled in a followup patch with new baselines.

        No new tests as this does not change functionality.

        * GNUmakefile.am: Update source lists.
        * WebCore.pro: Update source lists.
        * platform/graphics/ContextShadow.cpp: Added. A generalized version of Qt's ContextShadow.
        (WebCore::ContextShadow::ContextShadow):
        (WebCore::ContextShadow::clear):
        (WebCore::ContextShadow::blurLayerImage):
        (WebCore::ContextShadow::calculateMinimalLayerRect):
        * platform/graphics/ContextShadow.h: Added.
        (WebCore::ContextShadow::offset):
        * platform/graphics/cairo/CairoUtilities.cpp: Added. 
        (WebCore::setSourceRGBAFromColor): A utility to set the source RGBA on a Cairo surface from a WebCore color.
        * platform/graphics/cairo/CairoUtilities.h: Added.
        * platform/graphics/cairo/ContextShadowCairo.cpp: Added.
        (WebCore::purgeScratchBuffer): Static function to purge the shadow buffer.
        (WebCore::PurgeScratchBufferTimer::fired): Timer callback.
        (WebCore::scheduleScratchBufferPurge): Schedule's a WebCore timer to purge the shadow buffer.
        (WebCore::getScratchBuffer): Create or reuse the scratch buffer.
        (WebCore::ContextShadow::beginShadowLayer): Added.
        (WebCore::ContextShadow::endShadowLayer): Added.
        * platform/graphics/gtk/CairoUtilities.cpp: Removed.
        * platform/graphics/gtk/CairoUtilities.h: Removed.
        * platform/graphics/gtk/GdkCairoUtilities.cpp: Renamed from CairoUtilities.cpp.
        (getCairoSurfacePixel):
        (getGdkPixbufPixel):
        (cairoImageSurfaceToGdkPixbuf):
        * platform/graphics/gtk/GdkCairoUtilities.h: Added.
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        * platform/graphics/gtk/ImageGtk.cpp:
        * platform/graphics/qt/ContextShadow.cpp: Removed.
        * platform/graphics/qt/ContextShadow.h: Removed.
        * platform/graphics/qt/ContextShadowQt.cpp: Added. Adapted from code originally in ContextShadow.cpp.
        (WebCore::ShadowBuffer::ShadowBuffer):
        (WebCore::ShadowBuffer::scratchImage):
        (WebCore::ShadowBuffer::schedulePurge):
        (WebCore::ShadowBuffer::timerEvent):
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon): Updated to reflect new ContextShadow members.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Updated to reflect new ContextShadow members.
        (WebCore::GraphicsContext::strokeArc): Ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        (WebCore::GraphicsContext::fillPath): Ditto.
        (WebCore::GraphicsContext::strokePath): Ditto.
        (WebCore::GraphicsContext::fillRect): Ditto.
        (WebCore::GraphicsContext::fillRoundedRect): Ditto.
        (WebCore::GraphicsContext::setPlatformShadow): Ditto.

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Add internetStatusCallback to ResourceHandleWin.
        https://bugs.webkit.org/show_bug.cgi?id=46187

        Add callback for asynchronous network transfer.

        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::callOnRedirect):
        (WebCore::callOnRequestComplete):
        (WebCore::ResourceHandle::internetStatusCallback):
        (WebCore::ResourceHandle::onRedirect):

2010-09-23  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBTransactionCoordinator contains a broken assertion.
        https://bugs.webkit.org/show_bug.cgi?id=46356

        Remove the broken assertion.

        * storage/IDBTransactionCoordinator.cpp:
        (WebCore::IDBTransactionCoordinator::processStartedTransactions):

2010-09-23  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: highlight DOM nodes when navigating the DOM with keyboard
        https://bugs.webkit.org/show_bug.cgi?id=46346

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.onselect):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyDown):
        (TreeElement.prototype.selectOnMouseDown):
        (TreeElement.prototype.select):

2010-09-23  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [Chromium] Build broken due to missing include in IDBTransactionBackendImpl.h
        https://bugs.webkit.org/show_bug.cgi?id=46352

        No new tests needed, build fix.

        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::objectStore):
        * storage/IDBTransactionBackendImpl.h:

2010-09-23  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBObjectStore::get should run in a transaction.
        https://bugs.webkit.org/show_bug.cgi?id=44700

        Implements logic for running IDBObjectStore::get() in a transaction.
        Refactors the pending transaction monitor and the transaction coordinator
        to use pointers instead of transaction IDs.
 
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::didLeaveScriptContext):
        * storage/IDBCursorBackendImpl.cpp:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::objectStore):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::objectStore):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::transactionCoordinator):
        * storage/IDBFactoryBackendImpl.cpp:
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::get):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::create):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBTask::IDBTask):
        (WebCore::IDBTask::performTask):
        (WebCore::createTask):
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBPendingTransactionMonitor.cpp:
        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
        (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
        (WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):
        * storage/IDBPendingTransactionMonitor.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::~IDBRequest):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::timerFired):
        * storage/IDBRequest.h:
        (WebCore::IDBRequest::create):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::objectStore):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::create):
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::objectStore):
        (WebCore::IDBTransactionBackendImpl::scheduleTask):
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
        (WebCore::IDBTransactionBackendImpl::run):
        (WebCore::IDBTransactionBackendImpl::start):
        (WebCore::IDBTransactionBackendImpl::commit):
        (WebCore::IDBTransactionBackendImpl::timerFired):
        * storage/IDBTransactionBackendImpl.h:
        (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::isFinished):
        * storage/IDBTransactionBackendInterface.h:
        * storage/IDBTransactionCoordinator.cpp:
        (WebCore::IDBTransactionCoordinator::createTransaction):
        (WebCore::IDBTransactionCoordinator::didStartTransaction):
        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
        * storage/IDBTransactionCoordinator.h:

2010-09-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WINCE] Remove usage of MemoryManager
        https://bugs.webkit.org/show_bug.cgi?id=46206

        MemoryManager does not provide any extra value, so remove it.

        * page/wince/FrameWinCE.cpp:
        (WebCore::imageFromSelection):
        * platform/graphics/wince/PlatformPathWinCE.cpp:
        (WebCore::drawPolygons):

2010-09-23  Darin Adler  <darin@apple.com>

        Reviewed by Chris Fleizach.

        media/video-controls-with-mutation-event-handler.html crashing
        https://bugs.webkit.org/show_bug.cgi?id=46169

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement): Don't take a type argument.
        We can't set the type until after the element is created beacuse of reference counting rules.
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Don't pass the type.
        (WebCore::MediaControlMuteButtonElement::create): Set the type.
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): More of the same.
        (WebCore::MediaControlPlayButtonElement::create): Ditto.
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Ditto.
        (WebCore::MediaControlSeekButtonElement::create): Ditto.
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
        (WebCore::MediaControlRewindButtonElement::create): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::create): Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Ditto.
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
        (WebCore::MediaControlTimelineElement::create): Ditto.
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Ditto.
        (WebCore::MediaControlVolumeSliderElement::create): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::create): Ditto.

        * rendering/MediaControlElements.h: Removed the type argument from the MediaControlInputElement
        constructor.

2010-09-22  Luke Macpherson  <macpherson@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Don't allow empty strings as tokens in xmlhttprequest, as per rfc2616 section 2.2.

        XMLHttpRequest: setRequestHeader() does not throw SYNTAX_ERR exception if the header field name is empty
        https://bugs.webkit.org/show_bug.cgi?id=46151

        Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::isValidToken):

2010-09-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Adam Barth.

        [BREWMP] Enable touch events
        https://bugs.webkit.org/show_bug.cgi?id=46321

        Enable TOUCH_EVENTS by porting PlatformTouchEvent and PlatformTouchPoint.
        Brew MP does not support multi touch, so enable only single touch for now.

        * platform/PlatformTouchEvent.h:
        * platform/PlatformTouchPoint.h:
        * platform/brew/PlatformTouchEventBrew.cpp: Added.
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/brew/PlatformTouchPointBrew.cpp: Added.
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2010-09-22  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
        https://bugs.webkit.org/show_bug.cgi?id=46334

        * WebCore.exp.in: Export __ZN7WebCore27applicationIsMicrosoftMyDayEv.
        * platform/mac/RuntimeApplicationChecks.h:
        * platform/mac/RuntimeApplicationChecks.mm:
        (WebCore::applicationIsMicrosoftMyDay): Determine if the embeddding
        application is Microsoft My Day by checking the bundle identifier.

2010-09-22  Andy Estes  <aestes@apple.com>

        Rubber-stamped by Darin Adler.

        Fix a typo and correct an inaccurate phrase in a comment.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-09-22  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        REGRESSION (r61285): <script /> parses differently in HTML5
        https://bugs.webkit.org/show_bug.cgi?id=42909

        If pre-HTML5 parser quirks are enabled, the HTMLTreeBuilder should
        handle self-closing script tags like the old parser did. Specifically,
        "<script />" should be treated as "<script></script>".

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
        HTMLTreeBuilder with the value of usePreHTML5ParserQuirks().
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processEndTag): If the tokenizer is not
        currently in DataState, this means that the current end token is fake
        and was created by the tree builder to handle a self-closing script tag.
        Assert that pre-HTML5 quirks are enabled and set the tokenizer's state
        to DataState in this case.
        (WebCore::HTMLTreeBuilder::processStartTagForInHead): If pre-HTML5
        parser quirks are enabled and the script tag is self-closing, create and
        procses a fake script end tag.
        * html/parser/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::create):

2010-09-22  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] User style layout tests don't pass on Chromium
        https://bugs.webkit.org/show_bug.cgi?id=46069
        
        Instead of making resetUserStyleCacheInAllFrames be a no-op for
        Chromium, have it be controlled by a UserStyleInjectionTime enum.
        
        Also move the UserStyleSheet::Level enum to be inside
        UserStyleSheetTypes for consistency.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::pageGroupUserSheets):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        * page/PageGroup.h:
        * page/UserStyleSheet.h:
        (WebCore::UserStyleSheet::UserStyleSheet):
        (WebCore::UserStyleSheet::level):
        * page/UserStyleSheetTypes.h:

2010-09-22  Ruben  <chromium@hybridsource.org>

        Reviewed by Tony Chang.

        [chromium] added ifdefs for FreeBSD support
        https://bugs.webkit.org/show_bug.cgi?id=46316

        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::platform):
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        (WebCore::V8InspectorFrontendHost::platformCallback):
        * dom/SelectElement.cpp:
        * loader/CachedFont.cpp:
        * page/EventHandler.cpp:
        * page/chromium/EventHandlerChromium.cpp:
        * platform/Scrollbar.cpp:
        * platform/chromium/ChromiumBridge.h:
        * platform/graphics/chromium/FontPlatformData.h:
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/skia/FontCustomPlatformData.h:

2010-09-22  Rafael Antognolli  <antognolli@profusion.mobi>

        Unreviewed build fix.

        [EFL] Fix build due to latest EFL (Edje) changes.
        https://bugs.webkit.org/show_bug.cgi?id=46317

        Make the change int -> Edje_Load_Error (enum).

        No new functionality, so no new tests.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::themePartCacheEntryReset):
        (WebCore::RenderThemeEfl::createEdje):
        (WebCore::RenderThemeEfl::applyPartDescriptions):
        * platform/efl/ScrollbarEfl.cpp:
        (ScrollbarEfl::setParent):

2010-09-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: aria-hidden change doesn't update the ax tree
        https://bugs.webkit.org/show_bug.cgi?id=45836

        Test: accessibility/aria-hidden-update.html

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

2010-09-22  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        [FileSystem] Fix Flags handling in DirectoryEntry custom binding code
        https://bugs.webkit.org/show_bug.cgi?id=46028

        Do not use adoptRef to get RefPtr from a raw pointer that is already
        adopted in toNative/toJS.

        Test: fast/filesystem/flags-passing.html

        * bindings/js/JSDirectoryEntryCustom.cpp:
        (WebCore::JSDirectoryEntry::getFile):
        (WebCore::JSDirectoryEntry::getDirectory):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):

2010-09-22  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Need to stop autocorrection panel timer when selection changes.
        https://bugs.webkit.org/show_bug.cgi?id=46201
        <rdar://problem/8441042>

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing): Stop correction timer after editing.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): When text checking is done for
          showing autocorrection panel, we suppress all corrections that are not at the end of
          text checking range. So that we don't replace other words while showing correction panel
          for the last word.
        (WebCore::Editor::stopCorrectionPanelTimer): Stop correction timer.

        * editing/Editor.h: Added stopCorrectionPanelTimer() method.

2010-09-22  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Add Chromium implementation for FileWriter
        https://bugs.webkit.org/show_bug.cgi?id=44361

        No new tests; the implementation's not yet far enough along for that.

        This makes a chain of contruction-and-linking-up for various sorts of
        FileWriter interfaces to call through to Chromium, and for various
        sorts of FileWriterClients to call back, with object ownership always
        pointing towards the Chromium API.  That is, the DOM object owns an
        AsyncFileWriter, which owns its implementation object, and the reverse
        (client) direction is raw pointers.

        File metadata is looked up before the FileWriter is returned, so that
        we know the file exists and can cache its length.

        The WebCore part of this is simple and generic enough to handle
        Chromium, so it should be easy for me to put in a WebCore-only
        implementation next.
        
        * fileapi/AsyncFileWriter.h:
        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::createWriter):
        * fileapi/DOMFileSystem.h:
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::FileSystemCallbacksBase::didCreateFileWriter):
        (WebCore::FileWriterCallbacks::FileWriterCallbacks):
        (WebCore::FileWriterCallbacks::didCreateFileWriter):
        * fileapi/FileSystemCallbacks.h:
        * platform/AsyncFileSystem.h:
        * platform/AsyncFileSystemCallbacks.h:

2010-09-22  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=46222
        <rdar://problem/8461701> Document.getElementById() malfunctions if ID was changed via Attr node modification.

        Test: fast/dom/Attr/change-id-via-attr-node-value.html

        * dom/Attr.h:
        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Separated a version callable from WebCore from one avaiable to JS.
        Attr::setValue() can be called from Element::setAttribute(), and we don't want to update
        m_elementsById (or to call attributeChanged()) twice in that case.
        (WebCore::Attr::childrenChanged): If Attr's node children change, id changes.

        * dom/Document.cpp: (WebCore::Document::removeElementById): Added an assertion that we are
        not trying to remove something that isn't there. If we are, we probably failed to update
        m_elementsById earlier.

        * dom/Element.cpp: (WebCore::Element::setAttribute): If the attribute has an Attr node, its
        children should be updated to match attribute value.

2010-09-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46311, lock form controls and replaced elements to vertical block flow.

        Patch form controls that don't use RenderReplaced by hand in html.css.  Patch all RenderReplaced elements
        with an override of setStyle that forces the new style to have a vertical block flow.  We have to do something like
        this to cover the CSS3 content: url(img) method of image replacement.
        
        * css/html.css:
        (input, textarea, keygen, select, button, isindex, meter, progress):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::setStyle):
        * rendering/RenderReplaced.h:

2010-09-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46304
        
        display:inline should become display:inline-block when an object's block flow does not match its parent's block flow.

        Added fast/blockflow/display-mutation.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * css/CSSStyleSelector.h:

2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] object:text-changed events should be emitted for entries and password text
        https://bugs.webkit.org/show_bug.cgi?id=25898

        Implement proper 'text-changed' signal emission for the GTK port

        Call deleteTextFromNode() when needed while removing text nodes.
        Do it even when removeNode() is going to be called afterwards, in
        order to allow accessibility to get properly notified about the
        text being removed alongside with that node.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):

        New function in AXObjectCache to call when text changes in a node.
        Added one new function to allow notifying something changed in a
        text node through the associated RenderObject, making such a
        function dependant on the platform-specific implementation,
        provided through a protected function (provided a proper
        implementation for the GTK port and a dummy one for the others).

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::nodeTextChangeNotification): New
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::AXTextChange): New enumeration
        (WebCore::AXObjectCache::nodeTextChangeNotification): New
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
        * accessibility/AccessibilityRenderObject.h:
        (WebCore::toAccessibilityRenderObject):
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::emitTextChanged):
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New

        Notify accessibility when something changes in a text node.
        Call to AXObjectCache::nodeTextChangeNotification() to notify when
        text was inserted/deleted when applying/unapplying a text edition
        command, along with the offset in the original text where the
        change took place and the number of characters that got affected.

        * editing/AppendNodeCommand.cpp:
        (WebCore::sendAXTextChangedIgnoringLineBreaks):
        (WebCore::AppendNodeCommand::doApply):
        (WebCore::AppendNodeCommand::doUnapply):
        * editing/DeleteFromTextNodeCommand.cpp:
        (WebCore::DeleteFromTextNodeCommand::doApply):
        (WebCore::DeleteFromTextNodeCommand::doUnapply):
        * editing/InsertIntoTextNodeCommand.cpp:
        (WebCore::InsertIntoTextNodeCommand::doApply):
        (WebCore::InsertIntoTextNodeCommand::doUnapply):
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply):
        (WebCore::InsertNodeBeforeCommand::doUnapply):
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):

2010-09-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46298, add logicalWidth/Height getters/setters to RenderBox.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::logicalWidth):
        (WebCore::RenderBox::logicalHeight):
        (WebCore::RenderBox::setLogicalWidth):
        (WebCore::RenderBox::setLogicalHeight):
        * rendering/RenderBox.h:

2010-09-22  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Oliver Hunt.

        Script engine agnostic ScriptCallback class
        https://bugs.webkit.org/show_bug.cgi?id=43216

        Refactoring class ScriptFunctionCall to create a class (ScriptCallback) that
        receives a script function as a ScriptValue and calls that function with provided parameters.

        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptCallArgumentHandler::appendArgument):
        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
        (WebCore::ScriptCallback::ScriptCallback):
        (WebCore::ScriptCallback::call):
        * bindings/js/ScriptFunctionCall.h:
        (WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptCallArgumentHandler::appendArgument):
        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
        (WebCore::ScriptCallback::ScriptCallback):
        (WebCore::ScriptCallback::call):
        * bindings/v8/ScriptFunctionCall.h:
        (WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):

2010-09-22  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed.

        Build fix for invalid assertion after r68059.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotIn): Correct assertion target after
        name change.

2010-09-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=45957, fix regression in column rules stacking test.

        Rewrite how the pagination bit gets set in RenderLayers, since it was totally broken and not
        accounting for whether or not the columns block was even in the layer's containing block
        hierarchy.

        * rendering/RenderLayer.cpp:
        (WebCore::checkContainingBlockChainForPagination):
        (WebCore::RenderLayer::updatePagination):

2010-09-22  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed.

        [WinCairo] Build fix for platform/cairo stuff after r67981.

        * WebCore.vcproj/WebCore.vcproj: Add new files needed by all cairo
        ports.

2010-09-22  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] Fix memory model for dataset
        https://bugs.webkit.org/show_bug.cgi?id=46280

        This is covered by existing tests.

        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):

2010-09-22  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Fix wrong casts for table cell since its parent is not a RenderBlock. Remove
        the redundant destroy call for empty anonymous columns or column span block.
        https://bugs.webkit.org/show_bug.cgi?id=46245

        Tests: fast/table/table-anonymous-block-destroy-crash.html
               fast/table/table-columns-blocks-calc-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
        (WebCore::RenderBlock::columnsBlockForSpanningElement):
        (WebCore::RenderBlock::removeChild):

2010-09-22  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Darin Fisher.

        Trying to reland a version of r67749:
        Have V8DOMWindowShell ask the embedder whether to run a V8 extension
        in a particular script context.
        https://bugs.webkit.org/show_bug.cgi?id=45721

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
        * loader/FrameLoaderClient.h:

2010-09-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        queryCommandState returns false for Underline command when no selection is made
        https://bugs.webkit.org/show_bug.cgi?id=17594

        The bug was caused by selectionComputedStyle's adding -webkit-text-decorations-in-effect property
        to a dummy span used to obtain the computed style when there is a typing style.
        Since this property is for internal use only, the CSS parser always stripped the property.
        As a result, we were always ignoring the text decorations set by the typing style.

        Fixed the bug by making selectionComputedStyle directly merge the computed style of the current
        caret position and the typing style. This also eliminates the need for a dummy span element.
        Due to the merge, the return value of selectionComputedStyle had to be changed to CSSMutableStyleDeclaration
        from CSSComputedStyleDeclaration.

        Test: editing/execCommand/query-text-decoration-with-typing-style.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init): Calls getPropertiesNotIn.
        (WebCore::getPropertiesNotIn): Renamed from getPropertiesNotInComputedStyle since it takes
        CSSStyleDeclaration* instead of CSSComputedStyleDeclaration* for the second argument.
        (WebCore::ApplyStyleCommand::removeNonEditingProperties): Extracted from editingStyleAtPosition.
        (WebCore::ApplyStyleCommand::editingStyleAtPosition): Calls removeNonEditingProperties.
        * editing/ApplyStyleCommand.h:
        * editing/Editor.cpp:
        (WebCore::triStateOfStyle): Calls getPropertiesNotIn. Renamed from triStateOfStyleInComputedStyle
        since it no longer takes CSSComputedStyleDeclaration.
        (WebCore::Editor::selectionStartHasStyle): Calls selectionComputedStyle and triStateOfStyle.
        (WebCore::Editor::selectionHasStyle): Ditto.
        (WebCore::Editor::selectionStartCSSPropertyValue): Calls selectionComputedStyle.
        (WebCore::Editor::selectionComputedStyle): See above.
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyleInList): Calls selectionComputedStyle.

2010-09-22  Jamey Hicks  <jamey.hicks@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Web Inspector: Remote Web Inspector support for QtWebKit
        https://bugs.webkit.org/show_bug.cgi?id=43988

        Runs a web debug server on port specified by QtTestBrowser
        argument -remote-inspector-port. Property
        _q_webInspectorServerPort of the QWebPage instance will be set
        according to the argument. All pages with that property set will
        be remotely inspectable.

        URL for remote inspection of first QWebPage is
            http://localhost:9222/webkit/inspector/inspector.html?page=1
        where 1 is the number of the QWebPage instance.

        The base URL yields an index page with links to the individual inspectors:
            http://localhost:9222/

        * WebCore.pro

2010-09-21  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
        https://bugs.webkit.org/show_bug.cgi?id=46220

        * WebCore.exp.in: Updated.

        * bindings/objc/ObjCEventListener.h: Use a RetainPtr for m_listener, since that
        will do a CFRetain, which is right for GC rather than an -[NSObject retain],
        which is not.
        * bindings/objc/ObjCEventListener.mm:
        (WebCore::ObjCEventListener::ObjCEventListener): Removed explicit retain.
        (WebCore::ObjCEventListener::~ObjCEventListener): Removed explicit release and
        added get().
        (WebCore::ObjCEventListener::handleEvent): Added get();

        * bridge/objc/objc_instance.mm:
        (ObjcInstance::setGlobalException): Use copy/release instead of
        HardRetain/HardRelease.
        (ObjcInstance::moveGlobalExceptionToExecState): Ditto.

        * platform/Cursor.h: Use RetainPtr for PlatformCursor on Mac.

        * platform/Cursor.cpp:
        (WebCore::Cursor::platformCursor): Moved this to CursorMac for the Mac.

        * platform/Widget.cpp: Removed retain/releasePlatformWidget and made them
        both inlines in the header file.

        * platform/Widget.h: Fixed includes and added an include of RetainPtr.
        Made platformWidget and setPlatformWidget non-inline on the Mac platform.
        Made releasePlatformWidget and retainPlatformWidget empty inline functions
        for non-GTK platforms.

        * platform/graphics/mac/ImageMac.mm: Removed unneeded FoundationExtras.h
        include.

        * platform/mac/ClipboardMac.mm:
        (WebCore::cocoaTypeFromHTMLClipboardType): use RetainPtr for the return type.
        (WebCore::ClipboardMac::clearData): Use RetainPtr.
        (WebCore::ClipboardMac::getData): Ditto.
        (WebCore::ClipboardMac::setData): Ditto.

        * platform/mac/CursorMac.mm:
        (WebCore::createCustomCursor): Use RetainPtr for the return type.
        (WebCore::Cursor::ensurePlatformCursor): Removed all the calls to HardRetain
        since m_platformCursor is now a RetainPtr.
        (WebCore::Cursor::Cursor): Ditto.
        (WebCore::Cursor::operator=): Ditto. Also HardRelease.
        (WebCore::Cursor::~Cursor): Ditto.
        (WebCore::Cursor::platformCursor): Use get here.

        * platform/mac/FoundationExtras.h: Removed all the functions except for
        HardAutorelease. Later we can remove that one too.

        * platform/mac/ThemeMac.mm:
        (WebCore::setUpButtonCell): Changed this function to have a return value.
        Otherwise we end up taking a pointer (actually a reference) to a global
        variable, which does not do the right thing for GC.
        (WebCore::nonDefaultButton): Added.
        (WebCore::defaultButton): Added.
        (WebCore::button): Changed to call two separate functions with two separate
        global variables to avoid the problem with pointers to globals.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::~Widget): Removed unneeded call to releasePlatformWidget.
        (WebCore::Widget::platformWidget): Non-inline so we can comipile the header
        plain non-Objective-C C++.
        (WebCore::Widget::setPlatformWidget): Ditto.

        * platform/network/mac/WebCoreURLResponse.mm:
        (mimeTypeFromUTITree): Use RetainPtr for the return type.
        (-[NSURLResponse adjustMIMETypeIfNecessary]): Use RetainPtr.

2010-09-22  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] r68027 caused many crashes on the bots
        https://bugs.webkit.org/show_bug.cgi?id=46268

        Add the appropriate OwnPtrCairo.h include which has the OwnPtr
        specialization for Cairo paths. Without it, we will have memory
        corruption.

        * platform/graphics/cairo/PathCairo.cpp: Add OwnPtrCairo.h include.

2010-09-22  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: implement pausing on XHR
        https://bugs.webkit.org/show_bug.cgi?id=46086

        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setNativeBreakpoint):
        (WebCore::InspectorController::removeNativeBreakpoint):
        (WebCore::InspectorController::willInsertDOMNodeImpl):
        (WebCore::InspectorController::willRemoveDOMNodeImpl):
        (WebCore::InspectorController::willModifyDOMAttrImpl):
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
        (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
        (WebCore::InspectorController::inspectorControllerForNode):
        (WebCore::InspectorController::inspectorControllerForDocument):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::breakProgram):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorTimelineAgent.h:
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.reset):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/Settings.js:
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::url):

2010-09-22  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add local triangulation of cubic curve control points
        https://bugs.webkit.org/show_bug.cgi?id=45252

        Adding a localized triangulation algorithm which takes as input
        the four control points of a cubic curve segment and provides both
        triangles as well as the ability to walk the interior edges. The
        latter will be used later to fill the interior of shapes bounded
        by these cubic curves, quadratic curves and line segments.

        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
        (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
        (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
        (WebCore::LoopBlinnLocalTriangulator::reset):
        (WebCore::LoopBlinnLocalTriangulator::triangulate):
        (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
        (WebCore::LoopBlinnLocalTriangulator::addTriangle):
        (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
        (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
        (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
        (WebCore::LoopBlinnLocalTriangulator::getVertex):
        (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
        (WebCore::LoopBlinnLocalTriangulator::getTriangle):
        (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
        (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):

2010-09-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed, EFL build fix.

        * CMakeListsEfl.txt:
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::ClipboardEfl::ClipboardEfl):

2010-09-22  İsmail Dönmez  <ismail@namtrac.org>

        Reviewed by Andreas Kling.

        [Qt] Build fix for WinCE

        Add two missing stubs:
        - privateBrowsingStateChanged(bool)
        - bindingInstance()

        * platform/qt/TemporaryLinkStubsQt.cpp:
        (PluginView::privateBrowsingStateChanged):
        (PluginView::bindingInstance):

2010-09-22  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] FontCustomPlatformData.cpp leaks FT_Faces
        https://bugs.webkit.org/show_bug.cgi?id=16941

        Attach lifetime of the FontCustomPlatformData FT_Face to the resulting cairo_font_face_t.
        This will free the memory associated with the FT_Face once the cairo_font_face_t is 
        destroyed.

        No new tests as functionality should not change.

        * platform/graphics/cairo/FontCustomPlatformData.cpp:
        (WebCore::releaseCustomFontData): Moved this helper method to the top of the file
        and gave it a more descriptive name.
        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Changed the constructor to
        take the FT_Face and the buffer, so to better encapsulate the creation of the cairo
        face.
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a comment about the
        fate of the FT_Face to the destructor.
        (WebCore::createFontCustomPlatformData): Cleaned up the code here and moved some of the
        logic into the constructor.
        * platform/graphics/cairo/FontCustomPlatformData.h: Updated method definitions.

2010-09-22  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Kenneth Rohde Christiansen.

        PluginStrategy should satisfy the needs of Qt
        https://bugs.webkit.org/show_bug.cgi?id=45857
        No new functionality so no new tests.

        * plugins/PluginData.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/PluginStrategy.h: Added a |const Page*| argument to getPluginInfo.

2010-09-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Elements panel does not reflect changes to the text node values.
        https://bugs.webkit.org/show_bug.cgi?id=46166

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::characterDataModifiedImpl):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::characterDataModified):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::characterDataModified):
        * inspector/InspectorDOMAgent.h:
        (WebCore::EventListenerInfo::EventListenerInfo):
        (WebCore::InspectorDOMAgent::create):
        (WebCore::InspectorDOMAgent::cast):
        (WebCore::InspectorDOMAgent::cssStore):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._characterDataModified):
        (WebInspector.characterDataModified):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._characterDataModified):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):

2010-09-21  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] On Maemo platform, web style is missing for some inputs
        https://bugs.webkit.org/show_bug.cgi?id=46182

        * css/themeQtMaemo5.css:

2010-09-22  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed.

        [WINCE] Build fix for ResourceHandleWin after r67291.

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Replace Frame* parameter with NetworkingContext*.

2010-09-22  Chris Guillory   <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Crash due to bad cast in AXObjectCacheChromium.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=46237

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::postAccessibilityNotification):
        (WebCore::ChromeClient::didChangeAccessibilityObjectState):
        (WebCore::ChromeClient::didChangeAccessibilityObjectChildren):
        * page/chromium/ChromeClientChromium.h:

2010-09-22  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Add HRTFElevation files
        https://bugs.webkit.org/show_bug.cgi?id=45864

        No new tests since audio API is not yet implemented.

        * platform/audio/HRTFElevation.cpp: Added.
        (WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
        (WebCore::HRTFElevation::createForSubject):
        (WebCore::HRTFElevation::createByInterpolatingSlices):
        (WebCore::HRTFElevation::getKernelsFromAzimuth):
        * platform/audio/HRTFElevation.h: Added.
        (WebCore::HRTFElevation::kernelListL):
        (WebCore::HRTFElevation::kernelListR):
        (WebCore::HRTFElevation::elevationAngle):
        (WebCore::HRTFElevation::numberOfAzimuths):
        (WebCore::HRTFElevation::sampleRate):
        (WebCore::HRTFElevation::HRTFElevation):

2010-09-22  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [gtk] Use the smart pointers to handle cairo_path_t
        https://bugs.webkit.org/show_bug.cgi?id=46212

        Modified the code to use smart pointers with cairo_path_t
        variables.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::appendPathToCairoContext):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::drawTiledShadow):
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::Path):
        (WebCore::Path::operator=):
        (WebCore::Path::apply):
        (WebCore::Path::debugString):

2010-09-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Implement Image::loadPlatformResource
        https://bugs.webkit.org/show_bug.cgi?id=45873

        Load images from the resource directory.

        * platform/graphics/brew/ImageBrew.cpp: Added.
        (WebCore::Image::loadPlatformResource):

2010-09-22  Chris Rogers  <crogers@google.com>

        Reviewed by James Robinson.

        Add HRTFKernel files
        https://bugs.webkit.org/show_bug.cgi?id=45863

        No new tests since audio API is not yet implemented.

        * platform/audio/HRTFKernel.cpp: Added.
        (WebCore::extractAverageGroupDelay):
        (WebCore::HRTFKernel::HRTFKernel):
        (WebCore::HRTFKernel::createImpulseResponse):
        (WebCore::HRTFKernel::createInterpolatedKernel):
        * platform/audio/HRTFKernel.h: Added.
        (WebCore::HRTFKernel::create):
        (WebCore::HRTFKernel::fftFrame):
        (WebCore::HRTFKernel::fftSize):
        (WebCore::HRTFKernel::frameDelay):
        (WebCore::HRTFKernel::sampleRate):
        (WebCore::HRTFKernel::nyquist):
        (WebCore::HRTFKernel::HRTFKernel):

2010-09-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Chris Fleizach.

        Support keyboard operations for <input type=range>.
        https://bugs.webkit.org/show_bug.cgi?id=45803

        Increasing the value with Up/Right arrow keys by its step value,
        and decreasing with Down/Left arrow keys. If an input element has
        step=any attribute, increasing/decreasing by 1/100 of max-min.

        Note: This change is not useful on Mac because users can't set
        focus on range controls.

        Test: fast/forms/range-keyoperation.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
          Calls handleKeyEventForRange() for RANGE and key events.
        (WebCore::HTMLInputElement::handleKeyEventForRange):
        * html/HTMLInputElement.h: Add handleKeyEventForRange() declaration.

2010-09-22  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [Gtk] Incorrect exposure of list items whose children are elements
        https://bugs.webkit.org/show_bug.cgi?id=45383

        Set ATK_ROLE_LIST_ITEM looking for the role of the parent object

        Test: platform/gtk/accessibility/list-items-always-exposed.html

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Always include objects with ListItemRole in accessibility for GTK.
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getInterfaceMaskFromObject): Add some specific code to handle the
        special case of list markers by implementing AtkText when needed.

2010-09-22  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Make FilterEffects independent of SVG
        https://bugs.webkit.org/show_bug.cgi?id=46177

        Moving all FilterEffects from svg/graphics/filters to platform/graphics/filters, now that they
        are independent of SVG. Removed the SVG prefix of the files and updated the headers.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/DistantLightSource.h: Copied from WebCore/svg/graphics/filters/SVGDistantLightSource.h.
        * platform/graphics/filters/FEConvolveMatrix.cpp: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp.
        * platform/graphics/filters/FEConvolveMatrix.h: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h.
        * platform/graphics/filters/FEDiffuseLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp.
        * platform/graphics/filters/FEDiffuseLighting.h: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h.
        * platform/graphics/filters/FEDisplacementMap.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp.
        * platform/graphics/filters/FEDisplacementMap.h: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.h.
        * platform/graphics/filters/FEFlood.cpp: Copied from WebCore/svg/graphics/filters/SVGFEFlood.cpp.
        * platform/graphics/filters/FEFlood.h: Copied from WebCore/svg/graphics/filters/SVGFEFlood.h.
        * platform/graphics/filters/FELighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFELighting.cpp.
        * platform/graphics/filters/FELighting.h: Copied from WebCore/svg/graphics/filters/SVGFELighting.h.
        * platform/graphics/filters/FEMerge.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMerge.cpp.
        * platform/graphics/filters/FEMerge.h: Copied from WebCore/svg/graphics/filters/SVGFEMerge.h.
        * platform/graphics/filters/FEMorphology.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.cpp.
        * platform/graphics/filters/FEMorphology.h: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.h.
        * platform/graphics/filters/FEOffset.cpp: Copied from WebCore/svg/graphics/filters/SVGFEOffset.cpp.
        * platform/graphics/filters/FEOffset.h: Copied from WebCore/svg/graphics/filters/SVGFEOffset.h.
        * platform/graphics/filters/FESpecularLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp.
        * platform/graphics/filters/FESpecularLighting.h: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.h.
        * platform/graphics/filters/FETile.cpp: Copied from WebCore/svg/graphics/filters/SVGFETile.cpp.
        * platform/graphics/filters/FETile.h: Copied from WebCore/svg/graphics/filters/SVGFETile.h.
        * platform/graphics/filters/FETurbulence.cpp: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.cpp.
        * platform/graphics/filters/FETurbulence.h: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.h.
        * platform/graphics/filters/LightSource.cpp: Copied from WebCore/svg/graphics/filters/SVGLightSource.cpp.
        * platform/graphics/filters/LightSource.h: Copied from WebCore/svg/graphics/filters/SVGLightSource.h.
        * platform/graphics/filters/PointLightSource.h: Copied from WebCore/svg/graphics/filters/SVGPointLightSource.h.
        * platform/graphics/filters/SpotLightSource.h: Copied from WebCore/svg/graphics/filters/SVGSpotLightSource.h.
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEDistantLightElement.cpp:
        * svg/SVGFEFloodElement.h:
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFEPointLightElement.cpp:
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFESpotLightElement.cpp:
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.h:
        * svg/graphics/filters/SVGDistantLightSource.h: Removed.
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Removed.
        * svg/graphics/filters/SVGFEConvolveMatrix.h: Removed.
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Removed.
        * svg/graphics/filters/SVGFEDiffuseLighting.h: Removed.
        * svg/graphics/filters/SVGFEDisplacementMap.cpp: Removed.
        * svg/graphics/filters/SVGFEDisplacementMap.h: Removed.
        * svg/graphics/filters/SVGFEFlood.cpp: Removed.
        * svg/graphics/filters/SVGFEFlood.h: Removed.
        * svg/graphics/filters/SVGFELighting.cpp: Removed.
        * svg/graphics/filters/SVGFELighting.h: Removed.
        * svg/graphics/filters/SVGFEMerge.cpp: Removed.
        * svg/graphics/filters/SVGFEMerge.h: Removed.
        * svg/graphics/filters/SVGFEMorphology.cpp: Removed.
        * svg/graphics/filters/SVGFEMorphology.h: Removed.
        * svg/graphics/filters/SVGFEOffset.cpp: Removed.
        * svg/graphics/filters/SVGFEOffset.h: Removed.
        * svg/graphics/filters/SVGFESpecularLighting.cpp: Removed.
        * svg/graphics/filters/SVGFESpecularLighting.h: Removed.
        * svg/graphics/filters/SVGFETile.cpp: Removed.
        * svg/graphics/filters/SVGFETile.h: Removed.
        * svg/graphics/filters/SVGFETurbulence.cpp: Removed.
        * svg/graphics/filters/SVGFETurbulence.h: Removed.
        * svg/graphics/filters/SVGLightSource.cpp: Removed.
        * svg/graphics/filters/SVGLightSource.h: Removed.
        * svg/graphics/filters/SVGPointLightSource.h: Removed.
        * svg/graphics/filters/SVGSpotLightSource.h: Removed.

2010-09-22  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Add internetHandle to WebCoreSynchronousLoader.
        https://bugs.webkit.org/show_bug.cgi?id=46185

        For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle.
        This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle.

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::createInternetHandle):
        (WebCore::asynchronousInternetHandle):
        (WebCore::WebCoreSynchronousLoader::internetHandle):
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle.
        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle.

2010-09-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Chris Fleizach.

        [chromium] Remove unused sys/types.h in VDMXParser.cpp
        https://bugs.webkit.org/show_bug.cgi?id=46136

        sys/types.h is not needed here.

        * platform/graphics/chromium/VDMXParser.cpp:

2010-09-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Change the home directory path to the WebKit module directory
        https://bugs.webkit.org/show_bug.cgi?id=45895

        AEEFS_HOME_DIR denotes the currently running application's directory. 
        Change it to fs:/~<clsid> to use the WebKit module directory as home.

        * platform/brew/FileSystemBrew.cpp:
        (WebCore::homeDirectoryPath):

2010-09-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add dummy Pasteboard
        https://bugs.webkit.org/show_bug.cgi?id=46107

        Pasteboard is not supported yet. Add dummy implementation to avoid link errors.

        * platform/brew/PasteboardBrew.cpp: Added.
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::clear):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):

2010-09-21  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        Each EntityMaskIn* needs explanation
        https://bugs.webkit.org/show_bug.cgi?id=44833

        Added a description as to why we escape nbsp when serializing HTML documents but not when serializing XML documents.

        * editing/markup.cpp:

2010-09-21  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        cleanup: removeInlineStyleFromElement and extractInlineStyleToPushDown should be merged
        https://bugs.webkit.org/show_bug.cgi?id=46205

        Cleanup required to fix the bug 27818. Added the style extraction mechanism to removeInlineStyleFromElement
        and removeCSSStyle and replaced the call to extractInlineStyleToPushDown by a call to removeInlineStyleFromElement.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added extractedStyle argument.
        (WebCore::ApplyStyleCommand::removeCSSStyle): Added extractedStyle argument.
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement instead of
        extractInlineStyleToPushDown which has been deleted.
        * editing/ApplyStyleCommand.h:

2010-09-21  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed, rolling out r67982.
        http://trac.webkit.org/changeset/67982
        https://bugs.webkit.org/show_bug.cgi?id=45156

        Causes crashes on chromium testshell

        * WebCore.gypi:
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        (WebCore::Document::setFocusedNode):
        * editing/SelectionController.h:
        * editing/chromium/SelectionControllerChromium.cpp: Removed.
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * page/chromium/ChromeClientChromium.h:

2010-09-21  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by James Robinson.

        RenderImage::intrinsicSizeChanged crashes when m_imageResource is missing
        https://bugs.webkit.org/show_bug.cgi?id=46120

        Avoid applying operator -> to m_imageResource when its underlying pointer is NULL.

        * rendering/RenderImage.h:
        (WebCore::RenderImage::intrinsicSizeChanged): Checked m_imageResource.
        * html/HTMLImageElement.cpp:
        (HTMLImageElement::createRenderer): Fixed indentation.

2010-09-21  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        [chromium] Remove GLES2Context and WebGLES2Context
        https://bugs.webkit.org/show_bug.cgi?id=46131

        Removed now-obsolete GLES2Context and WebGLES2Context classes, and
        dependency on command buffer client code from WebCore. Built and
        tested 3D CSS and WebGL content on Mac OS X to test.

        * WebCore.gypi:
        * platform/chromium/GLES2Context.h: Removed.
        * platform/graphics/skia/ImageSkia.cpp:

2010-09-21  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the Windows build.

        * loader/Cache.cpp:
        (WebCore::Cache::makeResourcePurgeable):
        (WebCore::Cache::evict): Cast to int before using unary '-', to avoid an
        MSVC warning.

2010-09-21  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Geoffrey Garen and Darin Adler.

        Use purgeable memory to keep more dead resources in cache
        https://bugs.webkit.org/show_bug.cgi?id=44806
        <rdar://problem/8350901>

        This changes the behavior of dead resources in the WebCore cache to be the following if
        shouldMakeResourcePurgeableOnEviction() returns true.

        1. Dead resources in the cache are kept in non-purgeable memory.
        2. When we prune dead resources, instead of freeing them, we mark their memory as purgeable
        and keep the resources until the kernel reclaims the purgeable memory.

        By leaving the in-cache dead resources in dirty resident memory, we decrease the likelihood
        of the kernel claiming that memory and forcing us to refetch the resource (for example when
        a user presses back).

        And by having an unbounded number of resource objects using purgeable memory, we can use
        as much memory as is available on the machine. The trade-off is that the CachedResource
        object (and its member variables) are allocated in non-purgeable TC-malloc'd memory so
        we would see slightly more memory use due to this.

        * loader/Cache.cpp:
        (WebCore::Cache::resourceForURL): Adjust sizes appropriately if we made resource memory
        non-purgeable.
        (WebCore::Cache::pruneDeadResources): When removing dead resources, try first to mark their
        memory as purgeable. If not, evict the resource.
        (WebCore::Cache::makeResourcePurgeable): Added. Try to mark resource
        memory as purgeable. If successful, adjust the sizes so that we don't
        factor this resources size in the Cache size calculation.
        (WebCore::Cache::evict): Don't decrement size if we already did it in makeResourcePurgeable.
        (WebCore::Cache::dumpLRULists): Extra debug logging.
        * loader/Cache.h:
        (WebCore::Cache::shouldMakeResourcePurgeableOnEviction): Added. Indicates if the new
        behaviour is enabled.
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::allClientsRemoved): Do not mark memory as purgeable. The
        Cache class takes care of this.
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::destroyDecodedData): Ditto.
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::destroyDecodedData): Ditto.

2010-09-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7729077> Extending the selection to sentence boundary after a line break may select extra character
        https://bugs.webkit.org/show_bug.cgi?id=46232

        Test: editing/selection/extend-by-sentence-002.html

        * editing/visible_units.cpp:
        (WebCore::nextBoundary): The text iterator’s range end can be the position after
        the line break, in which case the next visible is actually after the first character
        of the next sentence. Instead, advance the text iterator past the newline character
        and return the beginning of its range, which is guaranteed to still be before the
        next sentence.

2010-09-21  Robert Hogan  <robert@webkit.org>

        Rubber-stamped by Ariya Hidayat.

        [Qt] Build fix against qt trunk

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::ContextShadow::beginShadowLayer):

2010-09-21  Tony Chang  <tony@chromium.org>

        Unreviewed, QT build fix.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::ClipboardQt):

2010-09-21  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
        https://bugs.webkit.org/show_bug.cgi?id=46134

        * WebCore.exp.in: Export __ZN7WebCore32applicationIsAOLInstantMessengerEv.
        * platform/mac/RuntimeApplicationChecks.h:
        * platform/mac/RuntimeApplicationChecks.mm:
        (WebCore::applicationIsAOLInstantMessenger): Determine if the embedding
        application is AOL Instant Messenger by checking the bundle identifier.

2010-09-21  Chris Guillory   <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Send webkit accessibility notifications to Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=45156

        * WebCore.gypi:
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        (WebCore::Document::setFocusedNode):
        * editing/SelectionController.h:
        * editing/chromium/SelectionControllerChromium.cpp: Added.
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * page/chromium/ChromeClientChromium.h:

2010-09-21  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [gtk] Move copyContextProperties outside the GraphicsContextCairo
        https://bugs.webkit.org/show_bug.cgi?id=46179.

        Moved the copyContextProperties function to the CairoUtilities so
        we can use it outside GraphicsContextCairo. We moved also the old
        gtk CairoUtilities file to GdkCairoUtilities and added the new
        file in the cairo directory.

        * GNUmakefile.am:
        * platform/graphics/cairo/CairoUtilities.cpp: Added.
        (WebCore::copyContextProperties):
        * platform/graphics/cairo/CairoUtilities.h: Added.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/gtk/CairoUtilities.cpp: Removed.
        * platform/graphics/gtk/CairoUtilities.h: Removed.
        * platform/graphics/gtk/GdkCairoUtilities.cpp: Added.
        (getCairoSurfacePixel):
        (getGdkPixbufPixel):
        (cairoImageSurfaceToGdkPixbuf):
        * platform/graphics/gtk/GdkCairoUtilities.h: Added.
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        * platform/graphics/gtk/ImageGtk.cpp:

2010-09-21  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Cleaned up LayerRendererChromium::prepareToDrawLayers
        logic to avoid unnecessary copy operations if the existing root layer
        contents aren't useful for scrolling. Also removed call to updateLayersRecursive()
        as the composited layer update is actually happening in the drawLayers() method.
        https://bugs.webkit.org/show_bug.cgi?id=46199


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

2010-09-21  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        Change Clipboard to use an enum instead of isForDragging = true/false
        https://bugs.webkit.org/show_bug.cgi?id=46004

        No new tests, since it's just a refactoring change.

        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::setDragImage):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::V8Clipboard::setDragImageCallback):
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard):
        (WebCore::Clipboard::setDropEffect):
        (WebCore::Clipboard::setEffectAllowed):
        * dom/Clipboard.h:
        (WebCore::Clipboard::isForCopyAndPaste):
        (WebCore::Clipboard::isForDragAndDrop):
        * editing/android/EditorAndroid.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/brew/EditorBrew.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/chromium/EditorChromium.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/haiku/EditorHaiku.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard):
        * editing/wx/EditorWx.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/efl/EventHandlerEfl.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/haiku/EventHandlerHaiku.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/android/ClipboardAndroid.cpp:
        (WebCore::ClipboardAndroid::ClipboardAndroid):
        (WebCore::ClipboardAndroid::clearData):
        (WebCore::ClipboardAndroid::clearAllData):
        (WebCore::ClipboardAndroid::setData):
        * platform/android/ClipboardAndroid.h:
        * platform/brew/ClipboardBrew.cpp:
        (WebCore::ClipboardBrew::ClipboardBrew):
        (WebCore::ClipboardBrew::clearData):
        (WebCore::ClipboardBrew::clearAllData):
        (WebCore::ClipboardBrew::setData):
        * platform/brew/ClipboardBrew.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardChromium::ClipboardChromium):
        (WebCore::ClipboardChromium::create):
        (WebCore::ClipboardChromium::getData):
        * platform/chromium/ClipboardChromium.h:
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::Editor::newGeneralClipboard):
        (WebCore::ClipboardEfl::ClipboardEfl):
        * platform/efl/ClipboardEfl.h:
        (WebCore::ClipboardEfl::create):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::Editor::newGeneralClipboard):
        (WebCore::Clipboard::create):
        (WebCore::ClipboardGtk::ClipboardGtk):
        (WebCore::dataObjectTypeFromHTMLClipboardType):
        (WebCore::ClipboardGtk::clearData):
        (WebCore::ClipboardGtk::getData):
        (WebCore::ClipboardGtk::setData):
        * platform/gtk/ClipboardGtk.h:
        (WebCore::ClipboardGtk::create):
        * platform/haiku/ClipboardHaiku.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardHaiku::ClipboardHaiku):
        * platform/haiku/ClipboardHaiku.h:
        (WebCore::ClipboardHaiku::create):
        * platform/mac/ClipboardMac.h:
        (WebCore::ClipboardMac::create):
        * platform/mac/ClipboardMac.mm:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardMac::ClipboardMac):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::~ClipboardQt):
        (WebCore::ClipboardQt::clearData):
        (WebCore::ClipboardQt::clearAllData):
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        (WebCore::ClipboardQt::writeURL):
        (WebCore::ClipboardQt::writeRange):
        (WebCore::ClipboardQt::writePlainText):
        * platform/qt/ClipboardQt.h:
        (WebCore::ClipboardQt::create):
        * platform/win/ClipboardWin.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardWin::ClipboardWin):
        (WebCore::ClipboardWin::clearData):
        (WebCore::ClipboardWin::clearAllData):
        (WebCore::ClipboardWin::setData):
        (WebCore::ClipboardWin::setExternalDataObject):
        * platform/win/ClipboardWin.h:
        (WebCore::ClipboardWin::create):
        * platform/win/EditorWin.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::ClipboardWx):
        * platform/wx/ClipboardWx.h:
        (WebCore::ClipboardWx::create):

2010-09-21  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Take isValueList() checks out of the asserts for memory safety.
        https://bugs.webkit.org/show_bug.cgi?id=46194

        Test: editing/execCommand/apply-style-text-decoration-crash.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::extractTextStyles):
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):

2010-09-21  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Fixing double translation of composited layers when scrolling.
        The scrolling transform is now applied by a separate layer maintained in
        the RenderLayerCompositor.
        https://bugs.webkit.org/show_bug.cgi?id=46193

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

2010-09-21  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46196, add marginStart/Before/End/After accessors to RenderBoxModelObject.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::marginBefore):
        (WebCore::RenderBox::marginAfter):
        (WebCore::RenderBox::marginStart):
        (WebCore::RenderBox::marginEnd):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderInline.cpp:
        (WebCore::computeMargin):
        (WebCore::RenderInline::marginLeft):
        (WebCore::RenderInline::marginRight):
        (WebCore::RenderInline::marginTop):
        (WebCore::RenderInline::marginBottom):
        (WebCore::RenderInline::marginStart):
        (WebCore::RenderInline::marginEnd):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::marginBefore):
        (WebCore::RenderInline::marginAfter):

2010-09-21  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46190, add borderStart/Before/End/After accessors to RenderBoxModelObject.

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::borderBefore):
        (WebCore::RenderBoxModelObject::borderAfter):
        (WebCore::RenderBoxModelObject::borderStart):
        (WebCore::RenderBoxModelObject::borderEnd):
        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight):
        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalWidth):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::borderStart):
        (WebCore::RenderTableCell::borderEnd):
        (WebCore::RenderTableCell::borderBefore):
        (WebCore::RenderTableCell::borderAfter):
        * rendering/RenderTableCell.h:

2010-09-21  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] 'make dist' should be fixed in preparation for the next release
        https://bugs.webkit.org/show_bug.cgi?id=46129

        * GNUmakefile.am: Update the sources list to include missing headers.

2010-09-21  David Hyatt  <hyatt@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=46188, make the cross-platform setPrinting method match the Mac version of the method.
        Specifically don't pass the page size down to subframes of the one you're printing.

        * page/Frame.cpp:
        (WebCore::Frame::setPrinting):

2010-09-21  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        Use WTF::Vector for storing formData in ResourceHandleWin.
        https://bugs.webkit.org/show_bug.cgi?id=46180

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onHandleCreated):
        (WebCore::ResourceHandle::onRequestComplete):

2010-09-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Check if the reply has been deleted before finishing a network request
        https://bugs.webkit.org/show_bug.cgi?id=46174

        A crash can happen with the following sequence:
        1. QNetworkReplyHandler::abort() emits reply->deleteLater()
        2. QNAM emits QNetworkReply::finished() -> calls QNetworkReplyHandler::finish()
        3. event loop would call reply->deleteLater()
        However a crash occurs since m_reply == 0 on step 2.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::finish):

2010-09-21  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Jeremy Orlow.

        Use @ to concatenate the database name and the database identifier when building
        the filename to use for indexed databases. That character is valid for filenames
        but cannot occur in a database identifier derived from a security origin.
        https://bugs.webkit.org/show_bug.cgi?id=46178

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::databaseFileName):

2010-09-21  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
        https://bugs.webkit.org/show_bug.cgi?id=45891

        Tested by existing DeviceOrientation tests.

        * dom/DeviceMotionClient.h:
        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::~DeviceMotionController):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationClient.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::~DeviceOrientationController):
        * dom/DeviceOrientationController.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyDeviceMotionClient::deviceOrientationControllerDestroyed):
        (WebCore::EmptyDeviceOrientationClient::deviceOrientationControllerDestroyed):
        * platform/mock/DeviceOrientationClientMock.h:
        (WebCore::DeviceOrientationClientMock::deviceOrientationControllerDestroyed):

2010-09-21  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Jeremy Orlow.

        Factor out the file name used for a given indexed database to a static method.
        https://bugs.webkit.org/show_bug.cgi?id=46090

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::openSQLiteDatabase):
        (WebCore::IDBFactoryBackendImpl::databaseFileName):
        * storage/IDBFactoryBackendImpl.h:

2010-09-21  Dirk Schulze  <krit@webkit.org>

        SVG Filter cleanup
        https://bugs.webkit.org/show_bug.cgi?id=45612

        Unreviewed change of epsilon back to a more tolerant value in RenderTreeAsText and made it a static const.
        This should turn the bots green again.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::hasFractions):

2010-09-21  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46125, convert table cell intrinsic padding from top/bottom-based
        to before/after-based.  A vertical text table can have intrinsic padding built into the left/right
        direction (and this allows the base class logical padding methods on RenderBoxModelObject to be safe to use).

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::RenderTableCell):
        (WebCore::RenderTableCell::paddingTop):
        (WebCore::RenderTableCell::paddingBottom):
        (WebCore::RenderTableCell::paddingLeft):
        (WebCore::RenderTableCell::paddingRight):
        (WebCore::RenderTableCell::paddingBefore):
        (WebCore::RenderTableCell::paddingAfter):
        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::setIntrinsicPaddingBefore):
        (WebCore::RenderTableCell::setIntrinsicPaddingAfter):
        (WebCore::RenderTableCell::setIntrinsicPadding):
        (WebCore::RenderTableCell::intrinsicPaddingBefore):
        (WebCore::RenderTableCell::intrinsicPaddingAfter):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        (WebCore::writeTextRun):

2010-09-21  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Filter cleanup
        https://bugs.webkit.org/show_bug.cgi?id=45612

        Second cleanup patch. Modified files to follow webkit style. Removed dependencies
        to SVG of most of the filter effects and prepared them to move from WebCore/svg/graphics/filters
        to WebCore/platform/graphics/filters/.
        Renamed calculateDrawingIntRect and calculateDrawingRect to requestedRegionOfInputImageData and
        drawingRegionOfInputImage to clarify the functionality and make both functions distinguishable.

        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEBlend.h:
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEColorMatrix.h:
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::apply):
        * platform/graphics/filters/FEComponentTransfer.h:
        (WebCore::ComponentTransferFunction::ComponentTransferFunction):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/Filter.h:
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::requestedRegionOfInputImageData):
        (WebCore::FilterEffect::drawingRegionOfInputImage):
        (WebCore::FilterEffect::effectContext):
        * platform/graphics/filters/FilterEffect.h:
        * platform/graphics/filters/ImageBufferFilter.cpp:
        * platform/graphics/filters/ImageBufferFilter.h:
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::apply):
        * platform/graphics/filters/SourceAlpha.h:
        (WebCore::SourceAlpha::isSourceInput):
        (WebCore::SourceAlpha::SourceAlpha):
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::apply):
        * platform/graphics/filters/SourceGraphic.h:
        (WebCore::SourceGraphic::isSourceInput):
        (WebCore::SourceGraphic::SourceGraphic):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::hasFractions):
        (WebCore::operator<<):
        * rendering/RenderTreeAsText.h:
        (WebCore::operator<<):
        * rendering/SVGRenderTreeAsText.cpp:
        * rendering/SVGRenderTreeAsText.h:
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::apply):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
        * svg/graphics/filters/SVGFEDiffuseLighting.h:
        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::apply):
        * svg/graphics/filters/SVGFEDisplacementMap.h:
        * svg/graphics/filters/SVGFEFlood.cpp:
        (WebCore::FEFlood::apply):
        (WebCore::FEFlood::externalRepresentation):
        * svg/graphics/filters/SVGFEFlood.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFELighting.cpp:
        (WebCore::FELighting::apply):
        * svg/graphics/filters/SVGFELighting.h:
        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::apply):
        * svg/graphics/filters/SVGFEMerge.h:
        * svg/graphics/filters/SVGFEMorphology.cpp:
        (WebCore::FEMorphology::apply):
        * svg/graphics/filters/SVGFEMorphology.h:
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):
        * svg/graphics/filters/SVGFEOffset.h:
        * svg/graphics/filters/SVGFESpecularLighting.cpp:
        * svg/graphics/filters/SVGFESpecularLighting.h:
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):
        * svg/graphics/filters/SVGFETile.h:
        * svg/graphics/filters/SVGFETurbulence.cpp:
        (WebCore::FETurbulence::apply):
        * svg/graphics/filters/SVGFETurbulence.h:

2010-09-20  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GTK] enhanced context menu for media elements
        https://bugs.webkit.org/show_bug.cgi?id=45021

        New items in the media Element context menu:
        - play/pause
        - mute/unmute
        - controls display control
        - switch to fullscreen (for video only)
        - loop playback control
        - copy media url to clipboard
        - open in new window

        Test: media/context-menu-actions.html

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        * platform/ContextMenuItem.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * platform/LocalizedStrings.h:
        * platform/android/LocalizedStringsAndroid.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * platform/brew/LocalizedStringsBrew.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::gtkStockIDFromContextMenuAction):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * platform/haiku/LocalizedStringsHaiku.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteMediaURL):
        (WebCore::HitTestResult::mediaSupportsFullscreen):
        (WebCore::HitTestResult::mediaElement):
        (WebCore::HitTestResult::toggleMediaControlsDisplay):
        (WebCore::HitTestResult::toggleMediaLoopPlayback):
        (WebCore::HitTestResult::enterFullscreenForVideo):
        (WebCore::HitTestResult::mediaControlsEnabled):
        (WebCore::HitTestResult::mediaLoopEnabled):
        (WebCore::HitTestResult::mediaPlaying):
        (WebCore::HitTestResult::toggleMediaPlayState):
        (WebCore::HitTestResult::mediaHasAudio):
        (WebCore::HitTestResult::mediaMuted):
        (WebCore::HitTestResult::toggleMediaMuteState):
        * rendering/HitTestResult.h:

2010-09-20  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Daniel Bates.

        [BREWMP] Handle tab key
        https://bugs.webkit.org/show_bug.cgi?id=46104

        In Brew MP, AVK_FUNCTION is the key code for tab.
        Process AVK_FUNCTION as tab in PlatformKeyboardEvent.

        * platform/brew/PlatformKeyboardEventBrew.cpp:
        (WebCore::keyIdentifierForBrewKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):

2010-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r67918.
        http://trac.webkit.org/changeset/67918
        https://bugs.webkit.org/show_bug.cgi?id=46162

        Broke chromium win compile (Requested by jamesr on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Renamed from WebCore/platform/graphics/skia/GlyphPageTreeNodeSkia.cpp.
        (WebCore::GlyphPage::fill):

2010-09-20  Daniel Bates  <dbates@rim.com>

        Reviewed by Dan Bernstein.

        Cleanup: Extract common border radii expansion code in
        RenderBoxModelObject::paintBoxShadow() into function
        https://bugs.webkit.org/show_bug.cgi?id=45934

        Extracted code for expanding and clamping the border radii
        into common function to remove duplicate code.

        No functionality was changed. So, no new tests.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::uniformlyExpandBorderRadii): Added.
        (WebCore::RenderBoxModelObject::paintBoxShadow): Moved common code to uniformlyExpandBorderRadii().

2010-09-20  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by James Robinson.

        Make sure skia is not Chromium specific
        https://bugs.webkit.org/show_bug.cgi?id=39672

        GGlyphPageTreeNodeLinux does not depend on Linux or Chromium.
        Move GGlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
        GlyphPageTreeNodeSkia.cpp so that other ports can use it.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.

2010-09-20  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Add NoStaticTables attributes to IDLs of FileSystem API for Worker support
        https://bugs.webkit.org/show_bug.cgi?id=46021

        Added NoStaticTables attributes to IDLs except for ones for Callbacks.
        (As NoStaticTables only affects non-callback interfaces.)

        * fileapi/DOMFileSystem.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryReader.idl:
        * fileapi/Entry.idl:
        * fileapi/EntryArray.idl:
        * fileapi/FileEntry.idl:
        * fileapi/Flags.idl:
        * fileapi/Metadata.idl:

2010-09-20  Nico Weber  <thakis@chromium.org>

        Reviewed by Adam Barth.

        Fix "operands of ? are integers of different signs" clang warnings
        https://bugs.webkit.org/show_bug.cgi?id=46157

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::advance):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcHeight):

2010-09-20  Vangelis Kokkevis  <vangelis@chromium.org>

        Unreviewed, rolling out r67906.
        http://trac.webkit.org/changeset/67906
        https://bugs.webkit.org/show_bug.cgi?id=46139

        Change causes chromium to crash when switching pages

        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.h:

2010-09-19  Antonio Gomes  <agomes@rim.com>

        Reviewed by Ojan Vafai.

        SelectionController::modify should ask EditingBehavior for platform specific behavior
        https://bugs.webkit.org/show_bug.cgi?id=41975

        As a follow up of the refactoring work in bug 39854, patch makes SelectionController::modify()
        stop accessing EditingBehaviorType values directly, and replaces its use by the EditingBehavior
        class.

        Since the "Settings*" parameter of the private SelectionController::modify() method becomes unneeded
        with this change (it was used to query the editingBehaviorType), patch merges two modify() methods.

        No behavior change, so no new tests.

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:

2010-09-20  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Making destructors of LayerChromium and ContentLayerChromium virtual
        so that the derived class' destructor code gets called.
        https://bugs.webkit.org/show_bug.cgi?id=46139

        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.h:

2010-09-20  Darin Adler  <darin@apple.com>

        Reviewed by James Robinson.

        Deprecate the inputType function on HTMLInputElement
        https://bugs.webkit.org/show_bug.cgi?id=46023

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement): Use m_deprecatedTypeNumber.
        (WebCore::HTMLInputElement::isValidValue): Use deprecatedInputType.
        (WebCore::HTMLInputElement::typeMismatch): Ditto.
        (WebCore::HTMLInputElement::valueMissing): Ditto.
        (WebCore::HTMLInputElement::rangeUnderflow): Ditto.
        (WebCore::HTMLInputElement::rangeOverflow): Ditto.
        (WebCore::HTMLInputElement::minimum): Ditto.
        (WebCore::HTMLInputElement::maximum): Ditto.
        (WebCore::HTMLInputElement::stepBase): Ditto.
        (WebCore::HTMLInputElement::stepMismatch): Ditto.
        (WebCore::HTMLInputElement::getStepParameters): Ditto.
        (WebCore::HTMLInputElement::getAllowedValueStep): Ditto.
        (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
        (WebCore::HTMLInputElement::shouldUseInputMethod): Ditto.
        (WebCore::HTMLInputElement::handleBlurEvent): Ditto.
        (WebCore::HTMLInputElement::setType): Added a comment.
        (WebCore::HTMLInputElement::updateType): Replaced the setInputType function
        with this. The type is always the type attribute value, so there is no value
        in passing the type string in, and this is an internal implementation detail,
        not a public function.
        (WebCore::createFormControlTypes): Use deprecatedNumberOfTypes.
        (WebCore::HTMLInputElement::formControlType): Use deprecatedInputType.
        (WebCore::HTMLInputElement::saveFormControlState): Ditto.
        (WebCore::HTMLInputElement::restoreFormControlState): Ditto.
        (WebCore::HTMLInputElement::accessKeyAction): Ditto.
        (WebCore::HTMLInputElement::mapToEntry): Ditto.
        (WebCore::HTMLInputElement::parseMappedAttribute): Ditto.
        (WebCore::HTMLInputElement::rendererIsNeeded): Ditto.
        (WebCore::HTMLInputElement::createRenderer): Ditto.
        (WebCore::HTMLInputElement::attach): Ditto.
        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Ditto.
        (WebCore::HTMLInputElement::appendFormData): Ditto.
        (WebCore::HTMLInputElement::isTextField): Ditto.
        (WebCore::HTMLInputElement::isTextType): Ditto.
        (WebCore::HTMLInputElement::setChecked): Ditto.
        (WebCore::HTMLInputElement::value): Ditto.
        (WebCore::HTMLInputElement::valueWithDefault): Ditto.
        (WebCore::HTMLInputElement::setSuggestedValue): Ditto.
        (WebCore::HTMLInputElement::setValue): Ditto.
        (WebCore::HTMLInputElement::parseToDouble): Ditto.
        (WebCore::HTMLInputElement::valueAsDate): Ditto.
        (WebCore::HTMLInputElement::setValueAsDate): Ditto.
        (WebCore::HTMLInputElement::valueAsNumber): Ditto.
        (WebCore::HTMLInputElement::setValueAsNumber): Ditto.
        (WebCore::HTMLInputElement::serializeForDateTimeTypes): Ditto.
        (WebCore::HTMLInputElement::serialize): Ditto.
        (WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Ditto.
        (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
        (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
        (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): Ditto.
        (WebCore::HTMLInputElement::files): Ditto.
        (WebCore::HTMLInputElement::isAcceptableValue): Ditto.
        (WebCore::HTMLInputElement::sanitizeValue): Ditto.
        (WebCore::HTMLInputElement::hasUnacceptableValue): Ditto.
        (WebCore::HTMLInputElement::needsActivationCallback): Ditto.
        (WebCore::HTMLInputElement::isRequiredFormControl): Ditto.
        (WebCore::HTMLInputElement::recalcWillValidate): Ditto.
        (WebCore::HTMLInputElement::parseToDateComponents): Ditto.
        (WebCore::HTMLInputElement::dataList): Ditto.
        (WebCore::HTMLInputElement::isSpeechEnabled): Ditto.

        * html/HTMLInputElement.h: Renamed InputType to DeprecatedInputType since it
        should not be used outside this class. Renamed numberOfTypes to
        dprecatedNumberOfTypes for the same reason. Changed all code to use
        deprecatedInputType function instead of m_type. Renamed inputType function
        to deprecatedInputType. Replaced public setInputType function with private
        updateType function. Renamed m_type data member to m_deprecatedTypeNumber.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::updateFromElement):
        Use setType instead of setInputType.

2010-09-20  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed; an attempt to fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

2010-09-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        When PDF image is directly composited, it does not display
        https://bugs.webkit.org/show_bug.cgi?id=46144
        
        In the "direct image compositing" code path, we set the image directly
        as the contents of the GraphicsLayer. However, this only works with
        bitmap images, so we have to check that the image is a bitmap image.

        Test: compositing/images/direct-pdf-image.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):

2010-09-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Crash when div with content set to image gets composited (Vimeo).
        https://bugs.webkit.org/show_bug.cgi?id=46140
        
        When CSS specifies that the content of an element is an image, we make
        a RenderImage, and setStyle() before setting the image resource. In this
        case the compositing code can attempt to access the cached image, which
        would crash with a null deref.
        
        Fix by null-checking m_imageResource.

        Test: compositing/images/content-image.html

        * rendering/RenderImage.h:
        (WebCore::RenderImage::cachedImage):

2010-09-20  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Dimitri Glazkov.

        Hashchange event is no longer a simple event, needs to be its own interface
        https://bugs.webkit.org/show_bug.cgi?id=36335
        
        Add HashChangeEvent.idl and supporting files/changes.

        Test: fast/loader/hashchange-event-properties.html

        The original version of this patch was written by
        Steven Lai <s3lance@hotmail.com>.

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::enqueueHashchangeEvent):
        * dom/Event.cpp:
        (WebCore::Event::isHashChangeEvent):
        * dom/Event.h:
        * dom/HashChangeEvent.h: Added.
        (WebCore::HashChangeEvent::isHashChangeEvent):
        (WebCore::HashChangeEvent::create):
        (WebCore::HashChangeEvent::initHashChangeEvent):
        (WebCore::HashChangeEvent::oldURL):
        (WebCore::HashChangeEvent::newURL):
        (WebCore::HashChangeEvent::HashChangeEvent):
        * dom/HashChangeEvent.idl: Added.
        * page/DOMWindow.idl:

2010-09-20  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
        https://bugs.webkit.org/show_bug.cgi?id=40961

        Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's
        legacy behavior when the start of a new token is encountered before the
        current token is finished parsing. The legacy behavior is to emit the
        current token as if it were properly closed and being parsing the new
        token.

        Test: fast/parser/pre-html5-parser-quirks.html

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
        m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
        (WebCore::usePreHTMLParserQuirks): Add a helper function to return the
        value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL.
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate
        m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an
        unexpected '<' is encountered in certain states, emit the current token
        and reprocess the '<' as the start of a new token.
        * html/parser/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::create):
        * html/parser/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate
        m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setUsePreHTML5ParserQuirks):
        (WebCore::Settings::usePreHTML5ParserQuirks):

2010-09-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46132, add an isVerticalBlockFlow() method to RenderStyle and
        patch callers so that they don't have to check both top-to-bottom and bottom-to-top block flow.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::availableLogicalWidth):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::logicalWidth):
        (WebCore::RenderStyle::logicalHeight):
        (WebCore::RenderStyle::logicalMinWidth):
        (WebCore::RenderStyle::logicalMaxWidth):
        (WebCore::RenderStyle::logicalMinHeight):
        (WebCore::RenderStyle::logicalMaxHeight):
        (WebCore::RenderStyle::borderStartWidth):
        (WebCore::RenderStyle::borderEndWidth):
        (WebCore::RenderStyle::marginStart):
        (WebCore::RenderStyle::marginEnd):
        (WebCore::RenderStyle::paddingStart):
        (WebCore::RenderStyle::paddingEnd):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::isVerticalBlockFlow):

2010-09-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46124, add support for logical padding accessors to
        RenderBoxModelObject.

        Added fast/blockflow/percentage-padding.html even though it fails, so that when more of layout is patched
        we can see it start passing.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paddingTop):
        (WebCore::RenderBoxModelObject::paddingBottom):
        (WebCore::RenderBoxModelObject::paddingLeft):
        (WebCore::RenderBoxModelObject::paddingRight):
        (WebCore::RenderBoxModelObject::paddingBefore):
        (WebCore::RenderBoxModelObject::paddingAfter):
        (WebCore::RenderBoxModelObject::paddingStart):
        (WebCore::RenderBoxModelObject::paddingEnd):
        * rendering/RenderBoxModelObject.h:

2010-09-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46126, add availableLogicalWidth() to RenderBox.
        
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::availableWidth):
        (WebCore::RenderBlock::availableLogicalWidth):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::availableLogicalWidth):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::availableWidth):

2010-09-20  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        [chromium] Change compositor to use GraphicsContext3D rather than GLES2Context
        https://bugs.webkit.org/show_bug.cgi?id=45912

        Switched Chromium's compositor to use GraphicsContext3D to issue
        its OpenGL rendering calls rather than the Chromium-specific
        GLES2Context and command buffer OpenGL implementation.

        The in-process software rendering path for GraphicsContext3D does
        not yet work with the compositor, at least not on Mac OS X. This
        will be worked on in subsequent bugs.

        Tested manually with 3D CSS, WebGL and video content on Mac OS X
        and Linux. No new tests.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::updateContents):
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
        (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
        (WebCore::CanvasLayerChromium::draw):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
        (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        (WebCore::ContentLayerChromium::updateTextureRect):
        (WebCore::ContentLayerChromium::draw):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::loadShader):
        (WebCore::LayerChromium::SharedValues::SharedValues):
        (WebCore::LayerChromium::SharedValues::~SharedValues):
        (WebCore::LayerChromium::createShaderProgram):
        (WebCore::LayerChromium::layerRendererContext):
        (WebCore::LayerChromium::drawTexturedQuad):
        (WebCore::LayerChromium::drawDebugBorder):
        (WebCore::LayerChromium::drawAsMask):
        (WebCore::LayerChromium::prepareForDraw):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::SharedValues::context):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::context):
        (WebCore::LayerRendererChromium::debugGLCall):
        (WebCore::LayerRendererChromium::useShader):
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::finish):
        (WebCore::LayerRendererChromium::present):
        (WebCore::LayerRendererChromium::getFramebufferPixels):
        (WebCore::LayerRendererChromium::createLayerTexture):
        (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
        (WebCore::LayerRendererChromium::drawLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::scissorToRect):
        (WebCore::LayerRendererChromium::makeContextCurrent):
        (WebCore::LayerRendererChromium::resizeOnscreenContent):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::createTextureRect):
        (WebCore::VideoLayerChromium::updateTextureRect):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::updateContents):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::flush):
        (WebCore::SharedGraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
        (WebCore::SharedGraphicsContext3D::copyTextureToParentTextureCHROMIUM):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:

2010-09-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46119, add logical accessors to RenderStyle.  Not used by any RenderObjects yet, so no tests
        until then.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::logicalWidth):
        (WebCore::RenderStyle::logicalHeight):
        (WebCore::RenderStyle::logicalMinWidth):
        (WebCore::RenderStyle::logicalMaxWidth):
        (WebCore::RenderStyle::logicalMinHeight):
        (WebCore::RenderStyle::logicalMaxHeight):
        (WebCore::RenderStyle::borderBeforeWidth):
        (WebCore::RenderStyle::borderAfterWidth):
        (WebCore::RenderStyle::borderStartWidth):
        (WebCore::RenderStyle::borderEndWidth):
        (WebCore::RenderStyle::marginBefore):
        (WebCore::RenderStyle::marginAfter):
        (WebCore::RenderStyle::marginStart):
        (WebCore::RenderStyle::marginEnd):
        (WebCore::RenderStyle::paddingBefore):
        (WebCore::RenderStyle::paddingAfter):
        (WebCore::RenderStyle::paddingStart):
        (WebCore::RenderStyle::paddingEnd):
        * rendering/style/RenderStyle.h:

2010-09-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46116, implement block-flow-aware logical properties.
        
        This patch adds all the logical properties from the CSS3 Writing Mode draft for margins, padding, border,
        width and height.

        Added fast/css/logical-property-resolution.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::resolveToPhysicalProperty):
        (WebCore::CSSProperty::resolveDirectionAwareProperty):
        * css/CSSProperty.h:
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):

2010-09-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=46114, two tables repaint tests failing on bots.

        Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell.
        
        The layout delta is then removed after layout has happened when the repaint check is done.  This change
        makes cell layout match block child layout, and now the cells have the correct new location up front
        when laying out (a necessity for pagination).

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2010-09-20  Jacob Dinu  <dinu.jacob@nokia.com>

        Reviewed by Adam Barth.

        When loading a cached page, dispatchDidCommitLoad is called after FrameLoader::open so
        that all initialzations are done before calling client dispatchDidCommitLoad to avoid
        client from accessing incorrect data.
        https://bugs.webkit.org/show_bug.cgi?id=41155

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::transitionToCommitted):

2010-09-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adam Roben.

        REGRESSION: alternating animation direction doesn't work on Windows
        https://bugs.webkit.org/show_bug.cgi?id=46017
        
        Animation-direction on Windows was broken because bitfields on
        Windows are signed.
        
        Fixed by making m_direction an unsigned in the bitfield, and
        casting in the accessor.

        Test: animations/animation-direction.html

        * platform/animation/Animation.h:
        (WebCore::Animation::direction):

2010-09-20  Enrica Casucci  <enrica@apple.com>

        Reviewed by Sam Weinig.

        Pasteboard doesn't work in WebKit2.
        https://bugs.webkit.org/show_bug.cgi?id=42317
        <rdar://problem/7660537>

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Changed parameter to
        be a Vector of RefPtr.
        * page/EditorClient.h:
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragmentWithRtf): Stylistic changes.

2010-09-20  Yong Li  <yoli@rim.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=39966
        Make compareBorders() a consistent compare function which can beused by qsort().

        New test case added: LayoutTests/tables/sort-collapsed-border-styles.html

        * rendering/RenderTableCell.cpp:
        (WebCore::compareBorders):
        (WebCore::chooseBorder):
        (WebCore::RenderTableCell::collapsedLeftBorder):
        (WebCore::RenderTableCell::collapsedRightBorder):
        (WebCore::RenderTableCell::collapsedTopBorder):
        (WebCore::RenderTableCell::collapsedBottomBorder):
        (WebCore::compareBorderStylesForQSort):

2010-09-20  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for PluginViewWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=46033

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paintIntoTransformedContext):
        (WebCore::PluginView::snapshot):

2010-09-18  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed.
        
        This happens because the site always has a document width that will exceed the page width.
        We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit.
        The fix for the issue is to cap the right layout overflow to the page width and to just clip out
        any additional excess.  This is the code in FrameView.cpp.
        
        This patch also cleans up table cell invalidation to reduce the # of relayouts.  This change is not
        a correctness fix.  It's just performance.
        
        I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls
        back in when really printing.

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutForPagination):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::positionNewFloats):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::markForPaginationRelayout):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2010-09-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: merge Inspector client runtime events into the serialized inspector state object.

        Drive-by rename getBackendSettings -> getInspectorState to better reflect the nature of the data.

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

        * inspector/Inspector.idl:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::updateInspectorStateCookie):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::saveApplicationSettings):
        (WebCore::InspectorController::getInspectorState):
        (WebCore::InspectorController::updateInspectorStateCookie):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::getSettings):
        (WebCore::InspectorController::setMonitoringXHREnabled):
        (WebCore::InspectorController::restoreDebugger):
        (WebCore::InspectorController::restoreProfiler):
        (WebCore::InspectorController::setResourceTrackingEnabled):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        * inspector/InspectorController.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings.initialize):
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone.populateInspectorState):
        (WebInspector.doLoadedDone):

2010-09-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Filter cleanup
        https://bugs.webkit.org/show_bug.cgi?id=45612
        
        All effect inputs are stored in a Vector in FilterEffect instead of passing them via constructors to every effect type.
        This simplifies the primitive subregion logic and centralizes it in determineFilterPrimitiveSubregion.
        Just SourceGraphic, SourceAlpha and FETile still calculate filter primitive subregions on
        their own. Working on it in a followup patch.
        The subregions code is SVG specific and moving this calculation to FilterEffect is an
        intermediate step before moving it to RenderSVGResourceFilterPrimitive in a following patch.
        The new FilterEffectVector will also make it possible to add code to determine the
        smallest used region of an effect and will help save memory and resources in the future.
        subRegion got renamed to filterPrimitiveSubregion to match the name scheme. scaledSubRegion got
        renamed to repaintRectInLocalCoordinates since this is its proper meaning.
        Removed unnecessary member variables and functions from FilterEffect.

        No new tests added since the functionality didn't change.

        * platform/graphics/cairo/GraphicsContextCairo.cpp: scaledSubRegion was renamed to repaintRectInLocalCoordinates.
        (WebCore::GraphicsContext::createShadowMask):
        * platform/graphics/filters/FEBlend.cpp: Removed Filter effect inputs from constructor.
        (WebCore::FEBlend::FEBlend):
        (WebCore::FEBlend::create):
        (WebCore::FEBlend::apply): Call inputFilterEffects to get input filter primitives.
        (WebCore::FEBlend::externalRepresentation): Call inputFilterEffects to get input filter primitives.
        * platform/graphics/filters/FEBlend.h:
        * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
        (WebCore::FEColorMatrix::FEColorMatrix):
        (WebCore::FEColorMatrix::create):
        (WebCore::FEColorMatrix::apply):
        (WebCore::FEColorMatrix::externalRepresentation):
        * platform/graphics/filters/FEColorMatrix.h:
        * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
        (WebCore::FEComponentTransfer::FEComponentTransfer):
        (WebCore::FEComponentTransfer::create):
        (WebCore::FEComponentTransfer::apply):
        (WebCore::FEComponentTransfer::externalRepresentation):
        * platform/graphics/filters/FEComponentTransfer.h:
        * platform/graphics/filters/FEComposite.cpp: Ditto.
        (WebCore::FEComposite::FEComposite):
        (WebCore::FEComposite::create):
        (WebCore::FEComposite::apply):
        (WebCore::FEComposite::externalRepresentation):
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
        (WebCore::FEGaussianBlur::FEGaussianBlur):
        (WebCore::FEGaussianBlur::create):
        (WebCore::FEGaussianBlur::apply):
        (WebCore::FEGaussianBlur::externalRepresentation):
        * platform/graphics/filters/FEGaussianBlur.h:
        * platform/graphics/filters/Filter.h:
        (WebCore::Filter::determineFilterPrimitiveSubregion): Renamed from calculateEffectSubRegion to match name scheme.
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::FilterEffect):
        (WebCore::FilterEffect::determineFilterPrimitiveSubregion): The main place for subregion calculation.
        (WebCore::FilterEffect::calculateDrawingIntRect): Takes repaintRectInLocalCoordinates now.
        (WebCore::FilterEffect::calculateDrawingRect): ditto.
        (WebCore::FilterEffect::getEffectContext): Check if ImageBuffer was created.
        * platform/graphics/filters/FilterEffect.h: Changed names to match name scheme. Removed unnecessary member variables and functions.
            Seperate SVG specific member variables and functions. Will get removed in followup patches.
        (WebCore::FilterEffect::resultImage):
        (WebCore::FilterEffect::setEffectBuffer):
        (WebCore::FilterEffect::inputEffect):
        (WebCore::FilterEffect::inputEffects):
        (WebCore::FilterEffect::numberOfinputEffects):
        (WebCore::FilterEffect::isAlphaImage):
        (WebCore::FilterEffect::setIsAlphaImage):
        (WebCore::FilterEffect::repaintRectInLocalCoordinates):
        (WebCore::FilterEffect::setRepaintRectInLocalCoordinates):
        (WebCore::FilterEffect::isSourceInput):
        (WebCore::FilterEffect::hasX):
        (WebCore::FilterEffect::setHasX):
        (WebCore::FilterEffect::hasY):
        (WebCore::FilterEffect::setHasY):
        (WebCore::FilterEffect::hasWidth):
        (WebCore::FilterEffect::setHasWidth):
        (WebCore::FilterEffect::hasHeight):
        (WebCore::FilterEffect::setHasHeight):
        (WebCore::FilterEffect::filterPrimitiveSubregion):
        (WebCore::FilterEffect::setFilterPrimitiveSubregion):
        (WebCore::FilterEffect::effectBoundaries):
        (WebCore::FilterEffect::setEffectBoundaries):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::determineFilterPrimitiveSubregion): Renamed to match name scheme.
        * platform/graphics/filters/SourceAlpha.h:
        (WebCore::SourceAlpha::isSourceInput):
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::determineFilterPrimitiveSubregion): Ditto.
        * platform/graphics/filters/SourceGraphic.h:
        (WebCore::SourceGraphic::isSourceInput):
        * rendering/RenderSVGResourceFilter.cpp: Adapt to renames in FilterEffect.
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * svg/SVGFEBlendElement.cpp: Constructor of FEBlend doesn't take input effects. Adding them afterwards.
        (WebCore::SVGFEBlendElement::build):
        * svg/SVGFEColorMatrixElement.cpp: Ditto.
        (WebCore::SVGFEColorMatrixElement::build):
        * svg/SVGFEComponentTransferElement.cpp: Ditto.
        (WebCore::SVGFEComponentTransferElement::build):
        * svg/SVGFECompositeElement.cpp: Ditto.
        (WebCore::SVGFECompositeElement::build):
        * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
        (WebCore::SVGFEDiffuseLightingElement::build):
        * svg/SVGFEDisplacementMapElement.cpp: Ditto.
        (WebCore::SVGFEDisplacementMapElement::build):
        * svg/SVGFEGaussianBlurElement.cpp: Ditto.
        (WebCore::SVGFEGaussianBlurElement::build):
        * svg/SVGFEMergeElement.cpp: Ditto.
        (WebCore::SVGFEMergeElement::build):
        * svg/SVGFEMorphologyElement.cpp: Ditto.
        (WebCore::SVGFEMorphologyElement::build):
        * svg/SVGFEOffsetElement.cpp: Ditto.
        (WebCore::SVGFEOffsetElement::build):
        * svg/SVGFESpecularLightingElement.cpp: Ditto.
        (WebCore::SVGFESpecularLightingElement::build):
        * svg/SVGFETileElement.cpp: Ditto.
        (WebCore::SVGFETileElement::build):
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Ditto.
        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
        (WebCore::FEConvolveMatrix::create):
        (WebCore::FEConvolveMatrix::apply):
        (WebCore::FEConvolveMatrix::externalRepresentation):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
        (WebCore::FEDiffuseLighting::create):
        (WebCore::FEDiffuseLighting::externalRepresentation):
        * svg/graphics/filters/SVGFEDiffuseLighting.h:
        * svg/graphics/filters/SVGFEDisplacementMap.cpp: Ditto.
        (WebCore::FEDisplacementMap::FEDisplacementMap):
        (WebCore::FEDisplacementMap::create):
        (WebCore::FEDisplacementMap::apply):
        (WebCore::FEDisplacementMap::externalRepresentation):
        * svg/graphics/filters/SVGFEDisplacementMap.h:
        * svg/graphics/filters/SVGFEFlood.cpp: Ditto.
        (WebCore::FEFlood::apply):
        * svg/graphics/filters/SVGFEImage.cpp: Ditto.
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFELighting.cpp: Ditto.
        (WebCore::FELighting::FELighting):
        (WebCore::FELighting::apply):
        * svg/graphics/filters/SVGFELighting.h:
        * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
        (WebCore::FEMerge::FEMerge):
        (WebCore::FEMerge::create):
        (WebCore::FEMerge::apply):
        (WebCore::FEMerge::externalRepresentation):
        * svg/graphics/filters/SVGFEMerge.h:
        * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
        (WebCore::FEMorphology::FEMorphology):
        (WebCore::FEMorphology::create):
        (WebCore::FEMorphology::apply):
        (WebCore::FEMorphology::externalRepresentation):
        * svg/graphics/filters/SVGFEMorphology.h:
        * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
        (WebCore::FEOffset::FEOffset):
        (WebCore::FEOffset::create):
        (WebCore::FEOffset::apply):
        (WebCore::FEOffset::externalRepresentation):
        * svg/graphics/filters/SVGFEOffset.h:
        * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
        (WebCore::FESpecularLighting::FESpecularLighting):
        (WebCore::FESpecularLighting::create):
        (WebCore::FESpecularLighting::externalRepresentation):
        * svg/graphics/filters/SVGFESpecularLighting.h:
        * svg/graphics/filters/SVGFETile.cpp: Ditto.
        (WebCore::FETile::FETile):
        (WebCore::FETile::create):
        (WebCore::FETile::determineFilterPrimitiveSubregion): Renamed to match name scheme.
        (WebCore::FETile::apply):
        (WebCore::FETile::externalRepresentation):
        * svg/graphics/filters/SVGFETile.h:
        * svg/graphics/filters/SVGFilter.cpp: Renamed itemBox to targetBoundingBox to match name scheme.
        (WebCore::SVGFilter::SVGFilter):
        (WebCore::SVGFilter::determineFilterPrimitiveSubregion): Renamed to match name scheme.
        (WebCore::SVGFilter::create):
        * svg/graphics/filters/SVGFilter.h:
        (WebCore::SVGFilter::sourceImageRect):

2010-09-20  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: highlight DOM node when hover on link element or DOM breakpoint
        https://bugs.webkit.org/show_bug.cgi?id=45897

        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointItem):
        (WebInspector.JSBreakpointItem):
        (WebInspector.DOMBreakpointItem):
        (WebInspector.DOMBreakpointItem.prototype.compareTo):
        (WebInspector.DOMBreakpointItem.prototype._breakpointClicked):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.hide):
        (WebInspector.ElementsPanel.prototype.reset):
        (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
        (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
        (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
        (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
        (WebInspector.ElementsTreeOutline.prototype._onmouseout):
        * inspector/front-end/inspector.js:
        (WebInspector.highlightDOMNode):
        (WebInspector.highlightDOMNodeForTwoSeconds):
        (WebInspector.wireElementWithDOMNode):
        (WebInspector._updateFocusedNode):
        (WebInspector.reset):
        (WebInspector.updateFocusedNode):

2010-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r67749.
        http://trac.webkit.org/changeset/67749
        https://bugs.webkit.org/show_bug.cgi?id=46068

        breaking ToT chromium canary build (Requested by shans on
        #webkit).

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::registeredExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:
        * loader/EmptyClients.h:
        * loader/FrameLoaderClient.h:

2010-09-19  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 46065 - Unify implementation of ToInt32 and ToUInt32, don't use fmod.

        These methods implement the same conversion (see discussion in the notes
        of sections of 9.5 and 9.6 of the spec), only differing in how the result
        is interpretted.

        Removing JSValue::toInt32 (since this has weird, non-spec function).
        A couple of places in the binding are using this method, so adding
        finiteInt32Value to the bindings to maintain current behaviour.

        Test: fast/js/toInt32UInt32.html

        * bindings/js/JSDOMBinding.h:
        (WebCore::finiteInt32Value):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::add):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSVGPODListCustom.h:
        (WebCore::JSSVGPODListCustom::getItem):
        (WebCore::JSSVGPODListCustom::insertItemBefore):
        (WebCore::JSSVGPODListCustom::replaceItem):
        (WebCore::JSSVGPODListCustom::removeItem):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):

2010-09-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] clipBoundingRect() should return rect relevant to current layer
        https://bugs.webkit.org/show_bug.cgi?id=46059

        r65791 inadvertently changed clipBoundingRect() to always use the GC painter
        without checking the TransparencyLayer stack first.

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

2010-09-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Replace WKBundleRangeRef with WKBundleRangeHandleRef.
        https://bugs.webkit.org/show_bug.cgi?id=46054

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:

2010-09-19  Patrick Gansterer  <paroga@paroga.com>

        Unreviewed.

        [WINCE] Buildfix for Gradient after r67801.

        * platform/graphics/Gradient.h:
        * platform/graphics/wince/GradientWinCE.cpp:
        (WebCore::Gradient::getStops):

2010-09-19  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Add is<input type>() functions to WebInputElement
        https://bugs.webkit.org/show_bug.cgi?id=46035

        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isText): Added. It is used by WebKit/chromium.

2010-09-18  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Path: Remove unused member variable
        https://bugs.webkit.org/show_bug.cgi?id=46048

        Path::m_lastMoveToIndex is not used for anything, so remove it.

        * platform/graphics/Path.h:
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::Path):
        (WebCore::Path::operator=):
        (WebCore::Path::moveTo):

2010-09-18  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Use AtomicString insted of String in XMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=45990

        Create AtomicString as early as possible.
        This can avoid unnecessary memcpy of String content.

        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::toAtomicString):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::startElementNs):

2010-09-18  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] fast/dom/dataset-gc.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=45426

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * dom/DOMStringMap.h:
        * dom/DatasetDOMStringMap.h:
        (WebCore::DatasetDOMStringMap::element):

2010-09-18  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        Gradient: Fast-path for the ideal case in sortStopsIfNecessary()
        https://bugs.webkit.org/show_bug.cgi?id=46045

        Avoid calling std::stable_sort for 2-stop gradients that are already in order.

        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::sortStopsIfNecessary):

2010-09-18  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Andreas Kling.

        [BREWMP] Fix a typo in key code name
        https://bugs.webkit.org/show_bug.cgi?id=46003

        AVK_CLR is the right Brew MP key code name for VK_BACK.

        * platform/brew/PlatformKeyboardEventBrew.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

2010-09-18  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        Gradient: Pre-reserve space for 2 color stops
        https://bugs.webkit.org/show_bug.cgi?id=46044

        Most gradients have only 2 color stops, pre-reserve space for these in m_stops
        to avoid growing the vector dynamically in the common case.

        * platform/graphics/Gradient.h:

2010-09-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r67792.
        http://trac.webkit.org/changeset/67792
        https://bugs.webkit.org/show_bug.cgi?id=45976

        Broke over a hundred SVG tests.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawImageBuffer):
        * platform/graphics/GraphicsContext.h:

2010-09-18  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Simon Fraser.

        webkitAnimationEnd event doesn't fire when skipping over final iteration
        https://bugs.webkit.org/show_bug.cgi?id=46010
        
        It's possible for AnimationBase::fireAnimationEventsIfNeeded to decide
        that the animation is ended while we're in the looping state, if the
        animation timer never fires during an iteration. That then fails the
        assert in AnimationBase::updateStateMachine (we don't expect
        AnimationStateInputEndTimerFired while in the looping state). Jump the
        state to AnimationStateEnding, which is more accurate.

        Test: animations/animation-end-event-short-iterations.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):

2010-09-18  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Andreas Kling.

        [BREWMP] Wrong key code type in keyIdentifierForBrewKeyCode
        https://bugs.webkit.org/show_bug.cgi?id=46005

        The type of key code in Brew MP is uint16. Take uint16 instead of int16 in keyIdentifierForBrewKeyCode.

        * platform/brew/PlatformKeyboardEventBrew.cpp:
        (WebCore::keyIdentifierForBrewKeyCode):

2010-09-18  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Oliver Hunt.

        Canvas drawImage with source or destination widths/heights of -1 renders incorrectly.
        https://bugs.webkit.org/show_bug.cgi?id=45976

        Specifying a -1 width or height for either the source or destination rectangle in drawImage
        get improperly drawn with -1 replaced as the corresponding image width or height. This was because
        the value -1 was being passed around to signal non-specified widths and heights and thus was
        interpreted lower down in the drawImage implementation which disallowed any calls that actually
        wanted to use -1 as the widths or heights. Fixed this by moving the default logic up and not using
        -1 in-band signaling to denote default behavior.

        Tests: canvas/philip/tests/2d.drawImage.negativeOneDest.html
               canvas/philip/tests/2d.drawImage.negativeOneSource.html

        * platform/graphics/GraphicsContext.cpp: Removed -1 in-band signals and replaced cascased calls to have
        the desired replaces for unspecified widths and heights earlier on.
        * platform/graphics/GraphicsContext.h: Removed faulty default value.

2010-09-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Enable Platform Strategies on Qt

        [Qt] Turn on PLATFORM_STRATEGIES
        https://bugs.webkit.org/show_bug.cgi?id=45831

        * WebCore.pro: Adding/removing implementation files
        * platform/qt/Language.cpp: Added, WebCore::defaultLanguage() was
        moved from platform/qt/Localizations.cpp
        (WebCore::defaultLanguage): Moved from Localizations.cpp
        * platform/qt/Localizations.cpp: Removed (code is now inside
        WebCoreSupport/WebPlatformStrategies.cpp)
        * plugins/qt/PluginDataQt.cpp: Removed (idem)

2010-09-18  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Rename Wince files to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=37287

        * loader/icon/wince/IconDatabaseWinCE.cpp: Copied from WebCore/loader/icon/wince/IconDatabaseWince.cpp.
        * loader/icon/wince/IconDatabaseWince.cpp: Removed.
        * page/wince/FrameWinCE.cpp: Copied from WebCore/page/wince/FrameWince.cpp.
        * page/wince/FrameWince.cpp: Removed.
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/wince/ColorWinCE.cpp: Copied from WebCore/platform/graphics/wince/ColorWince.cpp.
        * platform/graphics/wince/ColorWince.cpp: Removed.
        * platform/graphics/wince/FontCacheWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontCacheWince.cpp.
        * platform/graphics/wince/FontCacheWince.cpp: Removed.
        * platform/graphics/wince/FontWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontWince.cpp.
        * platform/graphics/wince/FontWince.cpp: Removed.
        * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Copied from WebCore/platform/graphics/wince/GlyphPageTreeNodeWince.cpp.
        * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Removed.
        * platform/graphics/wince/GradientWinCE.cpp: Copied from WebCore/platform/graphics/wince/GradientWince.cpp.
        * platform/graphics/wince/GradientWince.cpp: Removed.
        * platform/graphics/wince/GraphicsContextWinCE.cpp: Copied from WebCore/platform/graphics/wince/GraphicsContextWince.cpp.
        * platform/graphics/wince/GraphicsContextWince.cpp: Removed.
        * platform/graphics/wince/ImageBufferWinCE.cpp: Copied from WebCore/platform/graphics/wince/ImageBufferWince.cpp.
        * platform/graphics/wince/ImageBufferWince.cpp: Removed.
        * platform/graphics/wince/MediaPlayerPrivateWinCE.h: Copied from WebCore/platform/graphics/wince/MediaPlayerPrivateWince.h.
        * platform/graphics/wince/MediaPlayerPrivateWince.h: Removed.
        * platform/graphics/wince/PathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PathWince.cpp.
        * platform/graphics/wince/PathWince.cpp: Removed.
        * platform/graphics/wince/PlatformPathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PlatformPathWince.cpp.
        * platform/graphics/wince/PlatformPathWinCE.h: Copied from WebCore/platform/graphics/wince/PlatformPathWince.h.
        * platform/graphics/wince/PlatformPathWince.cpp: Removed.
        * platform/graphics/wince/PlatformPathWince.h: Removed.
        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Copied from WebCore/platform/graphics/wince/SimpleFontDataWince.cpp.
        * platform/graphics/wince/SimpleFontDataWince.cpp: Removed.
        * platform/graphics/wince/WinCEGraphicsExtras.h: Copied from WebCore/platform/graphics/wince/WinceGraphicsExtras.h.
        * platform/graphics/wince/WinceGraphicsExtras.h: Removed.
        * platform/text/wince/TextBoundariesWinCE.cpp: Copied from WebCore/platform/text/wince/TextBoundariesWince.cpp.
        * platform/text/wince/TextBoundariesWince.cpp: Removed.
        * platform/text/wince/TextBreakIteratorWinCE.cpp: Copied from WebCore/platform/text/wince/TextBreakIteratorWince.cpp.
        * platform/text/wince/TextBreakIteratorWince.cpp: Removed.
        * platform/wince/CursorWinCE.cpp: Copied from WebCore/platform/wince/CursorWince.cpp.
        * platform/wince/CursorWince.cpp: Removed.
        * platform/wince/DragDataWinCE.cpp: Copied from WebCore/platform/wince/DragDataWince.cpp.
        * platform/wince/DragDataWince.cpp: Removed.
        * platform/wince/DragImageWinCE.cpp: Copied from WebCore/platform/wince/DragImageWince.cpp.
        * platform/wince/DragImageWince.cpp: Removed.
        * platform/wince/EditorWinCE.cpp: Copied from WebCore/platform/wince/EditorWince.cpp.
        (WebCore::Editor::newGeneralClipboard):
        * platform/wince/EditorWince.cpp: Removed.
        * platform/wince/FileChooserWinCE.cpp: Copied from WebCore/platform/wince/FileChooserWince.cpp.
        * platform/wince/FileChooserWince.cpp: Removed.
        * platform/wince/FileSystemWinCE.cpp: Copied from WebCore/platform/wince/FileSystemWince.cpp.
        * platform/wince/FileSystemWince.cpp: Removed.
        * platform/wince/KURLWinCE.cpp: Copied from WebCore/platform/wince/KURLWince.cpp.
        * platform/wince/KURLWince.cpp: Removed.
        * platform/wince/KeygenWinCE.cpp: Copied from WebCore/platform/wince/KeygenWince.cpp.
        * platform/wince/KeygenWince.cpp: Removed.
        * platform/wince/MIMETypeRegistryWinCE.cpp: Copied from WebCore/platform/wince/MIMETypeRegistryWince.cpp.
        * platform/wince/MIMETypeRegistryWince.cpp: Removed.
        * platform/wince/PasteboardWinCE.cpp: Copied from WebCore/platform/wince/PasteboardWince.cpp.
        * platform/wince/PasteboardWince.cpp: Removed.
        * platform/wince/SearchPopupMenuWinCE.cpp: Copied from WebCore/platform/wince/SearchPopupMenuWince.cpp.
        * platform/wince/SearchPopupMenuWince.cpp: Removed.
        * platform/wince/SharedTimerWinCE.cpp: Copied from WebCore/platform/wince/SharedTimerWince.cpp.
        * platform/wince/SharedTimerWince.cpp: Removed.
        * rendering/RenderThemeWinCE.cpp: Copied from WebCore/rendering/RenderThemeWince.cpp.
        (WebCore::RenderThemeWinCE::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeWinCE::RenderThemeWinCE):
        (WebCore::RenderThemeWinCE::~RenderThemeWinCE):
        (WebCore::RenderThemeWinCE::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeWinCE::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeWinCE::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeWinCE::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeWinCE::supportsFocus):
        (WebCore::RenderThemeWinCE::supportsFocusRing):
        (WebCore::RenderThemeWinCE::determineClassicState):
        (WebCore::RenderThemeWinCE::getThemeData):
        (WebCore::RenderThemeWinCE::paintButton):
        (WebCore::RenderThemeWinCE::setCheckboxSize):
        (WebCore::RenderThemeWinCE::paintTextField):
        (WebCore::RenderThemeWinCE::adjustMenuListStyle):
        (WebCore::RenderThemeWinCE::paintMenuList):
        (WebCore::RenderThemeWinCE::paintMenuListButton):
        (WebCore::RenderThemeWinCE::systemFont):
        (WebCore::RenderThemeWinCE::themeChanged):
        (WebCore::RenderThemeWinCE::extraDefaultStyleSheet):
        (WebCore::RenderThemeWinCE::extraQuirksStyleSheet):
        (WebCore::RenderThemeWinCE::supportsHover):
        (WebCore::RenderThemeWinCE::systemColor):
        (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
        (WebCore::RenderThemeWinCE::adjustButtonInnerStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
        (WebCore::RenderThemeWinCE::paintSearchField):
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeWinCE::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeWinCE::paintSearchFieldResultsButton):
        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
        (WebCore::RenderThemeWinCE::paintSliderTrack):
        (WebCore::RenderThemeWinCE::paintSliderThumb):
        (WebCore::RenderThemeWinCE::paintMediaFullscreenButton):
        (WebCore::RenderThemeWinCE::paintMediaMuteButton):
        (WebCore::RenderThemeWinCE::paintMediaPlayButton):
        (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
        (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
        (WebCore::RenderThemeWinCE::paintMediaSliderTrack):
        (WebCore::RenderThemeWinCE::paintMediaSliderThumb):
        * rendering/RenderThemeWinCE.h: Copied from WebCore/rendering/RenderThemeWince.h.
        * rendering/RenderThemeWince.cpp: Removed.
        * rendering/RenderThemeWince.h: Removed.
        * storage/wince/DatabaseThreadWinCE.cpp: Copied from WebCore/storage/wince/DatabaseThreadWince.cpp.
        * storage/wince/DatabaseThreadWinCE.h: Copied from WebCore/storage/wince/DatabaseThreadWince.h.
        * storage/wince/DatabaseThreadWince.cpp: Removed.
        * storage/wince/DatabaseThreadWince.h: Removed.
        * storage/wince/LocalStorageThreadWinCE.cpp: Copied from WebCore/storage/wince/LocalStorageThreadWince.cpp.
        * storage/wince/LocalStorageThreadWinCE.h: Copied from WebCore/storage/wince/LocalStorageThreadWince.h.
        * storage/wince/LocalStorageThreadWince.cpp: Removed.
        * storage/wince/LocalStorageThreadWince.h: Removed.

2010-09-18  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Eric Seidel.

        Move Plugin*None.cpp from CMakeLists.txt into CMakeListsEfl.txt
        https://bugs.webkit.org/show_bug.cgi?id=45900

        PluginDataNone.cpp and PluginViewNone.cpp are not used by all port.
        Move them into plaform sepcific build system.

        * CMakeLists.txt:
        * CMakeListsEfl.txt:

2010-09-18  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Don't copy clip path to TransparencyLayer
        https://bugs.webkit.org/show_bug.cgi?id=45965

        We don't need to copy the GC's clip path to the TransparencyLayer since it will
        clip anyway when ending the layer.

        * platform/graphics/qt/TransparencyLayer.h:
        (WebCore::TransparencyLayer::TransparencyLayer):

2010-09-18  Patrick Gansterer  <paroga@paroga.com>

        Unreviewed.

        [WINCE] Buildfix for FrameWince.cpp after r51353, r67762 and r67771.

        * page/wince/FrameWince.cpp:
        (WebCore::computePageRectsForFrame):
        (WebCore::imageFromSelection):

2010-09-18  Kent Tamura  <tkent@chromium.org>

        Unreviewed, a trivial change.

        Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2010-09-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Eric Seidel.

        REGRESSION (r67762): Over 160 layout tests failing due to incorrect zoom factors in subframes
        https://bugs.webkit.org/show_bug.cgi?id=46031

        * page/Frame.cpp:
        (WebCore::parentPageZoomFactor): Return the zoom factor of the parent frame.
        (WebCore::parentTextZoomFactor): Ditto.

2010-09-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Jon Honeycutt.

        Need a way to load data (as plain text) in a WKPage
        <rdar://problem/8424239>

        * WebCore.exp.in:

2010-09-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=46027, image on gamespot.com paginates without bringing its enclosing border along.
        
        Make sure that unsplittable objects like replaced elements propagate their pagination strut outward to the parent block
        when appropriate.  An image on a line did this, but a block-level image did not.

        Added fast/multicol/image-inside-nested-blocks-with-border.html

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

2010-09-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Move calls from frameView->pageZoomFactor() to frame->pageZoomFactor().

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent): Removed a helper function,
            added direct calls to frame->pageZoomFactor().

2010-09-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.

        Make printing store the page height in the RenderView and push that into the layout state to
        use the new pagination model.  The old pagination model is retained because it is still used
        for embedded WebViews.

        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::forceLayout):
        (WebCore::FrameView::forceLayoutForPagination):
        (WebCore::FrameView::adjustPageHeight):
        * page/FrameView.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcHeight):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::paintReplaced):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::layout):
        (WebCore::RenderView::paint):
        (WebCore::RenderView::setBestTruncatedAt):
        * rendering/RenderView.h:
        (WebCore::RenderView::popLayoutState):
        (WebCore::RenderView::pageHeight):
        (WebCore::RenderView::setPageHeight):
        (WebCore::RenderView::bestTruncatedAt):
        (WebCore::RenderView::truncatedAt):
        (WebCore::RenderView::setTruncatedAt):
        (WebCore::RenderView::printRect):
        (WebCore::RenderView::setPrintRect):
        (WebCore::RenderView::pushLayoutState):
        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
        (WebCore::LayoutStateMaintainer::push):
        (WebCore::LayoutStateMaintainer::pop):

2010-09-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Canvas sizing ignores intrinsic size
        https://bugs.webkit.org/show_bug.cgi?id=46024

        Updated fast/replaced/table-percent-height.html

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): If this is used as a proxy
        for <video>, behave like it has an intrinsic size (e.g. preserve aspect ratio when
        width is auto and height is specified).
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::calcAspectRatioWidth): Changed to explicitly invoke
        RenderBox::calcReplacedHeight(), now that RenderReplaced has its own implementation
        which we don’t want.
        (WebCore::RenderImage::calcAspectRatioHeight): Similarly with calcReplacedWidth().
        * rendering/RenderImage.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasIntrinsicSize.
        (WebCore::lengthIsSpecified): Added this helper function, based on RenderImage’s
        is{Width,Height}Specified().
        (WebCore::RenderReplaced::calcReplacedWidth): Moved from RenderVideo all the way
        up here so other replaced objects could use this logic.
        (WebCore::RenderReplaced::calcReplacedHeight): Ditto.
        (WebCore::RenderReplaced::calcAspectRatioWidth): Ditto.
        (WebCore::RenderReplaced::calcAspectRatioHeight): Ditto.
        (WebCore::RenderReplaced::calcPrefWidths): Replaced with the RenderImage version
        of the logic.
        (WebCore::RenderReplaced::setIntrinsicSize): Added an assertion.
        * rendering/RenderReplaced.h:
        (WebCore::RenderReplaced::minimumReplacedHeight): Promoted from private to protected
        to allow RenderVideo to call through.
        (WebCore::RenderReplaced::setHasIntrinsicSize): Added this setter.
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updateIntrinsicSize): Factor zoom into the intrinsic size,
        the way other RenderReplaced objects do.
        (WebCore::RenderVideo::calcReplacedWidth): Invoke the RenderReplaced implementation,
        which matches what used to be here, skipping over the RenderImage implementation.
        (WebCore::RenderVideo::calcReplacedHeight): Ditto.
        (WebCore::RenderVideo::minimumReplacedHeight): Ditto.
        * rendering/RenderVideo.h:

2010-09-17  Darin Adler  <darin@apple.com>

        Build fix for platforms that compile Touch.

        * dom/Touch.cpp:
        (WebCore::contentsX):
        (WebCore::contentsY):
        Get zoom factor from Frame rather than FrameView.

2010-09-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
        https://bugs.webkit.org/show_bug.cgi?id=42863

        Moved zoom level back from FrameView to Frame.
        I had forgotten that FrameView's lifetime is much shorter than
        Frame's, and until that is fixed it's best to leave this on Frame.

        * WebCore.exp.in: Updated.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect):
        (WebCore::Document::elementFromPoint):
        (WebCore::Document::caretRangeFromPoint):
        * dom/MouseRelatedEvent.cpp:
        (WebCore::contentsX):
        (WebCore::contentsY):
        (WebCore::pageZoomFactor):
        * dom/Node.cpp:
        (WebCore::Node::dispatchMouseEvent):
        (WebCore::Node::dispatchWheelEvent):
        * html/HTMLBodyElement.cpp:
        (WebCore::adjustForZoom):
        (WebCore::HTMLBodyElement::scrollLeft):
        (WebCore::HTMLBodyElement::setScrollLeft):
        (WebCore::HTMLBodyElement::scrollTop):
        (WebCore::HTMLBodyElement::setScrollTop):
        (WebCore::HTMLBodyElement::scrollHeight):
        (WebCore::HTMLBodyElement::scrollWidth):
        * html/ImageDocument.cpp:
        (WebCore::pageZoomFactor):
        (WebCore::ImageDocument::scale):
        (WebCore::ImageDocument::imageFitsInWindow):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):
        (WebCore::DOMWindow::scrollX):
        (WebCore::DOMWindow::scrollY):
        (WebCore::DOMWindow::scrollTo):
        * page/DragController.cpp:
        (WebCore::elementUnderMouse):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::zoomFactor):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentScale):
        (WebCore::SVGSVGElement::setCurrentScale):
        Get zoom factor from Frame rather than FrameView.

        * page/Frame.cpp:
        (WebCore::parentPageZoomFactor): Moved back here from FrameView.
        (WebCore::parentTextZoomFactor): Ditto.
        (WebCore::Frame::Frame): Ditto.
        (WebCore::Frame::setPageZoomFactor): Ditto.
        (WebCore::Frame::setTextZoomFactor): Ditto.
        (WebCore::Frame::setPageAndTextZoomFactors): Ditto.

        * page/Frame.h: Moved functions and data for zooming back here
        from FrameView.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        * page/FrameView.h:
        Removed code from here.

2010-09-17  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Reduce minimum DOMTimer interval
        https://bugs.webkit.org/show_bug.cgi?id=45362

        Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
        which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
        performance on perf tests that have tight frequent loops such as canvas "animation"
        performance tests.

        No new tests added. Can't reliably instrument a test in javascript to verify that
        the minimum clamped interval time is in fact 4ms. 

        * WebCore.exp.in:
        * page/DOMTimer.cpp: Removed old comments.
        * page/DOMTimer.h: Removed old comments.
        * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
        * page/Settings.h:

2010-09-17  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Split webcore_platform off webcore_remaining

        Further reduce webcore_remaining size by moving platform/ code in its
        own static libary.
        https://bugs.webkit.org/show_bug.cgi?id=45915

        * WebCore.gyp/WebCore.gyp:

2010-09-13  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Darin Fisher.

        Have V8DOMWindowShell ask the embedder whether to run a V8 extension
        in a particular script context.
        https://bugs.webkit.org/show_bug.cgi?id=45721

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::registeredExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
        * loader/FrameLoaderClient.h:

2010-09-17  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION (r66711): Plug-in replacement text is never shown
        https://bugs.webkit.org/show_bug.cgi?id=45997
        <rdar://problem/8446766>

        Don't return when the plug-in has replacement text.

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintReplaced):

2010-09-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed, build fix. Add files missed in r67704.

        * CMakeLists.txt:

2010-09-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Remove scroll and clip layers for WKCACFLayerRenderer
        https://bugs.webkit.org/show_bug.cgi?id=45922

        WKCACFLayerRenderer no longer needs its own layers for managing scrolling
        and clipping, because RenderLayerCompositor provides this functionality.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Remove call to setScrollFrame().
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Ditto.

        * platform/graphics/win/WKCACFLayerRenderer.cpp: Remove references to scroll and clip layers
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
        (WebCore::WKCACFLayerRenderer::destroyRenderer):
        (WebCore::WKCACFLayerRenderer::resize):
        * platform/graphics/win/WKCACFLayerRenderer.h:

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::layerTreeAsText): Dump the layers from the root platform layer.
        (WebCore::RenderLayerCompositor::requiresScrollLayer): On Windows,
        always say yes.

2010-09-17  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        createBlobURL with no argument causes crash.
        https://bugs.webkit.org/show_bug.cgi?id=45880

        The fix is to check if the passing blob argument is NULL or not.

        Test: fast/files/create-blob-url-crash.html

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::createPublicBlobURL):
        * page/DOMWindow.idl: Add attribute to convert null string to undefined.

2010-09-17  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
        https://bugs.webkit.org/show_bug.cgi?id=45911

        * WebCore.exp.in:

2010-09-17  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        ASSERTION FAILED: m_loadEventDelayCount
        https://bugs.webkit.org/show_bug.cgi?id=45790

        * dom/AsyncScriptRunner.cpp: 
        (WebCore::AsyncScriptRunner::timerFired): Protect document before we go running scripts.

2010-09-17  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        [CHROMIUM] GPU-accelerated canvas should work in test_shell.
        https://bugs.webkit.org/show_bug.cgi?id=45968

        In order for the shaders in GPU-accelerated canvas to work in both the
        GraphicsContext3D / GLES2 path as well as chromium's test_shell (which
        passes them to the Mesa backend unmodified), the precision specifiers
        in the fragment shader have to be wrapped in #if GL_ES.

        Soon to be covered by many layout tests.

        * platform/graphics/gpu/SolidFillShader.cpp:
        (WebCore::SolidFillShader::create):
        * platform/graphics/gpu/TexShader.cpp:
        (WebCore::TexShader::create):

2010-09-17  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] [REGRESSION] Listbox rendering is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=45941

        Only apply the shadow tiling optimization to a layer if the GraphicsContext
        has a shadow.

        This is covered by manual-tests/select-element-type-select.html.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawBorderlessRectShadow): Before applying the tiled shadow optimization
        first check to see if the context has a shadow at all.

2010-09-17  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Oliver Hunt.

        [GTK] FontPlatformDataFreeType should use smart pointers to hold its members
        https://bugs.webkit.org/show_bug.cgi?id=45917

        Have FontPlatformDataFreeType use smart pointers to hold its reference-counted
        members. Also move the FcPattern specialization from OwnPtrCairo to PlatformRefPtrCairo
        as this type is reference-counted.

        No new tests as this should not introduce any functionality changes.

        * platform/graphics/cairo/FontCacheFreeType.cpp:
        (WebCore::FontCache::getFontDataForCharacters): Updated to reflect smart pointer changes.
        (WebCore::FontCache::createFontPlatformData): Ditto.
        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Ditto.
        (WebCore::FontPlatformData::operator=): Ditto.
        (WebCore::FontPlatformData::~FontPlatformData): Ditto.
        (WebCore::FontPlatformData::isFixedPitch): Ditto.
        (WebCore::FontPlatformData::operator==): Ditto.
        * platform/graphics/cairo/FontPlatformDataFreeType.h:
        (WebCore::FontPlatformData::FontPlatformData): Ditto.
        (WebCore::FontPlatformData::scaledFont): Ditto.
        (WebCore::FontPlatformData::hash): Ditto.
        (WebCore::FontPlatformData::isHashTableDeletedValue): Ditto.
        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
        (WebCore::GlyphPage::fill): Ditto.
        * platform/graphics/cairo/OwnPtrCairo.cpp: Removed FcPattern specialization.
        * platform/graphics/cairo/OwnPtrCairo.h: Ditto.
        * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added FcPattern and cairo_scaled_font_t specializations.
        (WTF::refPlatformPtr): Ditto.
        (WTF::derefPlatformPtr): Ditto.
        * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
        (WebCore::SimpleFontData::platformInit): Updated to reflect smart pointer changes.
        (WebCore::SimpleFontData::containsCharacters): Ditto.
        (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::setPangoAttributes): Ditto.

2010-09-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: show status message below call stack when debugger is paused on DOM breakpoint
        https://bugs.webkit.org/show_bug.cgi?id=45114

        * English.lproj/localizedStrings.js:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didPause):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
        (WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.linkifyNodeById):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/inspector.css:
        (.pane > .body .placard + .info):
        * inspector/front-end/inspector.js:
        (WebInspector.pausedScript):
        (WebInspector.formatLocalized):

2010-09-17  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Stop history reload navigation to bypass WebKit's popup blocker.
        Now history reload can only navigate the page in self frame, no matter
        what target frame is defined in <base> and no new window can be created.
        https://bugs.webkit.org/show_bug.cgi?id=45369

        Test: fast/events/popup-blocked-from-history-reload.html

        * loader/RedirectScheduler.cpp:
        (WebCore::ScheduledNavigation::ScheduledNavigation):
        (WebCore::ScheduledNavigation::wasUserGesture):
        Move the m_wasUserGesture to base class ScheduledNavigation. Then all
        asynchronous navigation situations can restore the correct gesture state
        during the real navigation process.
        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
        (WebCore::ScheduledURLNavigation::fire):
        (WebCore::ScheduledURLNavigation::referrer):
        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
        (WebCore::ScheduledHistoryNavigation::fire):
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
        (WebCore::ScheduledFormSubmission::fire):
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):

2010-09-16  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Clip the update region of an ImageLayerChromium to actual size
        of the image bitmap to prevent uninitialized memory access when uploading
        the dirty region to the texture.
        https://bugs.webkit.org/show_bug.cgi?id=45937


        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContents):

2010-09-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Hyatt.

        Remove extraneous RenderObject traversal.
        https://bugs.webkit.org/show_bug.cgi?id=45821

        This code always exits in the first iteration of the loop,
        because in the context of this call, node->renderer()->node() != 0
        is always true.

        No behavior change, covered by existing tests.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::canMouseDownStartSelect): Removed the loop.
        (WebCore::EventHandler::canMouseDragExtendSelect): Ditto.

2010-09-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
        resource as not cached to InspectorController.
        https://bugs.webkit.org/show_bug.cgi?id=45961

        Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
        resource as not cached to InspectorController.
        There is one path in control flow that leads to resources being
        reported as not cached. Patch to follow.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::markResourceAsCached):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::markAsCached):
        (WebCore::InspectorResource::updateResponse):
        * inspector/InspectorResource.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):

2010-09-17  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, build fix. Add files missed in the previous commit.

        * GNUmakefile.am:
        * css/CSSPropertySourceData.cpp: Added.
        (WebCore::SourceRange::SourceRange):
        (WebCore::SourceRange::operator=):
        (WebCore::CSSPropertySourceData::CSSPropertySourceData):
        (WebCore::CSSPropertySourceData::operator=):
        (WebCore::CSSPropertySourceData::toString):
        (WebCore::CSSPropertySourceData::hash):
        (WebCore::CSSPropertySourceData::init):
        * css/CSSPropertySourceData.h: Added.
        (WebCore::CSSPropertySourceData::~CSSPropertySourceData):
        (WebCore::CSSStyleSourceData::create):

2010-09-15  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Provide source-based properties for style declarations to CSSParser clients

        This change:
        - Enables InspectorCSSStore to extract CSS stylesheet text for all source-based stylesheets,
          even with the resource tracking turned off.
        - Adds to CSSParser a capability of source-related style declaration data extraction:
          * Start/end source offsets for a declaration, relative to the parent stylesheet start or the "style" attribute value.
          * Start/end source offsets for CSS properties, relative to the declaration start.
          * CSS property data: name, value, priority, WebCore parsability (i.e. if the property is understood by WebCore).
        - Provides the extracted data to the WebInspector frontend via InspectorDOMAgent::getStyleSourceData().
        https://bugs.webkit.org/show_bug.cgi?id=44949

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSGrammar.y:
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::node):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markPropertyStart):
        (WebCore::CSSParser::markPropertyEnd):
        * css/CSSParser.h:
        (WebCore::CSSParser::resetPropertyMarks):
        * css/CSSPropertySourceData.cpp: Added.
        (WebCore::SourceRange::SourceRange):
        (WebCore::SourceRange::operator=):
        (WebCore::CSSPropertySourceData::CSSPropertySourceData):
        (WebCore::CSSPropertySourceData::operator=):
        (WebCore::CSSPropertySourceData::toString):
        (WebCore::CSSPropertySourceData::hash):
        (WebCore::CSSPropertySourceData::init):
        * css/CSSPropertySourceData.h: Added.
        (WebCore::CSSPropertySourceData::~CSSPropertySourceData):
        (WebCore::CSSStyleSourceData::create):
        * inspector/Inspector.idl:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::reset):
        (WebCore::InspectorCSSStore::styleSheetText):
        (WebCore::InspectorCSSStore::resourceStyleSheetText):
        (WebCore::InspectorCSSStore::inlineStyleSheetText):
        (WebCore::InspectorCSSStore::getStyleSourceData):
        (WebCore::InspectorCSSStore::extractRanges):
        (WebCore::InspectorCSSStore::getStyleAttributeRanges):
        (WebCore::InspectorCSSStore::getParentStyleSheet):
        (WebCore::InspectorCSSStore::inlineStyleElement):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::resourceContentForURL):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyleSourceData):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        * inspector/InspectorDOMAgent.h:

2010-09-17  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Show node description in inspector highlight
        https://bugs.webkit.org/show_bug.cgi?id=20930

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::drawNodeHighlight):
        (WebCore::InspectorController::drawElementTitle):
        * inspector/InspectorController.h:

2010-09-16  takano takumi  <takano1@asia.apple.com>

        Reviewed by Kent Tamura.

        https://bugs.webkit.org/show_bug.cgi?id=45020
        Support "block-flow" and "writing-mode": interpret properties into RenderStyle

        Fixed a regression in SVG test introduced by my previous change.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator EWritingMode):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):

2010-09-16  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add entry points to GraphicsContext3D needed for Chromium compositor port
        https://bugs.webkit.org/show_bug.cgi?id=45939

        Added entry points for two Chromium-specific extensions, and added
        a flag to the GraphicsContext3D constructor, currently unsupported
        by all ports (including Chromium), indicating whether the context
        should render directly to the passed HostWindow or off-screen per
        the current semantics. The switch to use GraphicsContext3D in
        Chromium's compositor will follow in a subsequent patch.

        No new tests; functionality is unchanged. Built and tested
        Chromium and WebKit on Mac OS X.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::supportsMapSubCHROMIUM):
        (WebCore::GraphicsContext3D::mapBufferSubDataCHROMIUM):
        (WebCore::GraphicsContext3D::unmapBufferSubDataCHROMIUM):
        (WebCore::GraphicsContext3D::mapTexSubImage2DCHROMIUM):
        (WebCore::GraphicsContext3D::unmapTexSubImage2DCHROMIUM):
        (WebCore::GraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
        (WebCore::GraphicsContext3D::copyTextureToParentTextureCHROMIUM):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2010-09-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by James Robinson.

        In layerTreeAsText output, avoid printing properties which have their default values
        https://bugs.webkit.org/show_bug.cgi?id=45931

        Don't dump properties that have their default values to simplify output.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::dumpProperties):

2010-09-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] GraphicsContext: Remove unused variable

        GraphicsContextPlatformPrivate::redirect wasn't used for anything.

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

2010-09-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Remove unnecessary QPainter::clipPath() call in TransparencyLayer()
        https://bugs.webkit.org/show_bug.cgi?id=45923

        QPainter::clipPath() can be very expensive, so use QPainter::hasClipping()
        instead of QPainter::clipPath().isEmpty().

        * platform/graphics/qt/TransparencyLayer.h:
        (WebCore::TransparencyLayer::TransparencyLayer):

2010-09-16  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel.

        Fix for regression from my previous check-in.  Make sure not to move the LayoutRepainter line
        below the setHeight(0) call.  This meant it snagged the wrong rectangle and we ended up repainting
        the world.

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

2010-09-16  takano takumi  <takano1@asia.apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=45020
        Support "block-flow" and "writing-mode": interpret properties into RenderStyle
 
        Added code that interprets "block-flow" property and "writing-mode" property settings
        into a RenderStyle object.

        Test: fast/text/international/block-flow-parser-test.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EBlockFlowDirection):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * css/SVGCSSValueKeywords.in:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setBitDefaults):
        (WebCore::InheritedFlags::blockFlow):
        (WebCore::InheritedFlags::setBlockFlow):
        (WebCore::InheritedFlags::initialBlockFlow):
        * rendering/style/RenderStyleConstants.h:

2010-09-16  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

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

        Convert the drag image from a GdkPixbuf to a Cairo surface. Not only
        might this allow code to be shared between Cairo ports it prevents a
        full data copy when the image is not resized and makes the implementation
        of dissolveDragImageToFraction more straight-forward.

        This feature is covered by manual-tests/drag-image.html.

        * page/gtk/DragControllerGtk.cpp:
        (WebCore::DragController::maxDragImageSize): Make the maximum size of the drag
        image a little smaller.
        * platform/DragImage.h: Changed the drag image type to be a cairo_surface_t*.
        * platform/gtk/DragImageGtk.cpp:
        (WebCore::dragImageSize): Reimplemented to reflect new drag image type.
        (WebCore::deleteDragImage): Ditto.
        (WebCore::scaleDragImage): Ditto.
        (WebCore::dissolveDragImageToFraction): Filled the stub of this function.
        (WebCore::createDragImageFromImage): Reimplemented to reflect new drag image type.
        * platform/gtk/GtkVersioning.h: Added definition for gtk_widget_get_realized for older GTK+s.

2010-09-15  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=38402, paginate columns at layout time rather than at paint time.

        This patch adds support for column breaking at layout time rather than at paint time.  New variables have been
        added to LayoutState and to ColumnInfo to track column information while laying out.
        
        The basic idea behind this patch is to retain the columns' paint-time hackery of transforming one long vertical strip
        into multiple columns.  Now, however, layout is aware of the columns and will move objects up and down vertically in order
        to ensure they don't intersect a break.
        
        Many new tests added in fast/multicol and new results added for existing fast/multicol tests.

        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::ColumnInfo):
        (WebCore::ColumnInfo::columnCount):
        (WebCore::ColumnInfo::columnHeight):
        (WebCore::ColumnInfo::setColumnCountAndHeight):
        (WebCore::ColumnInfo::setColumnHeight):
        (WebCore::ColumnInfo::updateMinimumColumnHeight):
        (WebCore::ColumnInfo::minimumColumnHeight):
        (WebCore::ColumnInfo::forcedBreaks):
        (WebCore::ColumnInfo::forcedBreakOffset):
        (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
        (WebCore::ColumnInfo::clearForcedBreaks):
        (WebCore::ColumnInfo::addForcedBreak):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::clearPaginationInformation):
        (WebCore::LayoutState::pageY):
        (WebCore::LayoutState::addForcedColumnBreak):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::paginatingColumns):
        (WebCore::LayoutState::paginated):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::~RenderBlock):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::estimateVerticalPosition):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::removeFloatingObjects):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::positionNewFloatOnLine):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
        (WebCore::RenderBlock::markDescendantBlocksAndLinesForLayout):
        (WebCore::RenderBlock::hitTestColumns):
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
        (WebCore::RenderBlock::columnCount):
        (WebCore::RenderBlock::columnRectAt):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::adjustPointToColumnContents):
        (WebCore::RenderBlock::adjustRectForColumns):
        (WebCore::RenderBlock::adjustForColumns):
        (WebCore::RenderBlock::setMaxTopMargins):
        (WebCore::RenderBlock::setMaxBottomMargins):
        (WebCore::RenderBlock::setPaginationStrut):
        (WebCore::RenderBlock::setPageY):
        (WebCore::RenderBlock::nextPageTop):
        (WebCore::inNormalFlow):
        (WebCore::RenderBlock::applyBeforeBreak):
        (WebCore::RenderBlock::applyAfterBreak):
        (WebCore::RenderBlock::adjustForUnsplittableChild):
        (WebCore::RenderBlock::adjustLinePositionForPagination):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::paginationStrut):
        (WebCore::RenderBlock::pageY):
        (WebCore::RenderBlock::maxTopPosMargin):
        (WebCore::RenderBlock::maxTopNegMargin):
        (WebCore::RenderBlock::maxBottomPosMargin):
        (WebCore::RenderBlock::maxBottomNegMargin):
        (WebCore::RenderBlock::initMaxMarginValues):
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        (WebCore::RenderBlock::FloatingObject::type):
        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::skipLeadingWhitespace):
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::markDescendantBlocksAndLinesForLayout):
        * rendering/RenderBox.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::computeRectForRepaint):
        (WebCore::RenderInline::mapLocalToContainer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updatePagination):
        (WebCore::RenderLayer::paintChildLayerIntoColumns):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::RenderTable):
        (WebCore::RenderTable::layout):
        * rendering/RenderTable.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::pushLayoutState):
        * rendering/RenderView.h:
        (WebCore::RenderView::setTruncatedAt):
        (WebCore::RenderView::pushLayoutState):
        (WebCore::RenderView::popLayoutState):
        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
        (WebCore::LayoutStateMaintainer::push):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::paginationStrut):
        (WebCore::RootInlineBox::setPaginationStrut):

2010-09-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix debug crash in HTMLFrameOwnerElement caused by content frame being used after destruction.
        https://bugs.webkit.org/show_bug.cgi?id=45737

        Test: fast/frames/frame-limit.html

        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::willRemove):

2010-09-16  Thomas Zander <t.zander@nokia.com>

        Reviewed by Andreas Kling.

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

        [Qt] Fixed incorrect Symbian scoping.

        The missing install functionality is only true for mmp based systems.

        * WebCore.pro: limit functionality to mmp systems.

2010-09-16  Anders Carlsson  <andersca@apple.com>

        Fix clang build.

        * page/animation/AnimationBase.h:
        Fix struct/class mismatch.

2010-09-16  Darin Adler  <darin@apple.com>

        Reviewed by Andreas Kling.

        Reduce use of HTMLInputElement::inputType so we can remove it later
        https://bugs.webkit.org/show_bug.cgi?id=45903

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isFileUploadButton): Use isFileUpload.
        (WebCore::AccessibilityRenderObject::isInputImage): Use isImageButton.
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Use
        isCheckbox and isRadioButton.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): Use isImageButton.

        * editing/Editor.cpp:
        (WebCore::Editor::setBaseWritingDirection): Use isTextField.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Use isPasswordField.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::isInPasswordField): Use isPasswordField.

        * html/HTMLInputElement.h: Added isFileUpload, isImageButton, and isSubmitButton.

        * page/Chrome.cpp:
        (WebCore::Chrome::setToolTip): Use isSubmitButton and isFileUpload.

        * page/DragController.cpp:
        (WebCore::asFileInput): Use isFileUpload.

        * page/EventHandler.cpp:
        (WebCore::isSubmitImage): Use isImageButton.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::updateFromElement): Use isFileUpload.

2010-09-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: quick fix for crash in InspectorController::loadBreakpoints caused by empty main resource
        https://bugs.webkit.org/show_bug.cgi?id=45901

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::breakpointsSettingKey):

2010-09-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Prevent responseReceivedTime from being > endTime in case mixture of WebCore and Network stack info is used.
        https://bugs.webkit.org/show_bug.cgi?id=45892

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::endTiming):

2010-09-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move resourceTracking flag under control of BackendSettings.

        Four Inspector API methods about resourceTracking flag were removed.
        Actual state of the flag is transfered as the response of setResourceTracking request.
        Initial state of the flag on the frontend side is obtained from settings.backend.

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

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getBackendSettings):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::setResourceTracking):
        * inspector/InspectorController.h:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings.initialize.populateBackendSettings):
        (WebInspector.Settings.initialize):
        * inspector/front-end/inspector.js:

2010-09-16  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        BlobData should be copied for it to be used cross-thread in ThreadableBlobRegistry.
        https://bugs.webkit.org/show_bug.cgi?id=45909

        * fileapi/ThreadableBlobRegistry.cpp:
        (WebCore::BlobRegistryContext::BlobRegistryContext):

2010-09-16  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Simon Fraser.

        [chromium] Fix incorrect drag node/selection painting.
        https://bugs.webkit.org/show_bug.cgi?id=45573

        Drag selections were being incorrectly clipped when dragging a selection
        near the bottom of a page that was taller than the viewport. To fix
        this, we use paintContents() instead of paint().

        * page/chromium/FrameChromium.cpp:
        (WebCore::Frame::nodeImage):
        (WebCore::Frame::dragImageForSelection):

2010-09-16  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        Fix incorrect usage of dissolveDragImageToFraction().
        https://bugs.webkit.org/show_bug.cgi?id=45835

        createDragImageForSelection() was ignoring the return value of
        dissolveDragImageToFraction(). This didn't happen to crash on most
        platforms, since most implementations simply modified the image that was
        passed in. However, Chromium Mac's implementation actually creates a new
        image and returns that instead. This caused us to crash when copying the
        image from the renderer to the browser process, since the memory had
        already been freed.

        * manual-tests/selection-drag-crash.html: Added.
        * platform/DragImage.cpp:
        (WebCore::createDragImageForSelection):

2010-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r67628.
        http://trac.webkit.org/changeset/67628
        https://bugs.webkit.org/show_bug.cgi?id=45904

        broke the build (Requested by eric_carlson on #webkit).

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        * platform/ContextMenuItem.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        * platform/LocalizedStrings.h:
        * platform/android/LocalizedStringsAndroid.cpp:
        * platform/brew/LocalizedStringsBrew.cpp:
        * platform/efl/LocalizedStringsEfl.cpp:
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::gtkStockIDFromContextMenuAction):
        * platform/gtk/LocalizedStringsGtk.cpp:
        * platform/haiku/LocalizedStringsHaiku.cpp:
        * platform/wx/LocalizedStringsWx.cpp:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteMediaURL):
        * rendering/HitTestResult.h:

2010-09-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Fraser.

        CSS: Fix crash in getTimingFunctionValue()
        https://bugs.webkit.org/show_bug.cgi?id=45896

        Use a RefPtr to avoid deleting the TimingFunction prematurely.

        This is covered by existing tests, e.g transitions/inherit-other-props.html
        but will only actually crash on picky platforms (or in valgrind.)

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getTimingFunctionValue):

2010-09-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: prevent resource timing popover from having scrollers.
        https://bugs.webkit.org/show_bug.cgi?id=45883

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):

2010-09-15  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GTK] enhanced context menu for media elements
        https://bugs.webkit.org/show_bug.cgi?id=45021

        New items in the media Element context menu:
        - play/pause
        - mute/unmute
        - controls display control
        - switch to fullscreen (for video only)
        - loop playback control
        - copy media url to clipboard
        - open in new window

        Test: media/context-menu-actions.html

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        * platform/ContextMenuItem.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * platform/LocalizedStrings.h:
        * platform/android/LocalizedStringsAndroid.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * platform/brew/LocalizedStringsBrew.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::gtkStockIDFromContextMenuAction):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * platform/haiku/LocalizedStringsHaiku.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagMediaUnMute):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteMediaURL):
        (WebCore::HitTestResult::mediaSupportsFullscreen):
        (WebCore::HitTestResult::mediaElement):
        (WebCore::HitTestResult::toggleMediaControlsDisplay):
        (WebCore::HitTestResult::toggleMediaLoopPlayback):
        (WebCore::HitTestResult::enterFullscreenForVideo):
        (WebCore::HitTestResult::mediaControlsEnabled):
        (WebCore::HitTestResult::mediaLoopEnabled):
        (WebCore::HitTestResult::mediaPlaying):
        (WebCore::HitTestResult::toggleMediaPlayState):
        (WebCore::HitTestResult::mediaHasAudio):
        (WebCore::HitTestResult::mediaMuted):
        (WebCore::HitTestResult::toggleMediaMuteState):
        * rendering/HitTestResult.h:

2010-09-16  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Crash in WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions
        https://bugs.webkit.org/show_bug.cgi?id=45833

        Test: fast/parser/x-frame-options-detached-document-crash.html

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv): Other branches in this method already test for a null frame. So it seems to make sense to test that here as well.

2010-09-16  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] ImageLayerChromium needs to keep a ref to the Image it uses
        so that it never tries to access an already destroyed Image.
        https://bugs.webkit.org/show_bug.cgi?id=45869

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::setContents):
        (WebCore::ImageLayerChromium::updateContents):
        * platform/graphics/chromium/ImageLayerChromium.h:

2010-09-16  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Add platform-specific Image methods
        https://bugs.webkit.org/show_bug.cgi?id=28272

        * platform/graphics/wince/ImageWinCE.cpp: Added.
        (WebCore::RGBA32Buffer::asNewNativeImage):
        (WebCore::FrameData::clear):
        (WebCore::BitmapImage::getHBITMAPOfSize):
        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
        (WebCore::BitmapImage::draw):
        (WebCore::Image::drawPattern):
        (WebCore::BitmapImage::drawPattern):
        (WebCore::BitmapImage::checkForSolidColor):

2010-09-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
        https://bugs.webkit.org/show_bug.cgi?id=45890

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::restoreDebugger):
        (WebCore::InspectorController::restoreProfiler):
        * inspector/InspectorController.h:

2010-09-16  Satish Sampath  <satish@chromium.org>

        Unreviewed, fixing a build break with VS 2008.

        Fix build break, add the namespace in a friend declaration to get MSVC recognize it properly.
        https://bugs.webkit.org/show_bug.cgi?id=45893

        * fileapi/FileWriter.h:

2010-09-15  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GStreamer] XOverlay API changes break the build
        https://bugs.webkit.org/show_bug.cgi?id=45810

        Cope with the GStreamer XOverlay API change for the upcoming
        0.10.31 version.
        No new tests, build fix only.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::setWindowOverlay):

2010-09-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] V8 port: Fix debug build

        Add missing inclusion of <wtf/text/CString.h> where necessary for debug builds.

        * history/PageCache.cpp:
        * html/HTMLElement.cpp:
        * html/HTMLMediaElement.cpp:
        * loader/DocumentLoader.cpp:
        * loader/icon/IconDatabase.cpp:
        * loader/icon/IconLoader.cpp:
        * storage/AbstractDatabase.cpp:
        * storage/Database.cpp:
        * storage/DatabaseSync.cpp:
        * storage/DatabaseTracker.cpp:

2010-09-16  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=45852
        Range::selectNode and selectNodeContents misbehave when argument is in another document

        Test: fast/dom/Range/select-node-different-document.html

        There is nothing in DOM Traversal spec that says this shouldn't work, and it does work in
        Firefox.

        * dom/Range.cpp:
        (WebCore::Range::setDocument):
        (WebCore::Range::selectNode):
        (WebCore::Range::selectNodeContents):
        * dom/Range.h:

2010-09-16  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
        Added support to export HAR to file from Resources panel (conditional on Preferences)
        Added support for HARLog (a higher-level aggregate than HAREntry)
        https://bugs.webkit.org/show_bug.cgi?id=45663

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry._toMilliseconds):
        (WebInspector.HARLog):
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype._buildPages):
        (WebInspector.HARLog.prototype._buildMainResourceTimings):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.hide):
        (WebInspector.ResourcesPanel.prototype._contextMenu):
        (WebInspector.ResourcesPanel.prototype._exportAll):
        (WebInspector.ResourcesPanel.prototype._exportResource):
        * inspector/front-end/Settings.js:
        * inspector/front-end/utilities.js:
        ():

2010-09-16  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Jian Li.

        Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
        https://bugs.webkit.org/show_bug.cgi?id=45798

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pro:
        * dom/EventTarget.cpp:
        * dom/EventTarget.h:
        * dom/ExceptionCode.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        * fileapi/AsyncFileWriter.h:
        * fileapi/FileEntry.cpp:
        * fileapi/FileEntry.h:
        * fileapi/FileEntry.idl:
        * fileapi/FileError.h:
        * fileapi/FileError.idl:
        * fileapi/FileException.h:
        * fileapi/FileException.idl:
        * fileapi/FileStreamProxy.cpp:
        * fileapi/FileStreamProxy.h:
        * fileapi/FileThread.cpp:
        * fileapi/FileThread.h:
        * fileapi/FileWriter.cpp:
        * fileapi/FileWriter.h:
        * fileapi/FileWriter.idl:
        * fileapi/FileWriterCallback.h:
        * fileapi/FileWriterCallback.idl:
        * fileapi/FileWriterClient.h:
        * page/DOMWindow.idl:
        * platform/AsyncFileStream.h:
        * platform/FileStream.cpp:
        * platform/FileStream.h:
        * platform/FileStreamClient.h:

2010-09-16  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Dimitri Glazkov.

        Convert WebCore.gyp to use regexp to excludes files instead of listing them in sources!.

        This is necessary because sources! is processed before sources/. This makes
        applying broader pattern in sources/ more difficult since it overrides the files
        listed in sources!. Having all them in sources/ permits controlling the ordering
        of the regexp, thus the final list of included files.

        Fix Harfbuzz and VDMX source files includes in WebCore.gypi and WebCore.gyp

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

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2010-09-16  Nat Duca  <nduca@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Make compositor obey finish flag
        https://bugs.webkit.org/show_bug.cgi?id=45552

        The compositor should obey the finish flag on doComposite. This
        flag causes the compositor to finish rendering before returning,
        which is needed when resizing the window to avoid flashes of green.

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

2010-09-16  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        GTK+ 3.x. updates, gtk_widget_size_request is deprecated and
        "activate-slider" style property for scrollbars is gone.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show):
        * platform/gtk/gtk2drawing.c:
        (moz_gtk_scrollbar_thumb_paint):
        (moz_gtk_combo_box_paint):

2010-09-16  Diego Gonzalez  <diegohcg@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove FrameLoaderClientQt::webFrame() to use NetworkingContext to get the WebFrame to avoid layering violations
        https://bugs.webkit.org/show_bug.cgi?id=42293

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

2010-09-16  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix for EFL

        [EFL] REGRESSION(67567) FontCacheCairo was removed
        https://bugs.webkit.org/show_bug.cgi?id=45858

        * CMakeListsEfl.txt:

2010-09-16  Yong Li  <yoli@rim.com>

        Reviewed by George Staikos.

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

        Add platform-independent JPEG/PNG image encoders that
        work with big endian RGBA source data.

        There's no layout test because this patch does't make
        any port start using the encoders.

        * platform/image-encoders/JPEGImageEncoder.cpp: Added.
        * platform/image-encoders/JPEGImageEncoder.h: Added.
        * platform/image-encoders/PNGImageEncoder.cpp: Added.
        * platform/image-encoders/PNGImageEncoder.h: Added.

2010-09-15  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Allow the embedder to specify the base path for IndexedDB.
        https://bugs.webkit.org/show_bug.cgi?id=45815

        Existing tests provide coverage. Use the indexedDBPath parameter that's
        already on the group settings object. Pass this parameter into the backend
        which will use it rather than a hard coded tmp directory location. If
        nothing is specified, assume it should be an in-memory temporary database.
        (This is useful for bringup and Chromium's incognito mode.)

        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::openSQLiteDatabase):
        (WebCore::createTables):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:

2010-09-16  Yong Li  <yoli@rim.com>

        Reviewed by George Staikos.

        Fix the bug that GIF image down sampling can miss some lines.
        https://bugs.webkit.org/show_bug.cgi?id=45322

        Test: fast/images/gif-large-checkerboard.html

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::haveDecodedRow):

2010-09-16  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Andreas Kling.

        [GStreamer] un-needed header includes in MediaPlayerPrivate
        https://bugs.webkit.org/show_bug.cgi?id=45877

        Include only the headers we need.
        No new tests, #includes cleanup only.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

2010-09-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: console.group(object) does not allow object to be expanded.
        https://bugs.webkit.org/show_bug.cgi?id=45806

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleGroup.prototype.addMessage):
        * inspector/front-end/treeoutline.js:
        (TreeElement.treeElementToggled):

2010-09-08  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Complete index support for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=45386

        Add the rest of the index related API for IndexedDB.  This
        includes cursor suport.  A bunch of code was also refactored
        since it is shared between indexes and objectStores.

        Tests: storage/indexeddb/index-basics.html
               storage/indexeddb/index-cursor.html
               + additions to others.

        * storage/IDBAny.cpp:
        (WebCore::IDBAny::set):
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::value):
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::value):
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::remove):
        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
        (WebCore::IDBCursorBackendImpl::database):
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBCursorBackendInterface.h:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openObjectCursor):
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::getObject):
        (WebCore::IDBIndex::get):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::storeName):
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::storeName):
        (WebCore::openCursorInternal):
        (WebCore::IDBIndexBackendImpl::openObjectCursor):
        (WebCore::IDBIndexBackendImpl::openCursor):
        (WebCore::getInternal):
        (WebCore::IDBIndexBackendImpl::getObject):
        (WebCore::IDBIndexBackendImpl::get):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::objectStore):
        * storage/IDBIndexBackendInterface.h:
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::fromQuery):
        (WebCore::IDBKey::whereSyntax):
        (WebCore::IDBKey::leftCursorWhereFragment):
        (WebCore::IDBKey::rightCursorWhereFragment):
        * storage/IDBKey.h:
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::leftWhereClauseComparisonOperator):
        (WebCore::IDBKeyRange::rightWhereClauseComparisonOperator):
        * storage/IDBKeyRange.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::timerFired):

2010-09-15  Simon Fraser  <simon.fraser@apple.com>

        Fix chromium build.
        
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:

2010-09-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=44715
        maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac

        Remove the concept of geometry flipping from GraphicsLayer; geometry flipping will
        be taken care of in platform code without the need to complicate the GraphicsLayer API.
        
        RenderLayerCompositor no longer sets the geometry orientation for the root
        platform layer; platform-specific code does this instead.
        
        This fixes flipped layers in WebKit2, since WebKit2 was already flipping
        geometry, and then RenderLayerCompositor was doing an additional flip.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer):
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        * platform/graphics/qt/GraphicsLayerQt.h:
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
        * platform/graphics/win/GraphicsLayerCACF.h:
        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):

2010-09-15  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Unreviewed.

        Reverting my changes as it is breaking several tests on Gtk and Qt.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        * css/CSSParser.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeColor):
        (WebCore::CanvasRenderingContext2D::setFillColor):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::createFromString):
        * html/canvas/CanvasStyle.h:

2010-09-15  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Andreas Kling.

        Parse system colors in the HTML5 canvas context.
        https://bugs.webkit.org/show_bug.cgi?id=39168

        Test: fast/css/test-setting-canvas-color.html

        Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor): Changed the function to better match our
        early return policy. Also we now return false when we don't parse the color.
        This is needed for createFromString to fallback to using parseSystemColor.

        (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
        the system colors.

        * css/CSSParser.h: Added the new parseSystemColor method.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
        (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
        and fall back to parseSystemColor if it did not work.

        * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.

2010-09-14  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        getComputedStyle() returns different values for different zoom levels
        https://bugs.webkit.org/show_bug.cgi?id=32230

        Test: fast/css/getComputedStyle/computed-style-with-zoom.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::zoomAdjustedPixelValue):
        (WebCore::zoomAdjustedNumberValue):
        (WebCore::valueForReflection):
        (WebCore::getPositionOffsetValue):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::computedTransform):
        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSComputedStyleDeclaration.h:
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * rendering/RenderObject.h:
        (WebCore::adjustForAbsoluteZoom):
        * rendering/style/RenderStyle.h:
        (WebCore::adjustForAbsoluteZoom):

2010-09-14  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fully separate Pango and FreeType font backends
        https://bugs.webkit.org/show_bug.cgi?id=27442

        Split FontPlatformData.h into separate versions for Pango, FreeType and WinCairo.
        Include the correct file via #ifdef'd includes, like the Chromium port. Also split
        FontCacheCairo.cpp into Pango and FreeType versions, as they had almost no code in
        common. Finally, rename FontPlatformDataCairo to FontPlatformDataFreeType, as this
        compilation unit is used only by the FreeType backend. This change is important to
        prevent upcoming fixes to the FreeType backend from affecting other backends.

        No new tests as functionality has not changed.

        * CMakeListsEfl.txt: Update source lists.
        * GNUmakefile.am: Update source lists.
        * platform/graphics/cairo/FontCacheCairo.cpp: Removed.
        * platform/graphics/cairo/FontCacheFreeType.cpp: Added.
        (WebCore::FontCache::platformInit):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::getTraitsInFamily):
        (WebCore::isWellKnownFontName):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/cairo/FontPlatformData.h:
        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Renamed from WebCore/platform/graphics/cairo/FontPlatformDataCairo.cpp.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::init):
        (WebCore::FontPlatformData::~FontPlatformData):
        (WebCore::FontPlatformData::isFixedPitch):
        (WebCore::FontPlatformData::operator==):
        (WebCore::FontPlatformData::description):
        * platform/graphics/cairo/FontPlatformDataFreeType.h: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::setSize):
        (WebCore::FontPlatformData::syntheticBold):
        (WebCore::FontPlatformData::syntheticOblique):
        (WebCore::FontPlatformData::scaledFont):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::isHashTableDeletedValue):
        (WebCore::FontPlatformData::hashTableDeletedFontValue):
        * platform/graphics/gtk/FontCachePango.cpp: Added.
        (WebCore::FontCache::platformInit):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::getTraitsInFamily):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/gtk/FontPlatformDataPango.h: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::setSize):
        (WebCore::FontPlatformData::syntheticBold):
        (WebCore::FontPlatformData::syntheticOblique):
        (WebCore::FontPlatformData::scaledFont):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::isHashTableDeletedValue):
        (WebCore::FontPlatformData::hashTableDeletedFontValue):
        * platform/graphics/win/FontPlatformDataCairoWin.h: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::hfont):
        (WebCore::FontPlatformData::useGDI):
        (WebCore::FontPlatformData::fontFace):
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::setSize):
        (WebCore::FontPlatformData::syntheticBold):
        (WebCore::FontPlatformData::syntheticOblique):
        (WebCore::FontPlatformData::scaledFont):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::isHashTableDeletedValue):

2010-09-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Simon Fraser.

        AX: when text is auto-truncated, accessibility bounds are wrong
        https://bugs.webkit.org/show_bug.cgi?id=45793

        Allow accessibility to retrieve the absoluteQuads of a text node that
        clips to the ellipsis.
        
        Test: accessibility/ellipsis-text.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):
        * rendering/RenderText.cpp:
        (WebCore::ellipsisRectForBox):
            Make a common method to retrieve the ellipsis rect.
        (WebCore::RenderText::absoluteQuads):
            Default into the absoluteQuads method that allows for ellipsis clipping.
        (WebCore::RenderText::selectionRectForRepaint):
            Use the common method for retrieving the ellipsis.
        * rendering/RenderText.h:

2010-09-15  Ariya Hidayat  <ariya@sencha.com>

        [Qt] Improve the speed of blur shadow
        https://bugs.webkit.org/show_bug.cgi?id=44222

        Rewrite the shadow blur function with loop unrolls and sliding step
        unification for both horizontal and vertical directions.
        This gives significant performance improvement on most cases.

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::shadowBlur):

2010-09-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        (Take 2). Web Inspector: Provide network-based load timing.
        Before this change, inspector used timers taken from
        within WebCore notifications (that are by definition
        synchronous and serialized). As a result, timing was
        affected by the routines running on the main thread
        (JavaScript and such).
        https://bugs.webkit.org/show_bug.cgi?id=45664

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::endTiming):
        * inspector/InspectorResource.h:
        * loader/PingLoader.h:
        (WebCore::PingLoader::didFinishLoading):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didFinishLoading):
        * loader/ResourceLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/icon/IconFetcher.cpp:
        (WebCore::IconFetcher::didFinishLoading):
        * loader/icon/IconFetcher.h:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (StreamingClient::didFinishLoading):
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::notifyFinish):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didFinishLoading):
        * platform/network/ResourceLoadTiming.h:
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didFinishLoading):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::parseDataUrl):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (WebCoreSynchronousLoaderClient::didFinishLoading):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::finish):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::fileLoadTimer):
        (WebCore::ResourceHandle::cancel):

2010-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r67551.
        http://trac.webkit.org/changeset/67551
        https://bugs.webkit.org/show_bug.cgi?id=45816

        "Plugin tests fail" (Requested by yurys on #webkit).

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::endTiming):
        * inspector/InspectorResource.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::didFinishLoading):
        * loader/MainResourceLoader.h:
        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
        * loader/PingLoader.h:
        (WebCore::PingLoader::didFinishLoading):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::didFinishLoad):
        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
        * loader/ResourceLoadNotifier.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFinishLoadingOnePart):
        * loader/ResourceLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didFinishLoading):
        * loader/SubresourceLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/icon/IconFetcher.cpp:
        (WebCore::IconFetcher::didFinishLoading):
        * loader/icon/IconFetcher.h:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (StreamingClient::didFinishLoading):
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::notifyFinish):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didFinishLoading):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didFinishLoading):
        (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::parseDataUrl):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (WebCoreSynchronousLoaderClient::didFinishLoading):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::finish):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::finishedCallback):
        (WebCore::parseDataUrl):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::fileLoadTimer):
        (WebCore::ResourceHandle::cancel):

2010-09-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Provide network-based load timing.
        Before this change, inspector used timers taken from
        within WebCore notifications (that are by definition
        synchronous and serialized). As a result, timing was
        affected by the routines running on the main thread
        (JavaScript and such).
        https://bugs.webkit.org/show_bug.cgi?id=45664

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::endTiming):
        * inspector/InspectorResource.h:
        * loader/PingLoader.h:
        (WebCore::PingLoader::didFinishLoading):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didFinishLoading):
        * loader/ResourceLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/icon/IconFetcher.cpp:
        (WebCore::IconFetcher::didFinishLoading):
        * loader/icon/IconFetcher.h:
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (StreamingClient::didFinishLoading):
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::notifyFinish):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didFinishLoading):
        * platform/network/ResourceLoadTiming.h:
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didFinishLoading):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::parseDataUrl):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (WebCoreSynchronousLoaderClient::didFinishLoading):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::finish):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::fileLoadTimer):
        (WebCore::ResourceHandle::cancel):

2010-09-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: small refactoring for monitorXHR backend property.

        Our Inspector API is quite big and can be simplified a bit.
        As example for single backend property like monitoringXHR we
        have 4 functions in the API. Two functions for frontend
        enableMonitoringXHR/disableMonitoringXHR and
        two functions for backend monitoringXHRWasEnabled and
        monitoringXHRWasDisabled. These functions can be replaced by
        one setMonitoringXHR with one 'in' and one 'out' argument.
        The initial state of the flag can be gathered from backend
        with help of getSettings call where additional section was
        added for backend state information.

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

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/Settings.js:
        * inspector/front-end/inspector.js:

2010-09-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Multiline console does not work on Windows / Linux.
        https://bugs.webkit.org/show_bug.cgi?id=45807

        * inspector/front-end/ConsoleView.js:

2010-09-15  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Dirk Schulze.

        SVGFETurbulenceElement doesn't support dynamic invalidation, when attributes change.
        A typo (noStich instead of nostitch) is also fixed in this patch.
        https://bugs.webkit.org/show_bug.cgi?id=45809

        Tests: svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html
               svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html
               svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html
               svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html
               svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html
               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html
               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html
               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html
               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html
               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html

        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
        (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
        * svg/SVGFETurbulenceElement.h:

2010-09-15  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [WINCE] Avoid memcpy in TextCodecWinCE::encode
        https://bugs.webkit.org/show_bug.cgi?id=45468

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

2010-09-14  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Add custom binding code for DirectoryEntry to allow JSON parameters for Flags
        https://bugs.webkit.org/show_bug.cgi?id=45724

        No new tests; tests will be added later.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDirectoryEntryCustom.cpp: Added.
        (WebCore::JSDirectoryEntry::getFile):
        (WebCore::JSDirectoryEntry::getDirectory):
        * bindings/v8/custom/V8DirectoryEntryCustom.cpp: Added.
        (WebCore::V8DirectoryEntry::getDirectoryCallback):
        (WebCore::V8DirectoryEntry::getFileCallback):
        * fileapi/DirectoryEntry.h:
        * fileapi/DirectoryEntry.idl:

2010-09-14  Jia Pu  <jpu@apple.com>
        
        Reviewed by Dan Bernstein.

        Only intercept ESC key press when autocorrection UI is visible.
        https://bugs.webkit.org/show_bug.cgi?id=45071

        Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
        ESC will cancel current loading like usual.

        * editing/Editor.cpp:
        (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
          panel is shown.

        * editing/Editor.h: Added declaration of isShowingCorrectionPanel().

        * editing/EditorCommand.cpp:
        (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
          when autocorrection panel is shown.
        (WebCore::createCommandMap): Replaced isSupported function pointer for
          executeCancelOperation() command with supportedDismissCorrectionPanel().

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
          new member method declared in base class.

        * page/EditorClient.h: Declared new member method isShowingCorrectionPanel().

2010-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r67503.
        http://trac.webkit.org/changeset/67503
        https://bugs.webkit.org/show_bug.cgi?id=45802

        This patch broke GTK builds (Requested by jianli_ on #webkit).

        * fileapi/ThreadableBlobRegistry.cpp:
        (WebCore::BlobRegistryContext::BlobRegistryContext):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::resourceData):
        (WebCore::ResourceLoader::addData):
        * platform/network/BlobResourceHandle.cpp:
        * platform/network/BlobResourceHandle.h:
        * platform/network/ResourceHandle.h:
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::bufferedData):

2010-09-14  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Zoom factor for checkboxes and radios.
        https://bugs.webkit.org/show_bug.cgi?id=45776

        RenderThemeQt does not consider RenderStyle::effectiveZoom when calculating sizes of
        checkboxes and radios.

        Even with this change the used QStyle must support different sizes for radios and checkboxes.
        QWindowStyle and QMacStyle, for example, do not.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):

2010-09-14  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: add AudioFileReader files (Mac implementation)
        https://bugs.webkit.org/show_bug.cgi?id=36475

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioFileReader.h: Added.
        * platform/audio/mac/AudioFileReaderMac.cpp: Added.
        (WebCore::createAudioBufferList):
        (WebCore::destroyAudioBufferList):
        (WebCore::AudioFileReader::AudioFileReader):
        (WebCore::AudioFileReader::~AudioFileReader):
        (WebCore::AudioFileReader::readProc):
        (WebCore::AudioFileReader::getSizeProc):
        (WebCore::AudioFileReader::createBus):
        (WebCore::createBusFromAudioFile):
        (WebCore::createBusFromInMemoryAudioFile):
        * platform/audio/mac/AudioFileReaderMac.h: Added.
        (WebCore::AudioFileReader::data):
        (WebCore::AudioFileReader::dataSize):

2010-09-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        Drawing an image outside the bounds of a canvas still causes repaints
        https://bugs.webkit.org/show_bug.cgi?id=45792
        
        Some canvas examples, such as http://www.phoboslab.org/biolab/, draw
        images outide the bounds of the canvas. If the canvas already had a
        non-empty m_dirtyRect, such draws would cause us to do a repaint of
        m_dirtyRect again (which goes through the platform-specific invalidation
        machinery, which can be slow).
        
        Optimize this by avoiding extra invalidation when the dirty rect
        does not intersect the canvas bounds.
        
        Not testable because this avoids additional repaints of m_dirtyRect, but
        m_dirtyRect has to be non-empty for this to benefit.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::didDraw):

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

        Reviewed by Pavel Feldman.

        Web Inspector: Links from "Profiles" don't lead to "Scripts"
        https://bugs.webkit.org/show_bug.cgi?id=45756

        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.createCell): use standard routine to create resource link
        * inspector/front-end/inspector.js: code cleanup: removed no-op method
        (WebInspector.addMainEventListeners):

2010-09-14  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Use codePage instead of TextEncoding
        https://bugs.webkit.org/show_bug.cgi?id=45466

        Use codePage as member variable to avoid repeated lookup.

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

2010-09-14  Adam Barth  <abarth@webkit.org>

        Attempted Chromium build fix.  The compiler can't tell that
        ASSERT_NOT_REACHED is not reached and so it demands an initialization
        of this variable.

        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::parseMappedAttribute):

2010-09-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Wheeling over windowed plugins sometimes cause them to disappear

        * plugins/qt/PluginContainerQt.cpp:
        (PluginClientWrapper::x11Event): Pass on captured mouse wheel events
        to the effective native window rather than the grandparent widget.
        We were calling QWidget::winId() which caused a new X11 window to be
        created for the grandparent widget and generally mess things up.

2010-09-14  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix after move of selectedText() method.

        * platform/wx/PasteboardWx.cpp:
        (WebCore::Pasteboard::writeSelection):

2010-09-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Handle <font size=0> as <font size=1> like any other browser
        https://bugs.webkit.org/show_bug.cgi?id=39148

        Update font size parser to match HTML5 spec.  The main difference here
        is the handling of 0, which now maps to 1 instead of 3.

        * html/HTMLFontElement.cpp:
        (WebCore::parseFontSize):
        (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):

2010-09-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        document.lastModified gives no output if the response doesn't have a Last-Modified header
        https://bugs.webkit.org/show_bug.cgi?id=8475

        Implement document.lastModified as per HTML5.

        Tests: http/tests/misc/last-modified-parsing.html
               http/tests/misc/no-last-modified.html

        * dom/Document.cpp:
        (WebCore::Document::lastModified):

2010-09-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        `document.compatMode` is `undefined` when using `application/xhtml+xml`
        https://bugs.webkit.org/show_bug.cgi?id=44422

        Moving the compatMode IDL attribute from HTMLDocument.idl to
        Document.idl fixes this bug and improve compliance with HTML5.

        Test: fast/parser/compatMode-in-xhtml.xhtml

        * dom/Document.cpp:
        (WebCore::Document::compatMode):
        * dom/Document.h:
        * dom/Document.idl:
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h:

2010-09-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Nate Chapin.

        V8 security checks don't account for shadowing named frames
        https://bugs.webkit.org/show_bug.cgi?id=45700

        Test: http/tests/security/xss-DENIED-frame-name.html

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::namedSecurityCheck):
            - If the property name exists on the object, it will shadow the
              named property lookup on the window object.  That means we need
              to block access if there's shadowing going on.
        (WebCore::V8DOMWindow::indexedSecurityCheck):
            - I made the corresponding change to this function too, but I don't
              think this one can actually be triggered because JavaScript
              variable names need to start with a non-digit.

2010-09-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        incorrect tabindex parsing
        https://bugs.webkit.org/show_bug.cgi?id=21076

        Updated our integer parsing for tabindex to use the algorithm from the
        HTML5 spec.

        Test: fast/parser/tabindex-parsing-2.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseHTMLInteger):
        * html/parser/HTMLParserIdioms.h:

2010-09-14  Brent Fulgham  <bfulgham@webkit.org>

        Build correction, no review.

        * WebCore.vcproj/WebCore.vcproj: Exclude OwnPtrCairo.cpp from
        non-Cairo based builds.

2010-09-14  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        fast/files/apply-blob-url-to-img.html timeout on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=45576

        The failure on Leopard is caused by the static method
        ResourceHandle::supportsBufferedData that returns true to indicate that
        the buffered data support is enabled for blob resource. However,
        BlobResourceHandle does not support this and we need to override this.

        The fix is to change supportsBufferedData method from static to virtual
        so that we can override the default behavior in BlobResourceHandle.

        * fileapi/ThreadableBlobRegistry.cpp: Copy BlobData to make it cross-thread. 
        (WebCore::BlobRegistryContext::BlobRegistryContext):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::resourceData):
        (WebCore::ResourceLoader::addData):
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::supportsBufferedData): Override the default
        behavior.
        * platform/network/BlobResourceHandle.h:
        * platform/network/ResourceHandle.h: Made supportsBufferedData virtual.
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::bufferedData):

2010-09-14  Brent Fulgham  <bfulgham@webkit.org>

        Build correction, no review.

        * WebCore.vcproj/WebCore.vcproj: Add missing OwnPtrCairo.cpp
          implementation file.
        * platform/graphics/cairo/OwnPtrCairo.cpp: Add missing include
          for <cairo.h>

2010-09-14  Chris Guillory   <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Send all accessibility notifications to Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=45156
        
        Use postAccessibilityNotification to pass accessibility notifications
        to chromium.

        Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
               platform/chromium/accessibility/post-notification-CheckedStateChanged.html
               platform/chromium/accessibility/post-notification-ChildrenChanged.html
               platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
               platform/chromium/accessibility/post-notification-LayoutComplete.html
               platform/chromium/accessibility/post-notification-LiveRegionChanged.html
               platform/chromium/accessibility/post-notification-LoadComplete.html
               platform/chromium/accessibility/post-notification-MenuListValueChanged.html
               platform/chromium/accessibility/post-notification-RowCollapsed.html
               platform/chromium/accessibility/post-notification-RowCountChanged.html
               platform/chromium/accessibility/post-notification-RowExpanded.html
               platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
               platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
               platform/chromium/accessibility/post-notification-SelectedTextChanged.html
               platform/chromium/accessibility/post-notification-ValueChanged.html

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * page/chromium/ChromeClientChromium.h:

2010-09-14  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Hang processing href attribute containing a million slashes
        https://bugs.webkit.org/show_bug.cgi?id=45767

        Test: fast/css/visited-link-hang.html

        * platform/LinkHash.cpp:
        (WebCore::findSlashDotDotSlash): Added a start position argument and
        changed types to use size_t consistently instead of a mix.
        (WebCore::findSlashSlash): Ditto.
        (WebCore::findSlashDotSlash): Ditto.
        (WebCore::squeezeOutNullCharacters): Added.
        (WebCore::cleanSlashDotDotSlashes): Added. Factored out part
        of cleanPath (see below).
        (WebCore::mergeDoubleSlashes): Ditto.
        (WebCore::cleanSlashDotSlashes): Ditto.
        (WebCore::cleanPath): Changed algorithm to not remove as we go to
        avoid N^2 behavior; instead replace with null characters and then
        do a squeeze operation after the fact. Also moved the body of the
        function out of line since we normally don't have to do any cleaning.
        This whole thing should go at some point -- it's not the right
        algorithm -- but this should eliminate the performance problems
        without changing behavior.

2010-09-14  Nico Weber  <thakis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium]: On Mac, let image layer data row order match skia.
        https://bugs.webkit.org/show_bug.cgi?id=45400

        Make CoreGraphics texture row order match skia's row order, remove all
        code that worked around this difference. This also fixes a problem where
        image layers would be drawn upside down.

        Covered by existing layout tests, but we don't run these with
        compositing yet.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
        (WebCore::ContentLayerChromium::updateContents):
        (WebCore::ContentLayerChromium::updateTextureRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        (WebCore::LayerRendererChromium::drawLayers):

2010-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        applyInlineStyleToNodeRange does not extend run properly
        https://bugs.webkit.org/show_bug.cgi?id=45616

        The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
        Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
        or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
        styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
        all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.

        Test: editing/style/inline-style-extend-run.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::containsNonEditableRegion): Added.
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
        * editing/ApplyStyleCommand.h:

2010-09-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] V8 port: Get inspector up and running
        https://bugs.webkit.org/show_bug.cgi?id=45771

        * inspector/front-end/WebKit.qrc: Add DebuggerScript.js

2010-09-14  Oliver Hunt  <oliver@apple.com>

        PPC Build fix.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readFile):
        (WebCore::CloneDeserializer::readTerminal):

2010-09-14  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Andreas Kling.

        [chromium] Remove unused ICU headers
        https://bugs.webkit.org/show_bug.cgi?id=45698

        Remove unused headers.

        * platform/graphics/chromium/FontCacheLinux.cpp:

2010-09-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Numpad Enter key returns keyCode 0 instead of 13
        https://bugs.webkit.org/show_bug.cgi?id=45014

        Original patch by Jarred Nicholls <jarred.nicholls@gmail.com>

        There is a missing case statement in the PlatformKeyboardEventQt.cpp
        file to handle the Enter button on the number pad.  Because it is not
        handled, the keyCode returned in a JavaScript event is 0 rather than 13.

        Test: manual-tests/qt/numpad-enter-key.html

        * manual-tests/qt/numpad-enter-key.html: Added.
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

2010-09-14  Evan Martin  <evan@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] building without debug syms broke after recent refactoring
        https://bugs.webkit.org/show_bug.cgi?id=45720

        Now that we build WebCore as multiple libraries, we need to adjust the
        flags to turn off debug symbols for all of these libraries.

        No new tests; should only affect an uncommon build flag.

        * WebCore.gyp/WebCore.gyp:

2010-09-14  Tony Chang  <tony@chromium.org>

        Unreviewed, fix chromium compile.

        * platform/graphics/chromium/ImageLayerChromium.h:

2010-09-14  Nico Weber  <thakis@chromium.org>

        Reviewed by Darin Fisher.

        [chromium]: crash less in compositor mode on mac
        https://bugs.webkit.org/show_bug.cgi?id=45714

        The contents image can go away when the dom is updated. Since the
        layer tree is updated asynchronously, it needs to ref the native image,
        else it will hold on to a stale object.

        This still needs to be done for skia, too.

        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:

2010-09-14  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
        Added support for resource timings to HAREntry.
        https://bugs.webkit.org/show_bug.cgi?id=45663

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        (WebInspector.HAREntry.prototype._interval):

2010-09-14  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Always set LeftButton in PlatformMouseEvent
        https://bugs.webkit.org/show_bug.cgi?id=45705

        AEE_POINTER_GET_MOUSE_MODIFIERS always returns 0, so it is impossible to know
        which button is pressed or released. The current code erroneously sets NoButton.
        Set LeftButton unconditionally because Brew MP usually runs on touch device.

        * platform/brew/PlatformMouseEventBrew.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

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

        Reviewed by Andreas Kling.

        Move DebuggerScript.js from WebKit/chromium/src/js to WebCore/bindings/v8
        https://bugs.webkit.org/show_bug.cgi?id=45739

        * bindings/v8/DebuggerScript.js: Added.

2010-09-10  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement on-demand reporting of empty CSS rules matched for a node by WebCore
        https://bugs.webkit.org/show_bug.cgi?id=45530

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
        * css/CSSStyleSelector.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):

2010-09-14  Hyung Song  <beergun@company100.net>

        Reviewed by Darin Adler.

        [BREWMP] Set m_size in SharedBuffer::createWithContentsOfFile();
        https://bugs.webkit.org/show_bug.cgi?id=45701

        SharedBuffer::createWithContentsOfFile() reads file content and saves to 
        result.m_buffer directly, leaving result.m_size unchanged.

        * platform/brew/SharedBufferBrew.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-09-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Move adjustLexerState to the HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=45649

        This function used let us share code between the tree builder and the
        two other users of the HTMLTokenizer.  However, now that the tree
        builder is all grown up, it can't use this code anymore.  The other
        users would much rather this code lived on HTMLTokenizer and understood
        <script>.  This patch attempts to make them happy.

        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLPreloadScanner::processToken):
        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::updateStateFor):
        * html/parser/HTMLTokenizer.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::scriptEnabled):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::updateTokenizerState):

2010-09-14  Pierre-Antoine LaFayette  <plafayet@codeaurora.org>

        Reviewed by Darin Adler.

        REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
        https://bugs.webkit.org/show_bug.cgi?id=40142

        http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case.  This just generalizes to all inline content.

        Patch by: Dave Hyatt

        Tests: fast/repaint/block-layout-inline-children-float-positioned.html
               fast/repaint/block-layout-inline-children-replaced.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
         
2010-09-14  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Andreas Kling.

        [Qt] Cookie operations should use NetworkingContext
        https://bugs.webkit.org/show_bug.cgi?id=45745
        No new functionality so no new tests.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::cookieJar): Use the NetworkingContext for obtaining the QNetworkAccessManager
        instead of directly accessing the FrameLoaderClient.

2010-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r67449.
        http://trac.webkit.org/changeset/67449
        https://bugs.webkit.org/show_bug.cgi?id=45746

        This change makes tree red. (Requested by pfeldman on
        #webkit).

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown):
        * editing/ApplyStyleCommand.h:

2010-09-14  Eric Seidel  <eric@webkit.org>

        Unreviewed, reverting changes r67451 and r67451.
        Broke lots of builders.

        Only intercept ESC key press when autocorrection UI is visible.
        https://bugs.webkit.org/show_bug.cgi?id=45071

        * editing/Editor.cpp:
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::createCommandMap):
        * loader/EmptyClients.h:
        * page/EditorClient.h:

2010-09-14  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed; an attempt to fix Chromium Windows build.

        * fileapi/FileEntry.cpp:

2010-09-13  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: provide support for opening external navigation for links within certain elements
        Use default handling for clicks on links that have target="_blank".
        Add option for external navigation to URL audit formatter.
        https://bugs.webkit.org/show_bug.cgi?id=45671

        * inspector/front-end/AuditFormatters.js:
        (WebInspector.AuditFormatters.url):
        * inspector/front-end/inspector.js:

2010-09-14  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * editing/EditorCommand.cpp:

2010-09-14  Jia Pu  <jpu@apple.com>

        Reviewed by Dan Bernstein.

        Only intercept ESC key press when autocorrection UI is visible.
        https://bugs.webkit.org/show_bug.cgi?id=45071

        Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
        ESC will cancel current loading like usual.

        * editing/Editor.cpp:
        (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
          panel is shown.

        * editing/Editor.h: Added declaration of isShowingCorrectionPanel().

        * editing/EditorCommand.cpp:
        (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
          when autocorrection panel is shown.
        (WebCore::createCommandMap): Replaced isSupported function pointer for
          executeCancelOperation() command with supportedDismissCorrectionPanel().

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
          new member method declared in base class.

        * page/EditorClient.h: Declared new member method isShowingCorrectionPanel().

2010-09-14  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Remove TextBreakIteratorInternalICUBrew.cpp
        https://bugs.webkit.org/show_bug.cgi?id=45691

        Brew MP no longer depends on ICU for internationalization.
        Remove TextBreakIteratorInternalICUBrew.cpp.

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

2010-09-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        applyInlineStyleToNodeRange does not extend run properly
        https://bugs.webkit.org/show_bug.cgi?id=45616

        The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
        Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
        or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
        styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
        all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.

        Test: editing/style/inline-style-extend-run.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::containsNonEditableRegion): Added.
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
        * editing/ApplyStyleCommand.h:

2010-09-13  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Kent Tamura.

        Add one #if guard block to fix Qt builds.

        Web Inspector: WebSocket in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=40768

        * inspector/InspectorResource.cpp:

2010-09-13  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Add WebSocket resource type to Web Inspector.

        When a new WebSocket connection is established, a line for that connection
        will appear in Web Inspector's Resources tab. If the resource name is
        clicked, the details of handshake request and response will be shown.

        Web Inspector: WebSocket in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=40768

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource): WebSocket resource does not
        have an associated loader, thus frame might be null. Need to check it.
        (WebCore::InspectorController::removeResource): Ditto.
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
        because WebSocket does not have a loader and we need to allow null for
        these variables.
        (WebCore::createReadableStringFromBinary):
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::create): Factory function of
        regular (non-WebSocket) resources.
        (WebCore::InspectorResource::createWebSocket): Factory function of
        WebSocket resources.
        (WebCore::InspectorResource::updateWebSocketRequest):
        (WebCore::InspectorResource::updateWebSocketResponse):
        (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
        available when Frame::setDocument() is called. We cannot obtain documentURL
        during the constructor or updateRequest() function, because m_frame->document()
        is not available yet at that point and documentURL will contain a wrong URL.
        As far as I know, updateScriptObject() is the only place where we can safely
        obtain documentURL.
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::markWebSocket):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-websockets, .resources-category-other):
        (.resources-category-websockets .resources-graph-bar):
        (.resources-category-websockets.resource-cached .resources-graph-bar):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::identifier):
        * websockets/WebSocketChannel.h:

2010-09-13  W. James MacLean  <wjmaclean@google.com>

        Reviewed by Darin Fisher.

        [chromium] Thumbnails not generated for GPU Rendered Pages
        https://bugs.webkit.org/show_bug.cgi?id=44127

        Replicates existing functionality, use existing tests.
        Adds pixel-readback for GPU composited pages to allow for thumbnailing,
        printing and other services to work with GPU rendered pages.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::getFramebufferPixels):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::rootLayerTextureSize):

2010-09-13  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed, build fix for Gtk.

        * bindings/js/JSEntryCustom.cpp:

2010-09-13  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Adam Barth.

        Make FileEntry and DirectoryEntry methods accessible via Entry instance
        https://bugs.webkit.org/show_bug.cgi?id=45553

        FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type.

        Added custom toJS/toV8 implementation to Entry interface.

        No new tests; test will be added later when we have complete implementation for the API.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEntryCustom.cpp: Added.
        (WebCore::toJS):
        * bindings/v8/custom/V8EntryCustom.cpp: Added.
        (WebCore::toV8):
        * fileapi/DirectoryEntry.h: Nits fix.
        * fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter.
        * fileapi/Entry.idl: Added CustomToJS attribute.
        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::createWriter):
        (WebCore::FileEntry::file):
        * fileapi/FileEntry.h:
        * fileapi/FileEntry.idl:

2010-09-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION: In Gmail, a crash occurs at getDoubleValue() when applying a text color to a new line
        https://bugs.webkit.org/show_bug.cgi?id=45632

        Test: editing/execCommand/query-font-size-with-typing-style.html

        The crash was caused by selectionStartCSSPropertyValue's deleting nodeToRemove before
        retrieving the font-size property. Fixed the bug by moving the removal code to the end of the function.

        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartCSSPropertyValue):

2010-09-13  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        [BREWMP] Remove WebCore namespace in SSLKeyGeneratorBrew.cpp
        https://bugs.webkit.org/show_bug.cgi?id=45690

        WebCore namespace is not required because getSupportedKeySizes and signedPublicKeyAndChallengeString are already
        in namespace WebCore block.

        * platform/brew/SSLKeyGeneratorBrew.cpp:
        (WebCore::getSupportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):

2010-09-13  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Code simplification needed in Atk Wrapper
        https://bugs.webkit.org/show_bug.cgi?id=45687

        Use TextIterator::rangeLength() to calculate endOffset

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getSelectionOffsetsForObject): Don't manually iterate over a
        artificial new range but just call TextIterator::rangeLength on
        the range created between the start and end positions.

2010-09-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Alice Liu.

        Clean up xcode project.

        * WebCore.xcodeproj/project.pbxproj:

2010-09-13  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Geoff Garen.

        JavaScript dialog should not deactivate media element
        https://bugs.webkit.org/show_bug.cgi?id=45688

        Test: http/tests/media/reload-after-dialog.html

        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMObjectCallbackImpl::suspend): Add ReasonForSuspension parameter.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setJavaScriptPaused): Pass new parameter to suspendActiveDOMObjects.

        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::suspend): Add ReasonForSuspension parameter.
        * dom/ActiveDOMObject.h:

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Ditto.
        * dom/ScriptExecutionContext.h:

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): Pass new parameter to suspendActiveDOMObjects.

        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::suspend): Add ReasonForSuspension parameter.
        * html/HTMLMarqueeElement.h:

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::stop): Deal with element being suspended.
        (WebCore::HTMLMediaElement::suspend): Do nothing unless reason for suspension is document
        becoming inactive.
        * html/HTMLMediaElement.h:

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Pass WillShowDialog to suspendActiveDOMObjects.

        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::suspend): Add ReasonForSuspension parameter.
        * page/SuspendableTimer.h:

        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::suspend): Ditto.
        * websockets/WebSocket.h:

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::suspend): Ditto.
        * xml/XMLHttpRequest.h:

2010-09-13  Sam Weinig  <sam@webkit.org>

        Fix the mac build.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMousePressEventToSubframe):

2010-09-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Can't scroll on Bugzilla patch review pages on Mac with WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=43555

        <rdar://problem/8421386> WebKit2: gmail.com is completely unresponsive to clicks
        <rdar://problem/8276298> Can't scroll on Bugzilla patch review pages on Mac with WebKit2 (43555)

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::frameHasPlatformWidget):
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        Add WebKit2 mode for these functions based on the presence of a platform widget for a
        FrameView.

2010-09-13  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [WINCE] Buildfix for ViewportArguments.cpp
        https://bugs.webkit.org/show_bug.cgi?id=45678

        Use fabs() instead of abs().
        This patch also fixes the return value, when
        the value is between -1 and 1.

        * dom/ViewportArguments.cpp:
        (WebCore::findUserScalableValue):

2010-09-13  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Preparation for eliminating deprecatedParseURL
        https://bugs.webkit.org/show_bug.cgi?id=45695

        Added new HTMLParserIdioms source file, with a name inspired by the HTML
        specification, which has a section defining things like "space character"
        that talks about common parser idioms. These are idioms for the main HTML
        parser and for parsers for various microlanguages as well.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added HTMLParserIdioms.

        * css/CSSHelper.h: Fixed indentation and comments here. Point to the new
        stripLeadingAndTrailingHTMLSpaces function.

        * html/parser/HTMLParserIdioms.cpp: Added.
        * html/parser/HTMLParserIdioms.h: Added.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
        Updated for name changes.

        * html/parser/HTMLTreeBuilder.h: Moved functions to HTMLParserIdioms.h.

        * html/HTMLInputElement.cpp:
        * html/HTMLMeterElement.cpp:
        * html/HTMLProgressElement.cpp:
        * html/StepRange.cpp:
        * rendering/RenderSlider.cpp:
        Updated includes.

        * svg/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::sourceURI): Fixed incorrect use of deprecatedParseURL.
        This is for use on the attribute value before building the URL, not on the URL
        after building it. I did not add a test case; this is an obscure corner and soon
        we will be moving to stripLeadingAndTrailingHTMLSpaces anyway.
        * wml/WMLImageLoader.cpp:
        (WebCore::WMLImageLoader::sourceURI): Ditto.

2010-09-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: REGRESSION: WebKit does not report label of web popup buttons
        https://bugs.webkit.org/show_bug.cgi?id=45715

        Test: platform/mac/accessibility/popup-button-title.html

        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):

2010-09-13  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Expose Flags constructor if FileSystem API is Enabled
        https://bugs.webkit.org/show_bug.cgi?id=45165

        This change also includes:
        - Changed Flags' attribute names from UPPERCASE to camelCase to reflect the recent spec change.
          http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-interface
        - Enhanced EnabledAtRuntime attribute to take parameter that is used to generate a RuntimeEnabledFeatures method name.

        No new tests; tests will be added when we fully expose the interface.

        * bindings/v8/V8DOMWindowCustom.cpp: Added custom getter for FlagsConstructor.
        * fileapi/Flags.idl: Changed attribute names to camelCase.
        * page/DOMWindow.idl: Exposed Flags constructor.

        * bindings/scripts/CodeGenerator.pm: Updated the WK_lcfirst hack to work around getter method for 'create' (create() should be avoided as it's widely used to instantiate an object).
        * bindings/scripts/CodeGeneratorV8.pm: Added EnabledAtRuntime=FeatureName support.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::create):
        (WebDOMTestObj::setCreate):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::createAttrGetter):
        (WebCore::TestObjInternal::createAttrSetter):
        (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrGetter):
        (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrSetter):
        (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrGetter):
        (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrSetter):
        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
        (WebCore::ConfigureV8TestObjTemplate):

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        "Implement" EOF processing in AfterBodyMode and AfterAfterBodyMode
        https://bugs.webkit.org/show_bug.cgi?id=45647

        Implements the notImplemented by doing nothing, which is the proper
        behavior according to the spec.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        More trivial EOF handling in tree builder
        https://bugs.webkit.org/show_bug.cgi?id=45648

        The spec says to treat these modes like the InBodyMode, which is what
        this patch does.  Doing so is indistinguishable from our current
        behavior, which is why we didn't catch this based on tests.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-09-13  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        SharedGraphicsContext3D's texture cache holds on to images after free
        https://bugs.webkit.org/show_bug.cgi?id=45706

        Each SharedGraphicsContext3D keeps a cache of uploaded textures keyed by NativeImagePtrs.
        Whenever the backing native image is deleted it needs to let the SharedGraphicsContext3D know
        so that the cache entry and associated texture can also be removed.

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::removeTextureFor):
        (WebCore::SharedGraphicsContext3D::removeTexturesFor):
        (WebCore::SharedGraphicsContext3D::allContexts):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::~NativeImageSkia):
        * platform/graphics/skia/NativeImageSkia.h:

2010-09-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: accessibilityIsIgnored is returning nil when return value expects a BOOL
        https://bugs.webkit.org/show_bug.cgi?id=45548

        Test: platform/mac/accessibility/element-is-ignored.html

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):

2010-09-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        CrashTracer: 874 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 663
        https://bugs.webkit.org/show_bug.cgi?id=45697

        Inside of AccessibilityTableRow, parentTable() should not use getOrCreate() on the parent table, because the render table may
        be in a bad state and accessing internal variables can lead to a crash.

        Test: platform/mac/accessibility/updating-attribute-in-table-row-crash.html

        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::parentTable):

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement EOF handling in TextMode
        https://bugs.webkit.org/show_bug.cgi?id=45644

        This patch is actually covered by a bunch of tests.  We were just
        magically passing the tests before because of some nutty code in
        Document.cpp.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
            - This code was masking the notImplemented in the tree builder.
              I also removed the use of the setting because it wasn't working
              properly anyway.  I'll implement a working version shortly.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):
            - Implement per the spec.

2010-09-13  Enrica Casucci  <enrica@apple.com>

        Reviewed by Sam Weining.

        Paste should be implemented in WebCore like Copy and Cut for Mac also.
        https://bugs.webkit.org/show_bug.cgi?id=45494
        <rdar://problem/7660537>

        On the Mac platform, the implementation of the paste operation is all done
        at the WebKit level. In order to support it on WebKit2 it is necessary to
        refactor the code and move this functionality at the level of WebCore like
        we already have on Windows.
        The original code relies on some in AppKit functions that call back into
        WebKit causing problems in WebKit2. All this functionality has been moved
        at the level of the editor client where it can be dealt with appropriately.

        * editing/Editor.cpp:
        (WebCore::Editor::shouldInsertFragment):
        * editing/mac/EditorMac.mm: extended to support Mail specific scenarios.
        (WebCore::Editor::pasteWithPasteboard):
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::canShowMIMETypeAsHTML): Added.
        (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Added.
        (WebCore::EmptyEditorClient::setInsertionPasteboard): Added to support Mail.
        * loader/FrameLoaderClient.h:
        * page/EditorClient.h:
        * platform/Pasteboard.h:
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeSelection): replaced call to Appkit with one that
        doesn't calll back into WebKit.
        (WebCore::Pasteboard::documentFragmentWithImageResource): Re-implemented at the
        WebCore level.
        (WebCore::Pasteboard::documentFragmentWithRtf): Re-implemented at the
        WebCore level.
        (WebCore::uniqueURLWithRelativePart): Added.
        (WebCore::Pasteboard::documentFragment): Extended to include all the functionality
        provided in documentFragmentFromPasteboard in WebHTMLView.mm.

2010-09-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Gtk] Reduce the size of the shadow buffer in the paths using the clip region
        https://bugs.webkit.org/show_bug.cgi?id=44699

        Intersect the clip bounding rect with the path that we are going
        to use to create the shadow in order to reduce the region we have
        to blur.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow):

210-09-13  Darin Fisher  <darin@chromium.org>

        Reviewed by David Levin.

        Add option to conditionally compile smooth scrolling support.
        https://bugs.webkit.org/show_bug.cgi?id=45689

        The OS(WINDOWS) conditional becomes unnecessary since
        ENABLE(SMOOTH_SCROLLING) should only be specified on
        platforms that have a smooth scrolling implementation.

        * platform/ScrollAnimator.cpp:
        * platform/ScrollAnimatorWin.cpp:
        * platform/ScrollAnimatorWin.h:

2010-09-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        Move functions of StyledMarkupAccumulator below that of MarkupAccumulator
        https://bugs.webkit.org/show_bug.cgi?id=45624

        Moved the declaration of StyledMarkupAccumulator and the definitions of its member functions
        to below the definitions of MarkupAccumulator's member functions.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
        (WebCore::StyledMarkupAccumulator::appendElement):
        (WebCore::StyledMarkupAccumulator::shouldAnnotate):
        (WebCore::StyledMarkupAccumulator::wrapWithNode):
        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
        (WebCore::StyledMarkupAccumulator::takeResults):
        (WebCore::StyledMarkupAccumulator::appendText):
        (WebCore::StyledMarkupAccumulator::renderedText):
        (WebCore::StyledMarkupAccumulator::stringValueForRange):
        (WebCore::styleFromMatchedRulesForElement):
        (WebCore::StyledMarkupAccumulator::removeExteriorStyles):
        (WebCore::needInterchangeNewlineAfter):
        (WebCore::styleFromMatchedRulesAndInlineDecl):
        (WebCore::removeEnclosingMailBlockquoteStyle):
        (WebCore::removeDefaultStyles):

2010-09-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Leak in the GraphicsContextCairo drawPathShadow
        https://bugs.webkit.org/show_bug.cgi?id=44959

        Fix a leak of the cairo_path.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow):
        * platform/graphics/cairo/OwnPtrCairo.cpp:
        (WTF::cairo_path_t):
        * platform/graphics/cairo/OwnPtrCairo.h:

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix </sarcasm>
        https://bugs.webkit.org/show_bug.cgi?id=45645

        Umm... Yeah.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):

2010-09-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Darin Adler.

        [WML] Fix build breaks when WML is enabled
        https://bugs.webkit.org/show_bug.cgi?id=45628

        There are build breaks by Bug 22382 when WML is enabled. The handleLinkClick() has an event parameter.
        So, we need to set an event when wml invoke the handleLinkClick(). And, doTextFieldCommandFromEvent()
        was moved to editor. So, we need to mofidy the invocation in WMLInputElement.cpp 

        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::defaultEventHandler):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::defaultEventHandler):

2010-09-13  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] When a feature is disabled by default, the source necessary to build it are not included in the distribution
        https://bugs.webkit.org/show_bug.cgi?id=45230

        No new tests as this is just a build change.

        * GNUmakefile.am: Move as many sources as possible to the SOURCES primary.
        Others should be moved over time as we solve issues with them.

2010-09-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r64816-r64889): Crash in WebCore::AccessibilityRenderObject
        https://bugs.webkit.org/show_bug.cgi?id=43807

        Ensure that visiblePositionForPoint can handle non RenderBoxModelObject types.

        Test: platform/mac/accessibility/visible-position-crash-for-text-node.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):

2010-09-13  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Andreas Kling.

        [Qt] DOM listeners get wrong keycodes for some keys
        https://bugs.webkit.org/show_bug.cgi?id=43365

        Produce the proper keycodes for the print screen key as well as the
        keypad insert and delete keys.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent): Fix keycode translation for the mentioned keys.

2010-09-13  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Steve Block.

        [chromium] Port test shell geolocation fixes to DRT
        https://bugs.webkit.org/show_bug.cgi?id=45313

        Also re-apply rolled out patch http://trac.webkit.org/changeset/66886 :-
        Add missing virtual destructor to the abstract base class.

        * platform/chromium/GeolocationServiceChromium.cpp:
        (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
        * platform/chromium/GeolocationServiceChromium.h:

2010-09-13  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: upstream testExpandScope debugger test
        https://bugs.webkit.org/show_bug.cgi?id=45260

        Test: inspector/debugger-expand-scope.html

        * inspector/front-end/InjectedScript.js: return "Arguments" as class name for arguments variable in v8.
        (injectedScriptConstructor.):

2010-09-13  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] ATs should be able to select/unselect text
        https://bugs.webkit.org/show_bug.cgi?id=25673

        Implement AtkText's setSelection and removeSelection functions

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
        Moved some GTK specific code from a ifdef-endif region to
        AccessibilityObjectAtk.cpp
        * accessibility/AccessibilityObject.h:
        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::getLengthForTextRange): New.
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_remove_selection): Implemented following
        the lead of GAIL's implementation of the AtkText interface.
        (webkit_accessible_text_set_selection): Implemented following
        the lead of GAIL's implementation of the AtkText interface.
        (webkit_accessible_text_set_caret_offset): Changed to directly use
        visiblePositionRangeForRange now that there's no longer a problem
        with that, as it was in the past (only worked for text controls).

2010-08-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Antti Koivisto.

        Update support for the viewport meta tag algorithm, to
        match the following draft spec:

        http://people.opera.com/rune/TR/ED-css-viewport-20100806/

        Add common handling of viewport meta tag based on new Opera spec
        https://bugs.webkit.org/show_bug.cgi?id=44201

        Tests: fast/viewport/viewport-1.html
               fast/viewport/viewport-10.html
               fast/viewport/viewport-100.html
               fast/viewport/viewport-101.html
               fast/viewport/viewport-102.html
               fast/viewport/viewport-103.html
               fast/viewport/viewport-104.html
               fast/viewport/viewport-105.html
               fast/viewport/viewport-106.html
               fast/viewport/viewport-107.html
               fast/viewport/viewport-108.html
               fast/viewport/viewport-109.html
               fast/viewport/viewport-11.html
               fast/viewport/viewport-110.html
               fast/viewport/viewport-111.html
               fast/viewport/viewport-112.html
               fast/viewport/viewport-113.html
               fast/viewport/viewport-114.html
               fast/viewport/viewport-115.html
               fast/viewport/viewport-116.html
               fast/viewport/viewport-117.html
               fast/viewport/viewport-118.html
               fast/viewport/viewport-119.html
               fast/viewport/viewport-12.html
               fast/viewport/viewport-120.html
               fast/viewport/viewport-121.html
               fast/viewport/viewport-122.html
               fast/viewport/viewport-123.html
               fast/viewport/viewport-124.html
               fast/viewport/viewport-125.html
               fast/viewport/viewport-126.html
               fast/viewport/viewport-127.html
               fast/viewport/viewport-13.html
               fast/viewport/viewport-14.html
               fast/viewport/viewport-15.html
               fast/viewport/viewport-16.html
               fast/viewport/viewport-17.html
               fast/viewport/viewport-18.html
               fast/viewport/viewport-19.html
               fast/viewport/viewport-2.html
               fast/viewport/viewport-20.html
               fast/viewport/viewport-21.html
               fast/viewport/viewport-22.html
               fast/viewport/viewport-23.html
               fast/viewport/viewport-24.html
               fast/viewport/viewport-25.html
               fast/viewport/viewport-26.html
               fast/viewport/viewport-27.html
               fast/viewport/viewport-28.html
               fast/viewport/viewport-29.html
               fast/viewport/viewport-3.html
               fast/viewport/viewport-30.html
               fast/viewport/viewport-31.html
               fast/viewport/viewport-32.html
               fast/viewport/viewport-33.html
               fast/viewport/viewport-34.html
               fast/viewport/viewport-35.html
               fast/viewport/viewport-36.html
               fast/viewport/viewport-37.html
               fast/viewport/viewport-38.html
               fast/viewport/viewport-39.html
               fast/viewport/viewport-4.html
               fast/viewport/viewport-40.html
               fast/viewport/viewport-41.html
               fast/viewport/viewport-42.html
               fast/viewport/viewport-43.html
               fast/viewport/viewport-44.html
               fast/viewport/viewport-45.html
               fast/viewport/viewport-46.html
               fast/viewport/viewport-47.html
               fast/viewport/viewport-48.html
               fast/viewport/viewport-49.html
               fast/viewport/viewport-5.html
               fast/viewport/viewport-50.html
               fast/viewport/viewport-51.html
               fast/viewport/viewport-52.html
               fast/viewport/viewport-53.html
               fast/viewport/viewport-54.html
               fast/viewport/viewport-55.html
               fast/viewport/viewport-56.html
               fast/viewport/viewport-57.html
               fast/viewport/viewport-58.html
               fast/viewport/viewport-59.html
               fast/viewport/viewport-6.html
               fast/viewport/viewport-60.html
               fast/viewport/viewport-61.html
               fast/viewport/viewport-62.html
               fast/viewport/viewport-63.html
               fast/viewport/viewport-64.html
               fast/viewport/viewport-65.html
               fast/viewport/viewport-66.html
               fast/viewport/viewport-67.html
               fast/viewport/viewport-68.html
               fast/viewport/viewport-69.html
               fast/viewport/viewport-7.html
               fast/viewport/viewport-70.html
               fast/viewport/viewport-71.html
               fast/viewport/viewport-72.html
               fast/viewport/viewport-73.html
               fast/viewport/viewport-74.html
               fast/viewport/viewport-75.html
               fast/viewport/viewport-76.html
               fast/viewport/viewport-77.html
               fast/viewport/viewport-78.html
               fast/viewport/viewport-79.html
               fast/viewport/viewport-8.html
               fast/viewport/viewport-80.html
               fast/viewport/viewport-81.html
               fast/viewport/viewport-82.html
               fast/viewport/viewport-83.html
               fast/viewport/viewport-84.html
               fast/viewport/viewport-85.html
               fast/viewport/viewport-86.html
               fast/viewport/viewport-87.html
               fast/viewport/viewport-88.html
               fast/viewport/viewport-9.html
               fast/viewport/viewport-90.html

        * dom/ViewportArguments.cpp:
        (WebCore::findConfigurationForViewportData):
        (WebCore::findSizeValue):
        (WebCore::findScaleValue):
        (WebCore::findUserScalableValue):
        (WebCore::findTargetDensityDPIValue):
        (WebCore::setViewportFeature):
        * dom/ViewportArguments.h:
        (WebCore::ViewportArguments::):
        (WebCore::ViewportArguments::ViewportArguments):
        (WebCore::ViewportArguments::hasCustomArgument):

2010-09-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Don't add empty strings to list of supported image MIME types
        https://bugs.webkit.org/show_bug.cgi?id=45643

        After <http://trac.webkit.org/changeset/67355> getMIMETypeForExtension()
        returns an empty string instead of "application/octet-stream" for unsupported
        extensions. Don't add these to the list of supported types, and clean out
        the logic that removed "application/octet-stream" from supported types.

        Fixes crash in initializeMIMETypeRegistry() due to inserting String() into
        a HashSet<String>.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):

2010-09-13  Adam Barth  <abarth@webkit.org>

        Attempted Qt build fix.

        * html/parser/HTMLElementStack.cpp:

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Apply spec changes to InForeignContentMode
        https://bugs.webkit.org/show_bug.cgi?id=45636

        Now breaking out of foreign content doesn't always bring you back to
        HTML.  If you have a foreign content element that can contain HTML, you
        just get brought back to that element.

        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isForeignContentScopeMarker):
        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
        * html/parser/HTMLElementStack.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Convert notImplemented() to ASSERT_NOT_REACHED
        https://bugs.webkit.org/show_bug.cgi?id=45639

        The reason we never implemented this state is because it's not actually
        reachable.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-09-13  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [WINCE] Buildfix for ScrollAnimatorWin
        https://bugs.webkit.org/show_bug.cgi?id=45595

        Use fabs() instead of abs().

        * platform/ScrollAnimatorWin.cpp:
        (WebCore::ScrollAnimatorWin::scroll):
        (WebCore::ScrollAnimatorWin::animateScroll):

2010-09-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove fixed FIXME
        https://bugs.webkit.org/show_bug.cgi?id=45637

        The spec made assertions that were false.  Hixie fixed the spec by
        removing the assertions.  There's no need to keep these FIXMEs in the
        code.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):

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

        Reviewed by Eric Seidel.

        Remove FIXME now that the HTML5 spec has been updated
        https://bugs.webkit.org/show_bug.cgi?id=45634

        The spec changed to say what we do here so this FIXME isn't needed
        anymore.

        Tests: fast/parser/form-pointer-1.html
               fast/parser/form-pointer-2.html
               fast/parser/form-pointer-3.html
               fast/parser/form-pointer-4.html

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):

2010-09-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>

        Reviewed by Antonio Gomes.

        https://bugs.webkit.org/show_bug.cgi?id=18768
        Fixed a bug in scroll flow. When we don't have scrollbars, we need to
        repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
        scrollContents();

        Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html
               scrollbars/scrollevent-iframe-no-scrolling.html

        * page/FrameView.cpp:
        (WebCore::FrameView::valueChanged): Added.
        * page/FrameView.h: Added a new method.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged): Added.
        (WebCore::ScrollView::updateScrollbars):
        * platform/ScrollView.h: Added a new method.

2010-09-10  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        [Chromium] Implement textInputController.hasSpellingMarker() for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=45441
        
        Added an  API for testing marker state. 
        We locate this here instead of DRT for sharing the logic between
        multiple ports.

        * WebCore.exp.in:
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartHasSpellingMarkerFor):
        * editing/Editor.h:

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

        Reviewed by Eric Seidel.

        Adoption agency should use takeAllChildrenFrom
        https://bugs.webkit.org/show_bug.cgi?id=45570

        Before this patch, we were using an unsafe pattern of walking the
        sibling list without grabbing references.  Instead, we should use the
        shiny new takeAllChildrenFrom method that shoves the children into a
        vector first.  Also, update takeAllChildrenFrom to handle the case
        where the old parent is attached.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::takeAllChildrenFrom):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        * html/parser/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        isParsingFragment assert hit in new treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=45621

        Update our list of special tags to match the spec.

        * html/parser/HTMLTreeBuilder.cpp:

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

        Reviewed by Andreas Kling.

        [Qt] Fix http/tests/navigation/reload-subframe-object.html

        We need to bring our use of getMimeTypeForPath() and
        getMimeTypeForExtension() into line with WebCore expectations.

        We should use MIMETypeRegistry::getMIMETypeForExtension() for cases
        where an empty mimetype should be returned if no match is found, and
        MIMETypeRegistry::getMIMETypeForPath() for cases where
        'application/octet-stream' should be returned if no match is found.

        Fixes http/tests/navigation/reload-subframe-object.html

        Based on findings in webkit.org/b/31398 and webkit.org/b/15554.

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

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        * platform/qt/MIMETypeRegistryQt.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):

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

        Reviewed by Adele Peterson.

        Neglect unlikely hyphenation opportunities
        https://bugs.webkit.org/show_bug.cgi?id=45606

        Avoid looking for hyphenation points in about 40% of the cases at the cost of missing about
        3% of the hyphenation opportunities.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::tryHyphenating): Bail out if the widest the prefix before the hyphen can be is no more
        than 5/4 the font size.

2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] fix qt_webkit_version.pri install for in-Qt builds

        Always add the target, even if building inside Qt - as opposed to the
        headers and libraries, there are no rules for that coming from
        qbase.pri.

        Task-number: QTBUG-13306

        * WebCore.pro:

2010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Let QtWebKit inject itself into the qt configuration

        i.e., don't explicitly deal with qt_webkit_version.pri outside of the
        webkit source directory.

        Task-number: QTBUG-12379

        * WebCore.pro:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Build fix.

        * WebCore.pro: Re-add erroneously removed sources.

2010-09-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove Path::closeSubpath() workaround for broken miter joins
        https://bugs.webkit.org/show_bug.cgi?id=45618

        Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG
        paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::closePath):
        * platform/graphics/Path.h:
        * platform/graphics/qt/PathQt.cpp:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Gtk and minimal builds.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::npObject): Correct the #ifdefs.
        (WebCore::PluginView::bindingInstance): Moved npErr variable
        into npObject() function where it is used.

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Prospective build fix for minimal build.

        * plugins/PluginView.cpp: Guard newly added function
        by ENABLE_NETSCAPE_PLUGIN feature.
        (WebCore::PluginView::npObject):
        * plugins/PluginView.h:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Add support for binding QtWebKit to a QScriptEngine.

        The ScriptController owns the V8 context, and this patch
        for the Qt build also gives it a QScriptEngine, that has
        been instructed to adopt the V8 context.

        This is the enabler for the QObject bindings, used in
        the API and DRT.

        * WebCore.pro:
        * bindings/v8/ScriptController.cpp: Include QScriptEngine
        for the Qt build, to let the ~ScriptController destructor
        find the QScriptEngine destructor (via OwnPtr).
        * bindings/v8/ScriptController.h: Declare getters.
        * bindings/v8/ScriptControllerQt.cpp: Added.
        (WebCore::ScriptController::qtScriptEngine): Implement
        engine adoption.

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Last bits and pieces for a V8 build.

        When building with V8, get it from QtScript.

        * WebCore.pro: Use QtScript, removed non-existant
        bridge files from the build.

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Add PlatformBridge for V8 build.

        Add the minimalisting platform bridge with the two
        methods needed by NPV8Object.cpp.

        * WebCore.pro:
        * platform/qt/PlatformBridge.h: Added.
        * platform/qt/PlatformBridgeQt.cpp: Added.
        (WebCore::PlatformBridge::popupsAllowed):
        (WebCore::PlatformBridge::pluginScriptableObject):
        * plugins/PluginView.cpp: Refactor the plugin object
        retrieval code into a separate function, called by
        bindingInstance() and PlatformBridge.
        (WebCore::PluginView::npObject):
        (WebCore::PluginView::bindingInstance):
        * plugins/PluginView.h:

2010-09-11  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        http/tests/media/text-served-as-text.html failing on Windows (Debug+Release)
        https://bugs.webkit.org/show_bug.cgi?id=45603

        Disable the eat/text components under Windows the same way as we do on the Mac.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/QTMovie.cpp:
        * platform/graphics/win/QTMovie.h:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        Fix compilation of the V8 bindings on X11 with Qt.

        This changes brings the file in sync with its copy in bridge/,
        adding additional conflicting X11 keywords to undef. This is
        a temporary fix until the file is removed altogether, which is
        tracked in https://bugs.webkit.org/show_bug.cgi?id=45617

        * bindings/v8/npruntime_internal.h:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        Fix compilation of the V8 bindings on X11 with Qt.

        These headers include npruntime, which drag on X11Resources.h, which
        among other things #define's None and Boolean. Later on v8.h is included,
        which declares these in enums and therefore conflicts. npruntime_internal.h
        was introduced exactly to address this problem by including npruntime.h
        and undeff'ing the offending constants.

        * bindings/v8/V8Helpers.h:
        * bindings/v8/V8NPObject.h:
        * bindings/v8/V8NPUtils.h:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Gtk build fix.

        Use false instead of False after
        http://trac.webkit.org/changeset/67323

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paint):

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Fix the compilation of V8Binding.cpp when compiling with Qt.

        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource): In this
        line an AtomicString should be converted to a WTF::String. The former
        has a conversion operator to the latter, to be able to call the
        WTF::String copy constructor. When compiling with Qt, then AtomicString
        also has a conversion operator to QString _and_ WTF::String has an
        implicit constructor that takes a QString. Therefore the compiler is
        confused and not sure which conversion to prefer, the one that isn't
        actually a conversion - going to WTF::String - or the conversion from
        AtomicString to QString and then constructing the WTF::String from
        a QString. To resolve this ambiguity we explicitly call the string()
        helper function on the AtomicString, which is equivalent to the
        operator WTF::String().

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        Fix the build without JSC.

        Complement http://trac.webkit.org/changeset/59826 and
        add missing JSC guards.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::bindingInstance):
        (WebCore::PluginView::privateBrowsingStateChanged):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::platformStart):

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        Fix compilation with V8 and XPath enabled.

        V8XPathNSResolver.cpp includes V8XPathNSResolver.h,
        which includes V8DOMWrapper.h as its first header.
        V8DOMWrapper.h then uses V8XPathNSResolver in an inline
        function, and gcc doesn't seem to like this, because
        at this point the type isn't known ("V8XPathNSResolver
        has not been declared"). Forward declaring the type
        doesn't help unfortunately: "incomplete type
        'WebCore::V8XPathNSResolver' used in nested name
        specifier".

        To resolve this circular dependency, this patch moves
        the inline function into the .cpp file.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getXPathNSResolver):
        * bindings/v8/V8DOMWrapper.h:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt][X11] Fix build with V8 against X11 headers.

        Added "True" and "False" to the list of words
        we free from the X11 macro jail.

        * bridge/npruntime_internal.h:
        * config.h: The V8 bindings end up indirectly pulling
        in X11 headers and they use True/False. There's no
        central header apart from this one, so include the
        x11 fixing header here for Qt/X11/V8.
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::paint): Use false instead of False
        since False isn't available anymore.

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Fix compilation with V8 and Qt.

        Use WebKit's page cache for ScriptCachedFrameData.

        * bindings/v8/ScriptCachedFrameData.h:

2010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        Fix compiler warning.

        NPClass has 13 members, the last one (NPConstructFunctionPtr construct) wasn't
        initialized explicitly.

        * bindings/v8/NPV8Object.cpp:

2010-09-12  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] get_n_selections and get_selection fail when selecting text across object boundaries
        https://bugs.webkit.org/show_bug.cgi?id=26991

        Fix AtkText getNSelections() and getSelection() to work properly

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (selectionBelongsToObject): Check that both the selection intersects
        the node AND that the selection is not just "touching" one of the
        boundaries for the selected node. We want to check whether the
        node is actually inside the region, at least partially
        (getSelectionOffsetsForObject): New function to get the start and
        end offsets of a selection for a given accessible object.
        (webkit_accessible_text_get_selection): Return zero when both
        start and end offsets are equal, following the lead of GAIL.

2010-09-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Make SecurityOrigin::canDisplay an instance function
        https://bugs.webkit.org/show_bug.cgi?id=45219

        This function was secretly an instance function because callers needed
        to pass in a document (which owns a SecurityOrigin).  Only the
        FrameLoader actually needs the method to be static.

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
            - Notice that DocLoader::doc() can never be 0.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
        (WebCore::SubframeLoader::createJavaAppletWidget):
        (WebCore::SubframeLoader::loadSubframe):
        (WebCore::SubframeLoader::loadPlugin):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        (WebCore::SecurityOrigin::deprecatedCanDisplay):
        * page/SecurityOrigin.h:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::load):

2010-09-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Make SecurityOrigin::canDisplay an instance function
        https://bugs.webkit.org/show_bug.cgi?id=45219

        This function was secretly an instance function because callers needed
        to pass in a document (which owns a SecurityOrigin).  Only the
        FrameLoader actually needs the method to be static.

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
            - Notice that DocLoader::doc() can never be 0.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
        (WebCore::SubframeLoader::createJavaAppletWidget):
        (WebCore::SubframeLoader::loadSubframe):
        (WebCore::SubframeLoader::loadPlugin):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        (WebCore::SecurityOrigin::deprecatedCanDisplay):
        * page/SecurityOrigin.h:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::load):

2010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed.

        [Qt] Trivial V8 build fix.

        * WebCore.pri: Add storage, workers and css to the include paths for the
        JS code generator.

2010-09-11  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] V8 port: Fix "WTF::String::utf8" returns incomplete type WTF::CString
        https://bugs.webkit.org/show_bug.cgi?id=45157

        Include CString.h where necessary. Chromium builds would get it from
        KURLGooglePrivate.h so this is only an issue for Qt + V8.

        * bindings/v8/V8Proxy.cpp:
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorProfilerAgent.cpp:
        * plugins/PluginDatabase.cpp:

2010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] V8 port: webkit project files changes
        https://bugs.webkit.org/show_bug.cgi?id=45140

        * WebCore.pro: Removed unecessary common.pri inclusion from earlier patch.

2010-09-03  Vlad Burlik  <volodimir.burlik@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] V8 port: webcore project files changes
        https://bugs.webkit.org/show_bug.cgi?id=45141

        Modify webcore project files to include V8 javascript engine. By default disabled.

        * WebCore.pri:
        * WebCore.pro:
        * features.pri:

2010-09-11  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        Web Inspector: Include CString.h in generated files

        This is necessary for generated code that uses the CString
        returned by String::utf8() (from generateBackendDispatcher)

        Chromium builds already get CString.h from KURLGooglePrivate.h
        so this issue only occurs when building Qt against V8.

        * inspector/CodeGeneratorInspector.pm:

2010-09-11  Adele Peterson  <adele@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=45587
        Move line clamp code to its own function.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        (WebCore::RenderFlexibleBox::applyLineClamp):
        * rendering/RenderFlexibleBox.h:

2010-09-11  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        URIs in styles created via innerHTML are not resolved against the document's base URI
        https://bugs.webkit.org/show_bug.cgi?id=45565

        The dummy document used for fragment parsing created by 
        FragmentParsingContext should use the base URI of the fragment's
        document. Since (HTML)Document doesn't expose a setter for the base URI
        (and shouldn't), we allow it to be set by the constructor/create
        function.
        
        Also remove some obsolete code that references the legacy tree builder
        from HTMLElement that I happened to notice.

        Test: fast/innerHTML/innerHTML-uri-resolution.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::create):
        * html/HTMLElement.cpp:
        (WebCore::createFragmentFromSource):
        (WebCore::HTMLElement::setInnerHTML):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):

2010-09-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Darin Adler.

        Add NetworkingContext to avoid layer violations
        https://bugs.webkit.org/show_bug.cgi?id=42292

        Activate NetworkingContext:

        Since the ResourceHandle::create, ResourceHandle::start and
        ResourceHandle::loadResourceSynchronously API's were modified,
        having their Frame* parameter substituted by a NetworkingContext*,
        all implementations of them were also modified.
        This patch also modifies all functions that were calling the above
        ones.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::loadNow):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::PingLoader):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::load):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):
        * loader/icon/IconFetcher.cpp:
        (WebCore::IconFetcher::loadEntry):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStart):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        (WebCore::QNetworkReplyHandler::start):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::willLoadFromCache):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/soup/ResourceHandleSoup.cpp:
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):

2010-09-10  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        <CoreGraphics/CGAffineTransform.h> isn't on the build bots either.  Wrap
        all references to m_movieTransform in #if USE(ACCELERATED_COMPOSITING) guards.
        
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:

2010-09-10  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        <CoreGraphics/CGFloat.h> does not exist on the build bots.  Replace
        instances of CGFAbs() with abs().

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):

2010-09-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8414282> Can’t dynamically change first-letter to/from floating

        Test: fast/dynamic/first-letter-display-change.html

        * rendering/RenderBlock.cpp:
        (WebCore::styleForFirstLetter): Factored this helper function out.
        (WebCore::RenderBlock::updateFirstLetter): Renamed variables so that the
        “update style” and “create new” branches use the same terminology. In the
        update case, if the style change requires a new renderer, handle it.
        * rendering/RenderTextFragment.h:
        (WebCore::toRenderTextFragment): Added.

2010-09-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
        Precursor to <rdar://problem/7660657>
        https://bugs.webkit.org/show_bug.cgi?id=45522

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Remove ZoomMode.h

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        Remove uses of shouldApplyTextZoom(), it had turned into just a compare to 1.0f.

        * html/HTMLBodyElement.cpp:
        (WebCore::adjustForZoom):
        (WebCore::HTMLBodyElement::setScrollLeft):
        (WebCore::HTMLBodyElement::setScrollTop):
        Convert these to use the explicit pageZoomFactor() function, it made no sense for text zoom
        anyway.

        * page/Frame.h:
        Remove include of ZoomMode.h

        * page/FrameView.cpp:
        (WebCore::parentPageZoomFactor):
        (WebCore::parentTextZoomFactor):
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::setPageZoomFactor):
        (WebCore::FrameView::setTextZoomFactor):
        (WebCore::FrameView::setPageAndTextZoomFactors):
        * page/FrameView.h:
        (WebCore::FrameView::pageZoomFactor):
        (WebCore::FrameView::textZoomFactor):
        Change FrameView to store two values for zoom, one for page zoom and one for text zoom.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        Removed zoom mode.

        * page/ZoomMode.h: Removed.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::zoomFactor):
        Remove now unnecessary call to shouldApplyPageZoom since it will be 1 if it should
        be ignored.

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentScale):
        Use explicit setPageZoomFactor function.

2010-09-10  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix for EFL.

        [EFL] REGRESSION(67167) build break because of newly added JSBindingState.cpp
        https://bugs.webkit.org/show_bug.cgi?id=45537

        * CMakeLists.txt:

2010-09-10  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
        https://bugs.webkit.org/show_bug.cgi?id=45582

        * WebCore.exp.in: Updated.

        * WebCore.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h/m.
        * page/mac/WebDashboardRegion.h: Removed.
        * page/mac/WebDashboardRegion.m: Removed.

        * page/Frame.h: Removed unneeded #if. Removed dashboardRegionsDictionary function, now
        handled in WebKit. Removed searchForNSLabelsAboveCell function, which had become dead code.
        * page/mac/FrameMac.mm: Ditto. Also tweaked a place that said "int unsigned".

2010-09-10  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        Make middle clicks not fire DOM onclick events.
        https://bugs.webkit.org/show_bug.cgi?id=22382

        * html/HTMLAnchorElement.cpp: Explicitly include middle-clicks in the
        computation of what constitutes a link click, since they're no longer
        implicitly included.
        (WebCore::isLinkClick):
        * html/HTMLInputElement.cpp: Removed unneeded checks that click events
        are coming from the left mouse button, since they all are now.
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        (WebCore::HTMLInputElement::postDispatchEventHandler):
        (WebCore::HTMLInputElement::defaultEventHandler):
        * page/EventHandler.cpp: Changed logic to send a click event only for
        the left button.
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):

2010-09-10  Adam Barth  <abarth@webkit.org>

        Attempted build fix for Qt Minimal.

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

2010-09-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Pseudostyle resolution corrupts cached child index values
        https://bugs.webkit.org/show_bug.cgi?id=45574

        Covered by fast/dom/firstline-fixed-crash.html and fast/dom/firstletter-tablecell-crash.html.

        RenderBlock::updateFirstLetter() calls getCachedPseudoStyle() passing as the parent style the
        style of the parent of the first letter, which is not always the parent of the element for
        which we are getting :first-letter style. As a result, style resolution caches childIndex values
        in the wrong element’s style.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::pseudoStyleForElement): Create the new style and inherit from
        the parent style before matching rules, to avoid corrupting the parent style itself.
        (WebCore::CSSStyleSelector::checkSelector): Always pass the element’s parent style as
        the parent style here.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter): Removed the null check that was added
        in r67183.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak): Removed the null check that was added
        in r67184.

2010-09-10  Jer Noble  <jer.noble@apple.com>

        Reviewed by Simon Fraser.

        Movies with track or movie matrices don't display in <video> elements (Safari 5/Windows)
        https://bugs.webkit.org/show_bug.cgi?id=45333
        rdar://problem/81333126
        
        QuickTime will refuse to decode video frames for movies whose movie and track matrices 
        are non-identity.  To work around this problem, extract the movie and track matrices 
        from the movie, and set that matrix on the video layer instead.

        * WebCore.vcproj/QTMovieWin.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::LayoutClient): Added.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::layoutSublayersOfLayer):
            Layout the video layer according to its superlayer's size.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
            Apply the m_movieTransform to the size reported by QTMovie.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
            Calculate m_movieTransform and reset the movie and track matrices in the movie.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
            Create two nested layers instead of one.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
            Make sure to remove m_qtVideoLayer from any superlayer before dereferencing it.
        * platform/graphics/win/QTMovie.cpp:
        (QTMovie::videoTracks): Added.
        (QTMovie::getTransform): Added.
        (QTMovie::setTransform): Added.
        (QTMovie::resetTransform): Added.
        * platform/graphics/win/QTMovie.h:
        * platform/graphics/win/QTTrack.cpp: Added.
        * platform/graphics/win/QTTrack.h: Added.
        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::setBounds): Call setNeedsLayout() if a layoutClient is present.
        (WebCore::WKCACFLayer::setFrame): Call setNeedsLayout() if a layoutClient is present.

2010-09-10  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Touch mediaControlsQuickTime in order to trigger the UserAgentStyleSheet.h to be rebuilt.

        * css/mediaControlsQuickTime.css:
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):

2010-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Fisher.

        Move code from WebKit-layer to DocumentLoader
        https://bugs.webkit.org/show_bug.cgi?id=45569

        There's a bunch of code that's copy/pasted (poorly) across all the
        ports that really belongs in WebCore.  This patch moves that logic into
        DocumentLoader.  This patch is a step on the path to having
        DocumentLoader own DocumentWriter.

        * WebCore.exp.in:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitData):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoadingDocument):

2010-09-10  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Nikolas Zimmermann.

        getBoundingClientRect Broken for SVG Elements
        https://bugs.webkit.org/show_bug.cgi?id=42815

        Use getBBox to retrieve the bounding rectangle for SVG elements.

        Test: svg/dom/getBoundingClientRect.xhtml

        * dom/Element.cpp:
        (Element::getBoundingClientRect):

2010-09-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Adopt shared control drawing for <video> controls on Windows
        https://bugs.webkit.org/show_bug.cgi?id=45490
        
        * DerivedSources.make: Remove the OS check around mediaControlsQuickTime.css.
        * rendering/RenderMediaControls.cpp:
        (WebCore::determineState): Use WKMediaControllerThemeState flags instead of SafariTheme ones.
        (WebCore::getUnzoomedRectAndAdjustCurrentContext): Added. Copied verbatim from RenderMediaMac.mm.
        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Use wkMeasureMediaUIPart to adjust the thumb size.
        (WebCore::RenderMediaControls::paintMediaControlsPart): Use wkDrawMediaUIPart instead of paintThemePart.
        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Added. Copied verbatim from RenderMediaMac.mm.
        * rendering/RenderMediaControls.h:
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::adjustSliderThumbSize): Adjust both sliders and volume sliders.
        (WebCore::RenderThemeWin::extraMediaControlsStyleSheet): Added. Returns the mediaControlsQuickTime sheet.
        (WebCore::RenderThemeWin::paintMediaRewindButton): Added. Pass through to RenderMediaControls.
        (WebCore::RenderThemeWin::paintMediaControlsBackground): Added. Pass through to RenderMediaControls.
        (WebCore::RenderThemeWin::paintMediaVolumeSliderContainer): Added. Pass through to RenderMediaControls.
        (WebCore::RenderThemeWin::paintMediaVolumeSliderTrack): Added. Pass through to RenderMediaControls.
        (WebCore::RenderThemeWin::paintMediaVolumeSliderThumb): Added.  Pass through to RenderMediaControls.
        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Added. Pass through to RenderMediaControls.
        * rendering/RenderThemeWin.h:

2010-09-10  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        Cleanup and simplification in advance of making middle clicks not send a
        click event.
        https://bugs.webkit.org/show_bug.cgi?id=22382

        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::defaultEventHandler): Removed unneeded code to
        check if the event is a MouseEvent. Any click event will do.
        * html/HTMLAnchorElement.cpp:
        (WebCore::appendServerMapMousePosition): Added. Factors out the
        modifications to the URL to add the mouse position to make the default
        event handler function easier to read.
        (WebCore::HTMLAnchorElement::defaultEventHandler): Reorganized to make
        the enter key logic separate from the link clicking logic and simplify
        the function.  This makes minor functional changes like not calling
        FrameLoader::urlSelected() for fake "keydown" events constructed from
        JavaScript.
        (WebCore::HTMLAnchorElement::isLiveLink): Refactored to use new shared
        implementation in treatLinkAsLiveForEventType().
        (WebCore::eventType): Factors out event type calculation (for
        treatLinkAsLiveForEventType()) from the default event handler to make it
        easier to read.
        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
        Implementation of the portions of isLiveLink() that are common with the
        checks defaultEventHandler() wants to do.
        (WebCore::isEnterKeyKeydownEvent): Added. Shared by the default
        event handlers for all three anchor elements.
        (WebCore::isMiddleMouseButtonEvent): Added. Shared by the isLinkClick
        function below and some code in SVG. Later we can make this private to
        this source file once we remove the unneeded SVG code.
        (WebCore::isLinkClick): Added. Shared by the default event handlers for
        all three anchor elements.
        (WebCore::handleLinkClick): Ditto.
        * html/HTMLAnchorElement.h: Added the new functions.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler): Removed lots of unneeded
        logic and streamlined the code to more closely match the
        HTMLAnchorElement code and share functions with it.
        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::defaultEventHandler): Ditto.

2010-09-10  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Implement HTML5 definition of script for-event neutering
        https://bugs.webkit.org/show_bug.cgi?id=45493

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::shouldExecuteAsJavaScript): Same behavior, but reads more like the spec. Removed obsolete comments about supporting for-event.
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::executeScript): Moved to runScript.
        (WebCore::HTMLScriptRunner::runScript): Checking shouldExecuteAsJavaScript() here means that external scripts which fail the check will never be requested.

2010-09-10  Nat Duca  <nduca@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Accelerated Compositing: screen garbage when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=45092

        Split LayerRenderChromium::drawLayers into several different
        functions, responsible for preparing the backbuffer, updating the
        root texture, compositing and performing the final
        swapbuffers. This are then used by the new
        WebViewImpl::composite rendering path.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setBounds):
        (WebCore::LayerChromium::setFrame):
        (WebCore::LayerChromium::setNeedsDisplay):
        (WebCore::LayerChromium::resetNeedsDisplay):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::dirtyRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::present):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-09-10  David Holloway  <dhollowa@chromium.org>

        Reviewed by Adam Barth.

        Replace WebCore::HTMLFormElement::submissionTrigger with WebCore::HTMLFormElement::submittedByUserGesture.
        Chromium AutoFill feature semantics changed with respect to what we mean by "user submitted" form.  A
        more accurate measure of the user manually submitting a form is via user gesture.
        https://bugs.webkit.org/show_bug.cgi?id=45128

        No new tests as this is only used by the Chromium WebKit API.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        (WebCore::HTMLFormElement::prepareSubmit):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::submittedByUserGesture):
        * html/HTMLFormElement.h:

2010-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove mention of "part" from Document.cpp
        https://bugs.webkit.org/show_bug.cgi?id=45566

        This is an old KHTML name that's lingering around.

        * dom/Document.cpp:
        (WebCore::Document::parentDocument):

2010-09-09  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Move functions from Frame to SelectionController as planned
        https://bugs.webkit.org/show_bug.cgi?id=45508

        Also removed Frame::dragCaretController since it just called Page::dragCaretController.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
        (WebCore::SelectionController::selectAll):
        (WebCore::SelectionController::focusedOrActiveStateChanged):
        (WebCore::SelectionController::notifyRendererOfSelectionChange):
        (WebCore::isFrameElement):
        (WebCore::SelectionController::setFocusedNodeIfNeeded):
        (WebCore::SelectionController::paintDragCaret):
        (WebCore::SelectionController::shouldDeleteSelection):
        (WebCore::SelectionController::selectionBounds):
        (WebCore::SelectionController::selectionTextRects):
        (WebCore::scanForForm):
        (WebCore::SelectionController::currentForm):
        (WebCore::SelectionController::revealSelection):
        (WebCore::SelectionController::setSelectionFromNone):
        (WebCore::SelectionController::shouldChangeSelection):
        * editing/SelectionController.h:
        Moved functions here from Frame.

        * page/Frame.cpp:
        * page/Frame.h:
        Moved functions to SelectionController.
        Reorganized header to be easier to read and a bit more logical.

        * WebCore.exp.in: Updated.

        * dom/Document.cpp:
        (WebCore::Document::nodeChildrenWillBeRemoved):
        (WebCore::Document::nodeWillBeRemoved):
        Call Page::dragCaretController directly.

        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * dom/InputElement.cpp:
        (WebCore::InputElement::updateFocusAppearance):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::editingStyleAtPosition):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
        * editing/Editor.cpp:
        (WebCore::Editor::canSmartCopyOrDelete):
        (WebCore::Editor::textDirectionForSelection):
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::revealSelectionAfterEditingOperation):
        (WebCore::Editor::transpose):
        (WebCore::Editor::changeSelectionAfterCommand):
        (WebCore::Editor::computeAndSetTypingStyle):
        (WebCore::Editor::selectionComputedStyle):
        (WebCore::Editor::styleForSelectionStart):
        (WebCore::Editor::findString):
        * editing/EditorCommand.cpp:
        (WebCore::executeDelete):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        (WebCore::dragLocForSelectionDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passMousePressEventToSubframe):
        * page/chromium/FrameChromium.cpp:
        (WebCore::Frame::dragImageForSelection):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::selectionImage):
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::writeRange):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        Call functions on selection().

2010-09-10  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        SVGGElement::rendererIsNeeded should return false when parent isn't SVG
        https://bugs.webkit.org/show_bug.cgi?id=45562

        Test: svg/custom/g-outside-svg.html

        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::rendererIsNeeded):
        * svg/SVGGElement.h:

2010-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION (HTML Parser): CNN's Money site is not formatted correctly with AdBlock installed
        https://bugs.webkit.org/show_bug.cgi?id=41371

        Drop support for closing comments with "-- >".  This was an attempt to
        be more IE-like in comment parsing, but it turns out to cause problems
        for some high-profile sites.  Firefox 4 is dropping support as well.
        We expect the spec to change soon too.

        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        * html/parser/HTMLTokenizer.h:

2010-09-10  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Adding file that should have been in http://trac.webkit.org/changeset/67226 but 
        I forgot to svn add.
        
        * platform/graphics/opengl: Added.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.

2010-09-10  Paul Sawaya  <psawaya@apple.com>

        Reviewed by Chris Marrin.

        Refactored non-Mac specific code into GraphicsContext3DOpenGL.
        
        Moving this file into platform/graphics/opengl and only building on Mac for now.
        
        https://bugs.webkit.org/show_bug.cgi?id=30625

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
        * platform/graphics/opengl: Added.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
        (WebCore::GraphicsContext3D::prepareTexture):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::finish):
        (WebCore::GraphicsContext3D::flush):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):

2010-09-10  Oliver Hunt  <oliver@apple.com>

        Qt build fix.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::deserialize):

2010-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove useless FrameLoader method
        https://bugs.webkit.org/show_bug.cgi?id=45492

        This method has one caller, and that caller already has a more direct
        way of accessing the correct DocumentLoader.

        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::addData):

2010-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Main resource bytes shouldn't bounce through FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=45496

        After the MainResourceLoader hands the bytes for the main resource to
        the DocumentLoader, the DocumentLoader hands the bytes to the
        FrameLoaderClient.  The FrameLoaderClient, in turn, returns the bytes
        to WebCore.  Prior to this patch, the FrameLoaderClient returned the
        bytes to the FrameLoader.  However, the FrameLoader was actually adding
        any value.

        In this patch, we change the FrameLoaderClient to return the bytes to
        the DocumentLoader directly.  In a future patch, we'll cut out the
        FrameLoaderClient middleman and handle the bytes internally in the
        DocumentLoader.

        * WebCore.exp.in:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::addData):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoadingDocument):
        * loader/FrameLoader.h:

2010-09-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        Speed up deserialisation of strings
        https://bugs.webkit.org/show_bug.cgi?id=45555

        Rather than building a list of Identifiers for the string pool
        we now build a list of a tuple of UString and JSString*.  This
        doesn't hurt the property name case as ustring->identifier conversion
        is essentially free if the ustring has already been converted to
        an Identifier, but saves an unnecessary Identifier creation for
        strings we only ever use to create JSStrings.  We also reduce
        GC pressure for duplicate strings by caching the JSStrings.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::CachedString::CachedString):
        (WebCore::CloneDeserializer::CachedString::jsString):
        (WebCore::CloneDeserializer::CachedString::ustring):
        (WebCore::CloneDeserializer::readStringData):
        (WebCore::CloneDeserializer::putProperty):
        (WebCore::CloneDeserializer::readFile):
        (WebCore::CloneDeserializer::readTerminal):
        (WebCore::CloneDeserializer::deserialize):

2010-09-10  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Antonio Gomes.

        REGRESSION(r67176): editing/selection/doubleclick-inline-first-last-contenteditable.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=45525

        The crash was caused by ancestorToRetainStructureAndAppearance not taking into consideration
        the case where there is no common block ancestor. Fixed this by adding a null check.

        Test: editing/pasteboard/copy-without-common-block-crash.html

        * editing/markup.cpp:
        (WebCore::ancestorToRetainStructureAndAppearance): Added a null check.

2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        [FileSystem] Do not call EntriesCallback more than once if there're no entries.
        https://bugs.webkit.org/show_bug.cgi?id=45498

        No new tests, layout-tests that confirm the behavior will be added in later patches.

        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::EntriesCallbacks::EntriesCallbacks):
        (WebCore::EntriesCallbacks::didReadDirectoryEntry):
        (WebCore::EntriesCallbacks::didReadDirectoryEntries):

2010-09-10  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Use String::fromUTF8 instead of UTF8Encoding().decode
        in the libxml XMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=45488

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

2010-09-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: accessibility not returning strings when visibility is hidden
        https://bugs.webkit.org/show_bug.cgi?id=45116

        AX code uses plainText() in TextIterator to get the text for a node.
        However, when that node is not visible, no text is returned because TextIterator ignores
        clipped nodes and other hidden elements.

        Solution is to add a new text iterator behavior for ignoring style visiblity. This allows
        for text to allows be returned for accessibility purposes.

        Test: platform/mac/accessibility/clipped-text-under-element.html

        * WebCore.exp.in:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textUnderElement):
        (WebCore::AccessibilityRenderObject::stringValue):
           Use the new flag for plainText
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::TextIterator::handleTextNodeFirstLetter):
        (WebCore::TextIterator::handleReplacedElement):
           Use the new flag to NOT skip hidden elements.
        (WebCore::plainTextToMallocAllocatedBuffer):
        (WebCore::plainText):
        * editing/TextIterator.h:
           Add the new text iterator behavior.

2010-09-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        Mail crashes with searching for next misspelled word with VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=45501

        Test: platform/mac/accessibility/crash-in-element-for-text-marker.html

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
            Check that the AX object is not nil before asking for the wrapper().

2010-09-10  Michael Nordman  <michaeln@google.com>

        Reviewed by Dumitru Daniliuc.

        Decouple Blob from ScriptExecutionContext.
        https://bugs.webkit.org/show_bug.cgi?id=45410

        - Removed ScriptExecutionContext pointers from Blob and File constructors.
        - Removed ScriptExecutionContext's collection of Blobs instance in that context.
        - Refactored BlobURL to make a distinction between 'public' blob urls and 'internal'
          urls that are used solely as identifiers. The former requires a SecurityOrigin to
          to manufacture, the latter does not.
        - Added a constant and accessor for the blob protocol scheme on the BlobURL class.

        No new tests are added since this is a cleanup.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readFile):
        (WebCore::CloneDeserializer::readTerminal):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Reader::readBlob):
        (WebCore::ZigZag::Reader::readFile):
        (WebCore::ZigZag::Reader::readFileList):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::createPublicBlobURL):
        (WebCore::ScriptExecutionContext::revokePublicBlobURL):
        * dom/ScriptExecutionContext.h:
        * fileapi/Blob.cpp:
        (WebCore::Blob::Blob):
        (WebCore::Blob::~Blob):
        (WebCore::Blob::slice):
        * fileapi/Blob.h:
        (WebCore::Blob::create):
        (WebCore::Blob::url):
        * fileapi/Blob.idl:
        * fileapi/BlobBuilder.cpp:
        (WebCore::BlobBuilder::getBlob):
        * fileapi/BlobBuilder.h:
        * fileapi/BlobBuilder.idl:
        * fileapi/BlobURL.cpp:
        (WebCore::BlobURL::createPublicURL):
        (WebCore::BlobURL::createInternalURL):
        (WebCore::BlobURL::getOrigin):
        (WebCore::BlobURL::getIdentifier):
        (WebCore::BlobURL::createBlobURL):
        * fileapi/BlobURL.h:
        (WebCore::BlobURL::blobProtocol):
        (WebCore::BlobURL::BlobURL):
        * fileapi/File.cpp:
        (WebCore::File::File):
        * fileapi/File.h:
        (WebCore::File::create):
        * fileapi/FileReader.cpp: Register a public url to perform the read.
        (WebCore::FileReader::cleanup):
        (WebCore::FileReader::start):
        (WebCore::FileReader::didFinishLoading):
        (WebCore::FileReader::failed):
        * fileapi/FileReader.h: Added m_urlForReading data member.
        * fileapi/FileReaderSync.cpp:
        (WebCore::FileReaderSync::read): Register a public url to perform the read.
        * fileapi/ThreadableBlobRegistry.cpp:
        (WebCore::ThreadableBlobRegistry::registerBlobURL):
        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
        * fileapi/ThreadableBlobRegistry.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData):
        (WebCore::HTMLInputElement::setFileListFromRenderer):
        * page/SecurityOrigin.cpp: Use BlobURL.blobProtocol().
        (WebCore::SecurityOrigin::create):
        (WebCore::SecurityOrigin::canRequest):
        (WebCore::SecurityOrigin::canDisplay):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::files):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::files):
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::files):
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::files):

2010-09-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        GDK_DISPLAY was removed in GTK+ 3.x, re-declare it when built
        against that.

        * platform/gtk/GtkVersioning.h:

2010-09-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Fix compilation with GTK+ 3.x.

        GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need
        to include the compat header provided if we want to keep using the
        old names.

        * platform/gtk/GtkVersioning.h: add the compatibility header.
        * platform/gtk/KeyEventGtk.cpp: include GtkVersioning.h

2010-09-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Factor out the NestingLevelIncrementer
        https://bugs.webkit.org/show_bug.cgi?id=45471

        No new tests because no new functionality.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLDocumentParser.cpp:
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLScriptRunner.cpp:
        * html/parser/NestingLevelIncrementer.h: Added.
        (WebCore::NestingLevelIncrementer::NestingLevelIncrementer):
        (WebCore::NestingLevelIncrementer::~NestingLevelIncrementer):

2010-09-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVG text chunk concept needs to be integrated in the InlineBox structure
        https://bugs.webkit.org/show_bug.cgi?id=45533

        Begin rewriting the SVG text layout code. As first step move the text chunk concept right into the inline box structure.
        This obsoletes the whole text chunk part concept (see SVGTextChunkLayoutInfo.h for details), and will soon simplify the
        whole layout code a lot. Previously we hacked around the fact that a single InlineTextBox could contain multiple text chunks
        For example: <text x="20 30 40">ABC</text> only led to the creation of one InlineTextBox containing three chunks. When
        painting such an InlineTextBox, we had to do nasty hacks (same for text selection etc.)
        
        This is finally fixed by incorporating the knownledge about text chunks into the line layout algorithm.
        Note, this has no impact on HTML at all, no worries.

        It's even required to do it this way as BiDi reordering shouldn't happen across text chunks.
        These are only the first bits, and currently slows down text layouting. Follow-up patches will remove the old layout
        algorithm, and will rely on the stored SVGTextLayoutAttributes in the RenerSVGInlineText renderers (instead of computing again).

        * Android.mk: Add rendering/svg/SVGTextLayoutAttributes.* & rendering/svg/SVGTextLayoutBuilder.* to build.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gyp/WebCore.gyp: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. (Recognize new rendering/svg directory.)
        * WebCore.vcproj/copyForwardingHeaders.cmd: Ditto. (Copy forwarding headers from rendering/svg directory.)
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/RenderBlockLineLayout.cpp: This is the key of the new concept, take text chunks into account when building the InlineBox structure.
        (WebCore::RenderBlock::findNextLineBreak): Split midpointState, if we encounter the beginning of a new text chunk.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGInline): New method, which will be used to identify RenderSVGInline objects.
        * rendering/RenderSVGInline.h:
        (WebCore::RenderSVGInline::isSVGInline): Return true.
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::linesBoundingBox): Overriden, to simplify the calculations for SVG.
        (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Determines wheter the given position starts a new text chunk.
        * rendering/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::storeLayoutAttributes): Stores the layout attributes calculated in the text layout process (will be used everywhere in follow-up patches).
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): Invoke SVGTextLayoutBuilder before creating the inline box tree, so we can decide which characters start new text chunks.
        * rendering/RenderText.h: Made linesBoundingBox() virtual so RenderSVGInlineText can override it.
        * rendering/svg: Added.
        * rendering/svg/SVGTextLayoutAttributes.cpp: Added. Holds x/y/dx/dy/rotate values and all kerning/ligature information used during layout.
        * rendering/svg/SVGTextLayoutAttributes.h: Added.
        * rendering/svg/SVGTextLayoutBuilder.cpp: Added.
        * rendering/svg/SVGTextLayoutBuilder.h: Added.

2010-09-10  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed fix after r67085.

        * WebCore.pro: Fix previously moved filenames.

2010-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Inline FrameLoader::committedLoad into its one caller
        https://bugs.webkit.org/show_bug.cgi?id=45481

        This saves one round-trip through the FrameLoader when loading
        documents.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitLoad):
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:

2010-09-10  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Remove ImageBuffer::toDataURL implementation
        https://bugs.webkit.org/show_bug.cgi?id=45478

        At the moment ImageBuffer::toDataURL uses JPEGEncoder.h and PNGEncoder.h.
        Both files are not in the repository. So remove the implementation for now.

        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::ImageBuffer::toDataURL):

2010-09-10  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        WebGL: Fix GCC warnings about suggested parentheses around && within ||
        https://bugs.webkit.org/show_bug.cgi?id=45534

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texParameter):
        (WebCore::WebGLRenderingContext::handleNPOTTextures):

2010-09-09  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Add navigation items into the Elements panel context menu.

        For all anchors that have the class of "webkit-html-resource-link" or "webkit-html-external-link",
        a custom context menu with the items "Open Link in New Window" (invokes InspectorBackend.openInInspectedWindow() with
        the related URL) and "Open Link in Resources Panel" (opens the related resource in the Resources panel) is shown
        (the latter item is displayed only if the corresponding resource is known to the Web Inspector).
        https://bugs.webkit.org/show_bug.cgi?id=34250

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
        * inspector/front-end/inspector.js:
        (WebInspector.openResource):
        (WebInspector.resourceURLForRelatedNode):

2010-09-10  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by James Robinson.

        Make sure skia is not Chromium specific
        https://bugs.webkit.org/show_bug.cgi?id=39672

        Move Image::loadPlatformResource to platform/graphics/chromium/ImageChromium.cpp.
        Other ports can use ImageSkia.cpp.

        No new tests because this is pure refacotring.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/ImageChromium.cpp: Added.
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/skia/ImageSkia.cpp:

2010-09-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Joseph Pecoraro.

        WebInspector: Selecting 'inspect element' always shows body in inspector instead of clicked element.

        1. Open any page
        2. Right-click on any element, select "Inspect Element"
        3. Web Inspector is opened but the <body> element (for HTML) is focused rather than the selected element
        4. Inspect the Web Inspector. An error message is logged in the console.

        The regression was introduced in http://trac.webkit.org/changeset/66012 - focusNode() is invoked in
        InspectorController::populateScriptObjects() before the main document is set for the InspectorDOMAgent
        instance (which makes focusNode() bail out prematurely).

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):

2010-09-10  Cris Neckar  <cdn@chromium.org>

        Reviewed by Chris Fleizach.

        Null deref in RenderBlock::updateFirstLetter(). Check for null psuedo style.
        https://bugs.webkit.org/show_bug.cgi?id=45404

        Test: fast/dom/firstletter-tablecell-crash.html

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

2010-09-10  Cris Neckar  <cdn@chromium.org>

        Reviewed by Chris Fleizach.

        Null deref in RenderBlock::findNextLineBreak(). Check for null style with
        first-line style and fixed position.
        https://bugs.webkit.org/show_bug.cgi?id=45350

        Test: fast/dom/firstline-fixed-crash.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):

2010-09-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach
        https://bugs.webkit.org/show_bug.cgi?id=45365

        This change is the last piece of the puzzle which was preventing us from
        removing all eager-attach logic and moving WebCore to using an entirely
        recalcStyle-driven, on-demand renderer creation system, instead of every
        element being synchronously attached during parsing, regardless of whether
        it was ever going to be displayed or not.

        This does not change the places we call lazyAttach vs. attach.  This only
        changes the behavior of frame/plugin elements when lazyAttach is called.
        Previously lazyAttach would eager-attach those elements (and their ancestors)
        because they were marked as canLazyAttach() { return false; }.

        This is a very tricky change, please review carefully.

        Mostly I'm moving logic which used to be in attach() into
        insertedIntoDocument.  Once it was there, there was no longer any reason
        why frame elements couldn't lazyAttach, thus removing the need
        for the non-lazy attach code path entirely.
        We've not yet converted all callsites over to using lazyAttach() instead
        of attach() however.

        In order to move frame loading logic into insertedIntoDocument
        instead of attach, I needed to make sure that any javascript calls
        during the load would see an attached element.  Thus I needed to mark
        the element as needing style resolve so that it would attach itself
        if needed.

        I was not able to just call lazyAttach() from insertedIntoDocument directly
        due to two conflicting assumptions in the rendering tree:
         1. ContainerNode::attach() assumes its "safe" to call attach on all children
            without checking first if the child is already attached.  This seems sane
            since its strange to think of a subtree as being attached w/o ancestors
            already being attached.  Although it is a hard rule that subtrees may not
            have renderers w/o ancestors also having renderers, I do not believe it's
            a hard rule that subtrees may not be attached.  Remember, attached() does
            not imply renderer()!  It's possible ContainerNode::attach()'s assumption is wrong here.
         2. Node::attach() asserts !attached().  This makes sense and I would not
            want to remove this assert, however it means that if insertedIntoDocument
            were to call lazyAttach() (thus marking the element as attached()) then
            all callers would need to check if the element was already attached after
            insertedIntoDocument (called by appendChild, parserAppendChild, etc.)
            before calling attach or lazyAttach().  The following example:
            element.innerHTML = "<span><iframe></span>" is one case where this
            ASSERT would be hit if insertedIntoDocument called lazyAttach, since
            ContainerNode::attach() (called on the span by in appendChild(DocumentFragment) code)
            does not check if iframe is already attached.

        Note: One subtle change here is that synchronous javascript which results
        from javascript: or beforeload is now run as part of insertedIntoDocument
        (thus any insert/append call *even* parserAddChild) instead of being
        run during attach (technically in the post-attach callbacks).

        This is covered by numerous layout tests.

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChild):
        (WebCore::willRemoveChildren):
         - Since insertedIntoDocument starts a load and yet does not mark the
           element as attached, we need to always call willRemove().
           See note above as to why we don't just mark attached() in insertedIntoDocument.
        * dom/Node.cpp:
        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
         - Share some code between lazyAttach and setNeedsStyleRecalc.
        (WebCore::Node::setNeedsStyleRecalc):
         - Use the new markAncestorsWithChildNeedsStyleRecalc
        (WebCore::Node::lazyAttach):
         - Remove the non-lazy code path, and use markAncestorsWithChildNeedsStyleRecalc.
         - Add an option to lazyAttach without marking attached(), used by HTMLFrameElementBase::insertedIntoDocument.
        * dom/Node.h:
        * html/HTMLFrameElementBase.cpp:
         - m_shouldOpenURLAfterAttach is no longer needed, yay!
         - m_checkAttachedTimer no longer has anything to do with attached(), so renamed it.
           I also documented that the newly named m_checkInDocumentTimer is all about the
           "magic iframe" performance quirk.  (Which is actually speced in HTML5).
           I was initially baffled by this code, so I documented it.
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase)
        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
         - This is the meat of this change, see discussion above.
        (WebCore::HTMLFrameElementBase::attach):
         - Code deleted or moved to insertedIntoDocument.
        (WebCore::HTMLFrameElementBase::width):
         - Fixed a bug in height()/width() which was probably causing crashes
           and was causing incorrect behavior after this change.
           renderBox() is not necessarily valid unless layout is up to date.
           Updating layout, can cause renderBox() to go invalid, thus this
           could have been a null-pointer crash.
        (WebCore::HTMLFrameElementBase::height): see width()
        (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Timer rename.
        (WebCore::HTMLFrameElementBase::checkInDocumentTimerFired): Timer rename.
        * html/HTMLFrameElementBase.h:
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::willRemove):
         - Disconnecting the owner element removes the frame from the frame tree.
           frameDetached() calls Page::frameCount which expects that the frame is
           already gone at this point and asserts when it's not.  It's unclear how
           this worked before, except that the frame removal was likely done in the
           post-attach callback, so the frameCount was wrong (too high) during
           frameDetached(), but was fixed up in the post-detach callback.
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachAtSite):
          - Simplified this code, and added a check for the case when the node was already removed.
            Since the load logic is now run during insertedIntoDocument instead of attach(),
            synchronous javascript is now running during insertedIntoDocument and we need to
            make sure that the child is still in the tree.

2010-09-10  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rolling out r67178.
        http://trac.webkit.org/changeset/67178
        https://bugs.webkit.org/show_bug.cgi?id=45524

        re-roll-out patch to put original changes back in

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parametersForPlugin):
        (WebCore::HTMLObjectElement::updateWidget):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::resourceWillUsePlugin):
        * loader/SubframeLoader.h:

2010-09-10  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Kent Tamura.

        roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests
        https://bugs.webkit.org/show_bug.cgi?id=45524

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parametersForPlugin):
        (WebCore::HTMLObjectElement::updateWidget):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestFrame):
        * loader/SubframeLoader.h:

2010-09-10  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        Extract the code to find special ancestors in createMarkup into a function
        https://bugs.webkit.org/show_bug.cgi?id=45449

        Extracted the code to find special common ancestors in createMarkup as highestAncestorToWrapMarkup.
        Also isolated the code to find ancestors required to retain structure and appearance into
        ancestorToRetainStructureAndAppearance.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::ancestorToRetainStructureAndAppearance): Added.
        (WebCore::propertyMissingOrEqualToNone): Moved.
        (WebCore::isElementPresentational): Moved.
        (WebCore::shouldIncludeWrapperForFullySelectedRoot): Added. isSpecialAncestorBlock is merged into this function.
        (WebCore::highestAncestorToWrapMarkup): Extracted from createMarkup.
        (WebCore::createMarkup): Calls highestAncestorToWrapMarkup.

2010-09-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Spurious null check in MediaDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=45461

        Trivial change.  FrameLoader can never be null.

        * html/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::createDocumentStructure):

2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION: applying new font size causes font-size outside selection to change
        https://bugs.webkit.org/show_bug.cgi?id=45026

        The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
        Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
        which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement

        Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
        relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
        to legacy font size by CSSStyleSelector::legacyFontSize.

        Test: editing/style/push-down-font-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
        (WebCore::stringToCSSValue): Converts string to CSSValue.
        (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
        * css/CSSStyleSelector.h: Made fontSizeForKeyword public.

2010-09-09  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for Qt.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2010-09-09  Dominic Cooney  <dominicc@google.com>

        Reviewed by Kent Tamura.

        Moves location.replace bindings logic into bindings/generic and
        instantiates it for JSC and V8.

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

        Covered by existing location.replace tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/BindingDOMWindow.h:
        * bindings/generic/BindingFrame.h: Added.
        (WebCore::::navigateIfAllowed):
        * bindings/generic/BindingLocation.h: Added.
        (WebCore::::replace):
        * bindings/generic/GenericBinding.h:
        (WebCore::completeURL):
        * bindings/js/JSBinding.h: Added.
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::shouldAllowNavigation):
        (WebCore::toLexicalFrame):
        (WebCore::toDynamicFrame):
        (WebCore::processingUserGesture):
        (WebCore::completeURL):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::navigateIfAllowed):
        (WebCore::JSLocation::replace):
        * bindings/js/specialization/JSBindingState.cpp: Added.
        (WebCore::::getActiveFrame):
        (WebCore::::getFirstFrame):
        (WebCore::::processingUserGesture):
        (WebCore::::allowsAccessFromFrame):
        * bindings/js/specialization/JSBindingState.h: Added.
        * bindings/v8/V8Binding.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::completeURL):
        (WebCore::navigateIfAllowed):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::replaceCallback):
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::allowsAccessFromFrame):
        * bindings/v8/specialization/V8BindingState.h:

2010-09-09  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Apply :invalid CSS class to <input type=number> with an unacceptable value
        https://bugs.webkit.org/show_bug.cgi?id=45376

        Apply :invalid CSS class to <input type=number> elements with an
        unacceptable value in order to tell users that a value is not
        valid.

        Introducing Element::hasUnaccceptableValue(), and CSSStyleSelector
        applies :invalid to not only elements with !isValidFormControlElement()
        but also elements with hasUnaccceptableValue().

        HTMLInputElement and RenderTextControlSingleLine need some changes
        to update style and to avoid updating renderer value during style
        update.

        Test: fast/forms/input-number-unacceptable-style.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/Element.h:
        (WebCore::Element::hasUnacceptableValue):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::handleBlurEvent):
        (WebCore::HTMLInputElement::hasUnacceptableValue):
        * html/HTMLInputElement.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
        (WebCore::RenderTextControlSingleLine::updateFromElement):

2010-09-09  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        <input type=number> should not have an invalid number as its value
        https://bugs.webkit.org/show_bug.cgi?id=43973

        This change implements the value sanitization algorithm for
        type=number, and remove validity.typeMismatch support for
        type=number in order to improve HTML5 conformance.

        HTMLInputElement::value for type=number always has a valid number
        string or an empty string. However, the input field for it, a
        RenderTextControlSingleLine, can have a non-number string. For
        example, '-' is a non-number string, but a user needs to type
        '-'. So, the string in the input field has never been committed to
        HTMLInputElement until the string becomes a valid number string.

        This change is also a preparation of supporting localized
        numbers. A localized string in the input field would not be
        matched with HTMLInputElement::value.

        Test: fast/forms/input-number-commit-valid-only.html

        * dom/InputElement.h: Add isAcceptableValue()
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::handleBlurEvent):
         Set formControlValueMatchesRenderer false to clean an invalid value in the renderer.
        (WebCore::HTMLInputElement::isAcceptableValue):
        (WebCore::HTMLInputElement::sanitizeValue):
        * html/HTMLInputElement.h:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch): Always returns false for type=number.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
        * wml/WMLInputElement.h:
        (WebCore::WMLInputElement::isAcceptableValue):

2010-09-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Support <script async> as specified by HTML5
        https://bugs.webkit.org/show_bug.cgi?id=45310

        Tests: fast/dom/HTMLScriptElement/async-inline-script.html
               fast/dom/HTMLScriptElement/async-onbeforeload.html
               fast/dom/HTMLScriptElement/async-write.html
               http/tests/misc/async-and-defer-script.html
               http/tests/misc/script-async.html

        * dom/AsyncScriptRunner.cpp:
        (WebCore::AsyncScriptRunner::AsyncScriptRunner):
        (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
        (WebCore::AsyncScriptRunner::executeScriptSoon): Increment the delay count when a task to execute scripts is queued up.
        (WebCore::AsyncScriptRunner::timerFired): decrementLoadEventDelayCount handles calling checkCompleted().
        * dom/AsyncScriptRunner.h:
        (WebCore::AsyncScriptRunner::create):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::insertedIntoDocument): Treats async scripts just like a dynamically inserted script element rather than a parser inserted one.
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::runScript):

2010-09-09  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by James Robinson.

        [chromium] Disable subpixel rendering in Linux when GPU compositor is active
        https://bugs.webkit.org/show_bug.cgi?id=45087

        This extends windows-only logic to chromium linux as well.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::updateContents):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateContents):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::clip):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
        Linux; removed all #if OS(WINDOWS) || OS(LINUX).
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
        (WebCore::PlatformContextSkia::save):
        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
        (WebCore::PlatformContextSkia::restore):
        (WebCore::PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:

2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed, Windows build fix.

        * WebCore.vcproj/WebCore.vcproj:

2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        [FileSystem] Add File and FileWriter accessor methods in FileEntry
        https://bugs.webkit.org/show_bug.cgi?id=45440

        Adding file() and createWrite() methods in FileEntry.
        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileentry-interface

        No new tests; this patch doesn't have implementation yet.

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/FileEntry.cpp:
        (WebCore::FileEntry::createWriter): Added.
        (WebCore::FileEntry::file): Added.
        * fileapi/FileEntry.h:
        * fileapi/FileEntry.idl:
        * fileapi/FileCallback.h: Added.
        * fileapi/FileCallback.idl: Added.
        * fileapi/FileWriterCallback.h: Added.
        * fileapi/FileWriterCallback.idl: Added.

2010-09-09  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation
        Stop checking in the flex definition the number of hexadecimal digits for a hex color.
        Instead, rely on the checking in Color::parseHexColor().
        The resultant grammar is actually more close to the one in http://www.w3.org/TR/CSS21/grammar.html .

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

        Test: fast/css/invalid-hex-color.html

        * css/tokenizer.flex:

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioSourceNode files
        https://bugs.webkit.org/show_bug.cgi?id=45010

        No new tests since audio API is not yet implemented.

        * webaudio/AudioSourceNode.h: Added.
        (WebCore::AudioSourceNode::AudioSourceNode):
        * webaudio/AudioSourceNode.idl: Added.

2010-09-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Don't call deleteTexture on a texture attached to an FBO that is not currently bound
        https://bugs.webkit.org/show_bug.cgi?id=45504

        The OpenGL semantics for glDeleteTextures() are that if one of the specified texture is attached
        to the currently bound FBO, that FBO's color attachment is removed.  However, if the specified
        texture is attached to a non-current FBO then OpenGL states explicitly that that FBO's color
        attachment is not cleared and that the texture stays alive even though its ID is no longer
        valid to use.  This is not the behavior we want in DrawingBuffer - we actually want the
        texture to be immediately deleted.  This patch makes sure the DrawingBuffer's FBO is bound
        before deleting its color attachment texture.

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::reset):

2010-09-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Chromium mac build should exclude all Skia files in platform/graphics/skia/, not just some
        https://bugs.webkit.org/show_bug.cgi?id=45516

        This excludes platform/graphics/skia/*Skia.(h|cpp) by pattern instead of individual files.
        None of these files should be compiled into the Chromium mac build and the old file list had
        both omissions and stale entries.

        * WebCore.gyp/WebCore.gyp:

2010-09-09  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rolling out r67145.
        http://trac.webkit.org/changeset/67145
        https://bugs.webkit.org/show_bug.cgi?id=45431

        broke editing/inserting/5994480-2.html on Chromium Linux

        * css/CSSStyleSelector.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init):
        (WebCore::StyleChange::extractTextStyles):
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):

2010-09-09  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Removing an obsolete comment.
        https://bugs.webkit.org/show_bug.cgi?id=40112

        * bindings/generic/ActiveDOMCallback.cpp:

2010-09-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Clear only the uploaded portion of the software backing store when in mixed mode
        https://bugs.webkit.org/show_bug.cgi?id=45503

        This clears out only the dirty region of the software backing store when uploading results
        to hardware rather than clearing out the entire software backing store.  This is a significant
        performance improvement when the dirty rects are small relative to the whole canvas.

        This also implements the non-swizzle path of copySubRect() using memcpy() to copy the rows, which
        is another respectable performance increase.

        * html/canvas/CanvasRenderingContext2D.cpp:
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::copySubRect):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):

2010-09-09  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add math utilities for cubic curve processing
        https://bugs.webkit.org/show_bug.cgi?id=45251

        Adding mathematic utilities needed for the GPU accelerated path
        rendering algorithm from GPU Gems 3. No tests yet; will be tested
        in conjunction with later code.

        * platform/graphics/gpu/LoopBlinnMathUtils.cpp: Added.
        (WebCore::LoopBlinnMathUtils::roundToZero):
        (WebCore::LoopBlinnMathUtils::approxEqual):
        (WebCore::LoopBlinnMathUtils::linesIntersect):
        (WebCore::LoopBlinnMathUtils::pointInTriangle):
        (WebCore::LoopBlinnMathUtils::trianglesOverlap):
        (WebCore::LoopBlinnMathUtils::chopCubicAt):
        (WebCore::LoopBlinnMathUtils::xRayCrossesLine):
        (WebCore::LoopBlinnMathUtils::numXRayCrossingsForCubic):
        * platform/graphics/gpu/LoopBlinnMathUtils.h: Added.

2010-09-09  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Add Entry.getMetadata for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=45403

        Add getMetadata to Entry.idl (I had missed to include this
        in my previous Entry.idl patch.)

        Also make some minor cleanups and nits fixes.

        No new tests; layout test is going be added later.

        * fileapi/DOMFileSystem.cpp: Bug fix.
        * fileapi/MetadataCallback.h: Nits fix.
        * fileapi/Entry.idl: Added getMetadata.
        * fileapi/ErrorCallback.h: Nits fix.

2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION: applying new font size causes font-size outside selection to change
        https://bugs.webkit.org/show_bug.cgi?id=45026

        The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
        Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
        which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement

        Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
        relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
        to legacy font size by CSSStyleSelector::legacyFontSize.

        Test: editing/style/push-down-font-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
        (WebCore::stringToCSSValue): Converts string to CSSValue.
        (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
        * css/CSSStyleSelector.h: Made fontSizeForKeyword public.

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

        Unreviewed, rolling out r67126.
        http://trac.webkit.org/changeset/67126
        https://bugs.webkit.org/show_bug.cgi?id=45510

        broke chromium mac compile, it also uses PlatformContextSkia
        (Requested by jamesr on #webkit).

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::updateContents):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::adjustTextRenderMode):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateContents):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::clip):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::save):
        (WebCore::PlatformContextSkia::restore):
        * platform/graphics/skia/PlatformContextSkia.h:

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

        Attempt to fix Qt build.

        * WebCore.pro:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=45509
        <rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no
        longer works without setBackgroundColor:clearColor
        
        r61215 caused RenderView to paint the viewport background when the
        document element's renderer is known to not fill opaquely paint
        the entire viewport, i.e. more often than it did before.
        
        This exposed a latent, long-standing bug which was introduced
        in r14638 (the RenderCanvas -> RenderView rename), where a call
        to view()->isTransparent() was not converted to frameView()->isTransparent(),
        yet happened to still compile because of RenderObject::isTransparent().
        
        This resulted in us painting the viewport background, even when
        WebView clients explicitly said that they wanted a transparent
        WebView.
        
        Fixed by calling frameView()->isTransparent(), as intended.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: add Biquad files
        https://bugs.webkit.org/show_bug.cgi?id=44795

        No new tests since audio API is not yet implemented.

        * platform/audio/Biquad.cpp: Added.
        (WebCore::Biquad::Biquad):
        (WebCore::Biquad::process):
        (WebCore::Biquad::processFast):
        (WebCore::Biquad::processSliceFast):
        (WebCore::Biquad::reset):
        (WebCore::Biquad::setLowpassParams):
        (WebCore::Biquad::setHighpassParams):
        (WebCore::Biquad::setLowShelfParams):
        (WebCore::Biquad::setZeroPolePairs):
        (WebCore::Biquad::setAllpassPole):
        * platform/audio/Biquad.h: Added.
        (WebCore::Biquad::~Biquad):

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioBuffer files
        https://bugs.webkit.org/show_bug.cgi?id=45003

        No new tests since audio API is not yet implemented.

        * webaudio/AudioBuffer.cpp: Added.
        (WebCore::AudioBuffer::create):
        (WebCore::AudioBuffer::createFromAudioFileData):
        (WebCore::AudioBuffer::AudioBuffer):
        (WebCore::AudioBuffer::releaseMemory):
        (WebCore::AudioBuffer::getChannelData):
        (WebCore::AudioBuffer::zero):
        * webaudio/AudioBuffer.h: Added.
        (WebCore::AudioBuffer::length):
        (WebCore::AudioBuffer::duration):
        (WebCore::AudioBuffer::sampleRate):
        (WebCore::AudioBuffer::numberOfChannels):
        (WebCore::AudioBuffer::gain):
        (WebCore::AudioBuffer::setGain):
        * webaudio/AudioBuffer.idl: Added.

2010-09-09  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by James Robinson.

        [chromium] Disable subpixel rendering in Linux when GPU compositor is active
        https://bugs.webkit.org/show_bug.cgi?id=45087

        Covered by all tests that activate the compositor and contain text.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::updateContents):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateContents):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::clip):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
        Linux; removed all #if OS(WINDOWS) || OS(LINUX).
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
        (WebCore::PlatformContextSkia::save):
        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
        (WebCore::PlatformContextSkia::restore):
        (WebCore::PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:

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

        Fix windows build by adding missing file.

        * platform/graphics/win/LocalWindowsContext.h: Added.
        (WebCore::LocalWindowsContext::LocalWindowsContext):
        (WebCore::LocalWindowsContext::~LocalWindowsContext):
        (WebCore::LocalWindowsContext::hdc):

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

        Reviewed by Adam Roben.

        Scrollbars fail to render in composited iframes.
        https://bugs.webkit.org/show_bug.cgi?id=45335

        Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
        releaseWindowsContext automatically.

        Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
        is true, and if the context's HDC is null. This fixes scrollbar rendering
        in compositing layers.

        Use LocalWindowsContext in places where we had bare getWindowsContext() calls.

        * platform/graphics/win/LocalWindowsContext.h
        (WebCore::LocalWindowsContext::LocalWindowsContext):
        (WebCore::LocalWindowsContext::~LocalWindowsContext):
        (WebCore::LocalWindowsContext::hdc):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::releaseWindowsContext):
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::paint):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::paint):
        * platform/win/ScrollbarThemeWin.cpp:
        (WebCore::ScrollbarThemeWin::paintTrackPiece):
        (WebCore::ScrollbarThemeWin::paintButton):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paintWindowedPluginIntoContext):
        (WebCore::PluginView::paint):
        * rendering/RenderThemeWin.cpp:
        (WebCore::drawControl):

2010-09-09  Vincent Scheib  <scheib@chromium.org>

        Reviewed by James Robinson.

        [Chromium] Minimize uploads in canvas 2d mixed mode rendering
        https://bugs.webkit.org/show_bug.cgi?id=45476

        No new tests - change is for performance, logic fixes only apparent when running hardware acceleration.

        - Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw".
        - markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia.
        - Texture::updateSubRect() added to allow uploading only a dirty rect.
        - Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
        (WebCore::CanvasRenderingContext2D::strokeRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::didDraw):
          - Logic fix for drawingContext()->markDirtyRect() call.
        (WebCore::CanvasRenderingContext2D::putImageData):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
          - Logic fix for calls to "didDraw()", use peer method first.
        * html/canvas/CanvasRenderingContext2D.h:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImageBuffer):
        (WebCore::GraphicsContext::markDirtyRect):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create):
        (WebCore::Texture::load):
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/Texture.h:
        * platform/graphics/gpu/TilingData.h:
        (WebCore::TilingData::borderTexels):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        (WebCore::GraphicsContext::markDirtyRect):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
        (WebCore::PlatformContextSkia::drawRect):
        (WebCore::PlatformContextSkia::setFillColor):
        (WebCore::PlatformContextSkia::setStrokeColor):
        (WebCore::PlatformContextSkia::markDirtyRect):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        * platform/graphics/skia/PlatformContextSkia.h:

2010-09-08  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Move functions from Frame to Editor as planned
        https://bugs.webkit.org/show_bug.cgi?id=45218

        Just executing the plan that has long been described in Frame.h
        to move a bunch of functions to Editor.

        * WebCore.exp.in: Updated.

        * editing/Editor.cpp:
        (WebCore::Editor::fontForSelection):
        (WebCore::Editor::textDirectionForSelection):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::selectionStartHasStyle):
        (WebCore::Editor::selectionHasStyle):
        (WebCore::Editor::selectionStartCSSPropertyValue):
        (WebCore::Editor::Editor):
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::Editor::selectedText):
        (WebCore::Editor::firstRectForRange):
        (WebCore::Editor::shouldChangeSelection):
        (WebCore::Editor::computeAndSetTypingStyle):
        (WebCore::Editor::selectionComputedStyle):
        (WebCore::Editor::textFieldDidBeginEditing):
        (WebCore::Editor::textFieldDidEndEditing):
        (WebCore::Editor::textDidChangeInTextField):
        (WebCore::Editor::doTextFieldCommandFromEvent):
        (WebCore::Editor::textWillBeDeletedInTextField):
        (WebCore::Editor::textDidChangeInTextArea):
        (WebCore::Editor::applyEditingStyleToBodyElement):
        (WebCore::Editor::applyEditingStyleToElement):
        (WebCore::Editor::styleForSelectionStart):
        (WebCore::Editor::findString):
        (WebCore::Editor::countMatchesForText):
        (WebCore::Editor::setMarkedTextMatchesAreHighlighted):
        (WebCore::Editor::respondToChangedSelection):
        * editing/Editor.h:
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::fontAttributesForSelectionStart):
        (WebCore::Editor::baseWritingDirectionForSelectionStart):
        Moved functions here.

        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::shouldChangeSelection):
        * page/Frame.h:
        * page/mac/FrameMac.mm:
        Moved functions out of here.

        * dom/InputElement.cpp:
        (WebCore::InputElement::dispatchBlurEvent):
        (WebCore::InputElement::aboutToUnload):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyleInList):
        (WebCore::executeDeleteToMark):
        (WebCore::executeFindString):
        (WebCore::executeSelectToMark):
        (WebCore::executeSetMark):
        (WebCore::executeSwapWithMark):
        (WebCore::enabledVisibleSelectionAndMark):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::find):
        * page/DragController.cpp:
        (WebCore::DragController::startDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):
        * page/Page.cpp:
        (WebCore::Page::findString):
        (WebCore::Page::markAllMatchesForText):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
        Changed call sites to use editor().

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioDSPKernelProcessor files
        https://bugs.webkit.org/show_bug.cgi?id=45211

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioDSPKernelProcessor.cpp: Added.
        (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
        (WebCore::AudioDSPKernelProcessor::initialize):
        (WebCore::AudioDSPKernelProcessor::uninitialize):
        (WebCore::AudioDSPKernelProcessor::process):
        (WebCore::AudioDSPKernelProcessor::reset):
        (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
        * platform/audio/AudioDSPKernelProcessor.h: Added.
        (WebCore::AudioDSPKernelProcessor::numberOfChannels):

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add setRange() and zeroRange() methods to TypedArrayBase
        https://bugs.webkit.org/show_bug.cgi?id=45419

        No new tests since adding new methods which are not yet called anywhere.

        * html/canvas/ArrayBufferView.cpp:
        (WebCore::ArrayBufferView::setRangeImpl):
        (WebCore::ArrayBufferView::zeroRangeImpl):
        * html/canvas/ArrayBufferView.h:
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::setRange):
        (WebCore::TypedArrayBase::zeroRange):

2010-09-09  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] always send an Accept header

        Ensure QtWebKit always sends an Accept header. This is required
        for compatibility with sites that expect the header in requests
        for subresources.

        See https://bugs.webkit.org/show_bug.cgi?id=33242 for more.

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

        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):

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

        Reviewed by Chris Marrin.

        Add media element logging
        https://bugs.webkit.org/show_bug.cgi?id=45469

        Add logging at interesting points in a media element's lifecycle.

        * html/HTMLMediaElement.cpp:
        (WebCore::urlForLogging):
        (WebCore::boolString):
        (WebCore::HTMLMediaElement::scheduleEvent):
        (WebCore::HTMLMediaElement::asyncEventTimerFired):
        (WebCore::HTMLMediaElement::canPlayType):
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::prepareForLoad):
        (WebCore::HTMLMediaElement::selectMediaResource):
        (WebCore::HTMLMediaElement::loadResource):
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        (WebCore::HTMLMediaElement::waitForSourceChange):
        (WebCore::HTMLMediaElement::noneSupported):
        (WebCore::HTMLMediaElement::mediaEngineError):
        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
        (WebCore::HTMLMediaElement::setNetworkState):
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::rewind):
        (WebCore::HTMLMediaElement::returnToRealtime):
        (WebCore::HTMLMediaElement::addPlayedRange):
        (WebCore::HTMLMediaElement::seek):
        (WebCore::HTMLMediaElement::finishSeek):
        (WebCore::HTMLMediaElement::setPlaybackRate):
        (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
        (WebCore::HTMLMediaElement::setAutoplay):
        (WebCore::HTMLMediaElement::setPreload):
        (WebCore::HTMLMediaElement::play):
        (WebCore::HTMLMediaElement::playInternal):
        (WebCore::HTMLMediaElement::pause):
        (WebCore::HTMLMediaElement::pauseInternal):
        (WebCore::HTMLMediaElement::setLoop):
        (WebCore::HTMLMediaElement::setControls):
        (WebCore::HTMLMediaElement::setVolume):
        (WebCore::HTMLMediaElement::setMuted):
        (WebCore::HTMLMediaElement::togglePlayState):
        (WebCore::HTMLMediaElement::beginScrubbing):
        (WebCore::HTMLMediaElement::endScrubbing):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
        (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
        (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged):
        (WebCore::HTMLMediaElement::updatePlayState):
        (WebCore::HTMLMediaElement::userCancelledLoad):
        (WebCore::HTMLMediaElement::stop):
        (WebCore::HTMLMediaElement::suspend):
        (WebCore::HTMLMediaElement::resume):
        (WebCore::HTMLMediaElement::hasPendingActivity):
        (WebCore::HTMLMediaElement::mediaVolumeDidChange):
        (WebCore::HTMLMediaElement::createMediaPlayerProxy):
        (WebCore::HTMLMediaElement::enterFullscreen):
        (WebCore::HTMLMediaElement::exitFullscreen):
        (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
        (WebCore::HTMLMediaElement::mediaCanStart):
        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):

2010-09-09  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] bypass caches when query memory usage from post GC and in crash handler.
        https://bugs.webkit.org/show_bug.cgi?id=45036

        Second part of the whole change: now use API introduced in
        http://trac.webkit.org/changeset/66818 and now backed by Chromium.

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::reportFatalErrorInV8):
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcEpilogue):

2010-09-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by James Robinson.

        Make sure skia is not Chromium specific
        https://bugs.webkit.org/show_bug.cgi?id=39672

        FontCustomPlatformData is not Chromium-specific. Move it to platform/skia.

        No new tests because this is pure refactoring.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed.
        * platform/graphics/chromium/FontCustomPlatformData.h: Removed.
        * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp.
        * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h.

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Chris Fleizach.

        Add AudioDSPKernel files
        https://bugs.webkit.org/show_bug.cgi?id=45319

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioDSPKernel.h: Added.
        (WebCore::AudioDSPKernel::AudioDSPKernel):
        (WebCore::AudioDSPKernel::~AudioDSPKernel):
        (WebCore::AudioDSPKernel::sampleRate):
        (WebCore::AudioDSPKernel::nyquist):
        (WebCore::AudioDSPKernel::processor):

2010-09-09  Chris Rogers  <crogers@google.com>

        Reviewed by Chris Fleizach.

        Add AudioProcessor.h
        https://bugs.webkit.org/show_bug.cgi?id=45206

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioProcessor.h: Added.
        (WebCore::AudioProcessor::AudioProcessor):
        (WebCore::AudioProcessor::~AudioProcessor):
        (WebCore::AudioProcessor::isInitialized):
        (WebCore::AudioProcessor::sampleRate):

2010-09-09  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add cubic texture coordinate computation
        https://bugs.webkit.org/show_bug.cgi?id=45250

        Adding the texture coordinate computation for cubic curves per the
        GPU Gems 3 chapter. No tests yet; will be tested in conjunction
        with later code.

        * platform/graphics/gpu/LoopBlinnConstants.h: Added.
        * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added.
        (WebCore::LoopBlinnTextureCoords::compute):
        * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added.
        (WebCore::LoopBlinnTextureCoords::Result::Result):
        (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords):

2010-09-09  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add cubic curve classifier
        https://bugs.webkit.org/show_bug.cgi?id=45249

        Adding the cubic curve classification algorithm per the GPU Gems 3
        chapter. No tests yet; will be tested in conjunction with later code.

        * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added.
        (WebCore::LoopBlinnClassifier::classify):
        * platform/graphics/gpu/LoopBlinnClassifier.h: Added.
        (WebCore::LoopBlinnClassifier::Result::Result):
        (WebCore::LoopBlinnClassifier::LoopBlinnClassifier):

2010-09-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        QueryCommandValue('FontSize') returns pixel values instead of IE font numbers
        https://bugs.webkit.org/show_bug.cgi?id=21033

        Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size.
        To implement the conversion between pixel font size and legacy font size,
        added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize.

        Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position
        even when the selection is a range. This change revealed a crash in executeToggleStyleInList,
        which was also fixed.

        Test: editing/execCommand/query-font-size.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style.
        (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added.
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize.
        (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize.
        (WebCore::CSSStyleSelector::legacyFontSize): Added.
        * css/CSSStyleSelector.h:
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size.
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyleInList): Crash fix.
        * page/Frame.cpp:
        (WebCore::Frame::selectionComputedStyle): See above.

2010-09-09  Robert Hogan  <robert@webkit.org>

        Reviewed by Adam Barth.

        Give WebKit clients a way to replace window.screen 
        to foil attempts to track users with it.

        This allows clients to overload the values returned by the
        Screen object through the JSC manipulation API (such as
        QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will
        want to do this when they do not want to reveal too much
        explicit information about the user's desktop configuration.

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

        * page/DOMWindow.idl:

2010-09-09  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Memory leak in red/black tree
        https://bugs.webkit.org/show_bug.cgi?id=45472

        Fixed memory leak in red/black tree where it was using operator
        new directly to allocate its internal nodes rather than the arena
        with which it was configured. Added allocateObject variant to
        arena supporting single-argument constructors. Added test to
        red/black tree unit tests to cover this functionality, and
        refactored TrackedAllocator into helper file to share between
        arena and red/black tree tests.

        * platform/graphics/gpu/PODArena.h:
        (WebCore::PODArena::allocateObject):
        (WebCore::PODArena::allocateBase):
        * platform/graphics/gpu/PODIntervalTree.h:
        (WebCore::PODIntervalTree::PODIntervalTree):
        * platform/graphics/gpu/PODRedBlackTree.h:
        (WebCore::PODRedBlackTree::add):

2010-09-09  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Fill mode is broken with multiple keyframes
        https://bugs.webkit.org/show_bug.cgi?id=41209

        With a forward fill mode the animation would tick after
        the end of the animation, causing the fractional
        duration of the animation to wrap. This meant the last
        style update would happen using the incorrect keyframes.
        The solution was to put clamps in for the elapsed time
        and current iteration count.

        Tests: animations/fill-mode-missing-from-to-keyframes.html
               animations/fill-mode-multiple-keyframes.html

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):

2010-09-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: Support AccessibilityTextMarkers in DRT
        https://bugs.webkit.org/show_bug.cgi?id=44778

        Provide support in DRT for accessing and manipulating the text marker system that AX exposes.
        This will allow future bug fixes in the text marker system to be adequately tested.

        Tests: platform/mac/accessibility/element-for-text-marker.html
               platform/mac/accessibility/text-marker-length.html

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

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

        Reviewed by Dan Bernstein.

        REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1
        https://bugs.webkit.org/show_bug.cgi?id=40743
        
        We can't do partial compositing layer updates on scrolling if we have to look
        for overlap, because the overlap map needs to be populated by traversing the
        compositing layer hierarchy from the root.

        Test: compositing/layer-creation/scroll-partial-update.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateCompositingLayers):

2010-09-09  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] testmimehandling falsely succeeds testing Ogg mime type
        https://bugs.webkit.org/show_bug.cgi?id=45349

        Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg
        files work as well.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache):

2010-09-09  Adam Barth  <abarth@webkit.org>

        Move FTPDirectoryDocument, ImageDocument, MediaDocument, and
        PluginDocument from WebCore/loader to WebCore/html.  These classes are
        subclasses of HTMLDocument.  They don't belong in the loader.  Further
        cleanup patches to follow.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp.
        * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h.
        * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp.
        * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h.
        * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp.
        * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h.
        * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp.
        * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h.
        * loader/FTPDirectoryDocument.cpp: Removed.
        * loader/FTPDirectoryDocument.h: Removed.
        * loader/ImageDocument.cpp: Removed.
        * loader/ImageDocument.h: Removed.
        * loader/MediaDocument.cpp: Removed.
        * loader/MediaDocument.h: Removed.
        * loader/PluginDocument.cpp: Removed.
        * loader/PluginDocument.h: Removed.

2010-09-09  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: use string representation of resource type in extension API
        Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
        https://bugs.webkit.org/show_bug.cgi?id=45286

        Test: inspector/extensions-resources.html

        * English.lproj/localizedStrings.js: Added "media".
        * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
        (WebInspector.ExtensionServer.prototype._convertResource):
        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
        * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
        (WebInspector.Resource.Type.toUIString):
        (WebInspector.Resource.Type.toString):

2010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Fixed incorrect Symbian scoping.

        The missing install functionality is only true for mmp based systems.

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

        * WebCore.pro:

2010-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Dirk Schulze.

        [WML] Add a parameter to fix build break.
        https://bugs.webkit.org/show_bug.cgi?id=45437

        In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. 
        Because, parent class's setSelectedIndexByUser() has one more param.

        * wml/WMLSelectElement.h:

2010-09-09  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed attempt to fix EFL build after r67001.

        [EFL] Regression (67001) Build break
        https://bugs.webkit.org/show_bug.cgi?id=45422

        * platform/efl/ScrollbarEfl.cpp:
        (scrollbarEflEdjeMessage):

2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        MarkupAccumulator should be broken down into two classes
        https://bugs.webkit.org/show_bug.cgi?id=44854

        Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles,
        shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create
        StyledMarkupAccumulator in order to isolate annotation related code and prepending of text.

        Isolating MarkupAccumulator as a separate class has two advantages:
        1. Isolated serialization code is easier to understand and easier to security-review.
        2. Embedder can use MarkupAccumulator to implement "Save as" feature.

        Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in
        StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs
        to append only rendered text when shouldAnnotate() is true, and appendElement requires a different
        behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument.
        (WebCore::MarkupAccumulator::~MarkupAccumulator): Added.
        (WebCore::StyledMarkupAccumulator::): Added.
        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added.
        (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation.
        (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator.
        (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator.
        (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual.
        (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text.
        (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer.
        (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText.
        (WebCore::MarkupAccumulator::appendText): No longer deals with annotation.
        (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation.
        (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator.
        (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator.
        (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation.
        (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator.
        (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator.
        (WebCore::MarkupAccumulator::appendOpenTag): Added.
        (WebCore::MarkupAccumulator::appendCloseTag): Added.
        (WebCore::MarkupAccumulator::appendAttribute): Added.
        (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
        (WebCore::serializeNodes): Takes StyledMarkupAccumulator.
        (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator.

2010-09-08  Peter Kasting  <pkasting@google.com>

        Not reviewed, layout test fix.
        
        Fix flaky layout test results caused by not initializing members correctly.
        https://bugs.webkit.org/show_bug.cgi?id=45411

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::ScrollAnimator):
        (WebCore::ScrollAnimator::~ScrollAnimator):
        * platform/ScrollAnimator.h:

2010-09-08  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        spelling underline gets lost on backspace
        https://bugs.webkit.org/show_bug.cgi?id=41423

        moveParagraphs() did make a DOM range by serializing source range
        and deserializing it back, and markers are gone during the process.
        This change marks that DOM range again.

        Test: editing/spelling/spelling-backspace-between-lines.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs):
        * editing/Editor.cpp:
        (WebCore::Editor::clearMisspellingsAndBadGrammar): Added.
        (WebCore::Editor::markMisspellingsAndBadGrammar): Added.
        * editing/Editor.h:

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        text/plain documents that start with \n trigger ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=45409

        Because the TextDocumentParser uses a <pre> element to show the text,
        it ran into a requirement from HTML5 to skip any initial \n character
        tokens inside a <pre> element.  We don't want the behavior for
        TextDocuments, so I've loosened our ASSERTs and added a comment and a
        test to document the correct behavior.

        Test: fast/tokenizer/text-plain.html

        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-09-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Always do 2d canvas clearRect() in hardware
        https://bugs.webkit.org/show_bug.cgi?id=45415

        r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was
        active.  This is subtly wrong for mixed mode rendering since it results in only the
        software backing store being cleared and not the hardware.  This forces clearRect() to
        happen in hardware.  Since we upload mixed mode results before doing any hardware draw
        this means we always clear everything.

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

2010-09-08  Dean Jackson  <dino@apple.com>

        Unreviewed attempt to fix the Mac builds.

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

2010-09-08  Dean Jackson  <dino@apple.com>

        Unreviewed attempt to fix QT build.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::solveStepsFunction):
        (WebCore::applyTimingFunction):

2010-09-08  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Implement steps() timing function for animations
        https://bugs.webkit.org/show_bug.cgi?id=44541

        Tests: animations/timing-functions.html
               transitions/steps-timing-function.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getTimingFunctionValue):
            - when creating computed style we now test what
              type of timing function it being used
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
            - rename this method from parseTimingFunctionValue
        (WebCore::CSSParser::parseAnimationTimingFunction):
            - support parsing the steps() function
        * css/CSSParser.h:
            - method rename
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
            - handle 'step-start' and 'step-end' identifiers. Also
              now use ::create when constructing objects
        * css/CSSTimingFunctionValue.cpp:
        (WebCore::CSSLinearTimingFunctionValue::cssText):
        (WebCore::CSSCubicBezierTimingFunctionValue::cssText):
        (WebCore::CSSStepsTimingFunctionValue::cssText):
            - new text output for computed style. We now produce
              the text 'linear' when appropriate.
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::isTimingFunctionValue):
        (WebCore::CSSLinearTimingFunctionValue::create):
        (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue):
        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
        (WebCore::CSSCubicBezierTimingFunctionValue::create):
        (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue):
        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
        (WebCore::CSSStepsTimingFunctionValue::create):
        (WebCore::CSSStepsTimingFunctionValue::numberOfSteps):
        (WebCore::CSSStepsTimingFunctionValue::stepAtStart):
        (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue):
        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
            - CSSTimingFunction is now a pure virtual ref-counted base class, with
              subclasses for each of the three supported timing functions.
        * css/CSSValueKeywords.in:
            - new keywords step-start and step-end
        * page/animation/AnimationBase.cpp:
        (WebCore::solveStepsFunction):
            - produces the output value from a stepping function
        (WebCore::AnimationBase::progress):
            - now has to switch based on timing function type
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
            - use ref-counted access
        * platform/animation/Animation.cpp:
        (WebCore::Animation::animationsMatch):
            - change timing function comparison for operator==
        * platform/animation/Animation.h:
        (WebCore::Animation::timingFunction):
        (WebCore::Animation::setTimingFunction):
        (WebCore::Animation::initialAnimationTimingFunction):
            - move to ref-counted timing function class
        * platform/animation/TimingFunction.h:
        (WebCore::TimingFunction::~TimingFunction):
        (WebCore::TimingFunction::isLinearTimingFunction):
        (WebCore::TimingFunction::isCubicBezierTimingFunction):
        (WebCore::TimingFunction::isStepsTimingFunction):
        (WebCore::TimingFunction::TimingFunction):
        (WebCore::LinearTimingFunction::create):
        (WebCore::LinearTimingFunction::~LinearTimingFunction):
        (WebCore::LinearTimingFunction::operator==):
        (WebCore::LinearTimingFunction::LinearTimingFunction):
        (WebCore::CubicBezierTimingFunction::create):
        (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
        (WebCore::CubicBezierTimingFunction::operator==):
        (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
        (WebCore::StepsTimingFunction::create):
        (WebCore::StepsTimingFunction::~StepsTimingFunction):
        (WebCore::StepsTimingFunction::operator==):
        (WebCore::StepsTimingFunction::numberOfSteps):
        (WebCore::StepsTimingFunction::stepAtStart):
        (WebCore::StepsTimingFunction::StepsTimingFunction):
            - TimingFunction is now a ref-counted pure virtual base class,
              with three subclasses representing the types of timing functions
              that are supported.
        * platform/graphics/GraphicsLayer.h:
        (WebCore::AnimationValue::AnimationValue):
        (WebCore::FloatAnimationValue::FloatAnimationValue):
        (WebCore::TransformAnimationValue::TransformAnimationValue):
            - use PassRefPtr in function parameters
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::solveStepsFunction):
        (WebCore::applyTimingFunction):
        (WebCore::AnimationQt::AnimationQt):
        (WebCore::AnimationQt::updateCurrentTime):
            - implement the timing function switch for QT
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::getCAMediaTimingFunction):
            - update for new timing function interface
        (WebCore::animationHasStepsTimingFunction):
            - new method to make sure animations with steps() functions
              never try to execute in Core Animation
        (WebCore::GraphicsLayerCA::addAnimation):
            - test for steps() timing function
        (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
        * rendering/style/RenderStyleConstants.h:
            - remove old RenderStyle enum for timing function types

2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed trivial fix after r66960.

        * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        move-during-parse-parent.html crashes
        https://bugs.webkit.org/show_bug.cgi?id=45210

        When inserting elements into the tree, they need to be associated with
        their parent's document, not the document for which the parser is
        running.  These two are different when the parent has been moved to a
        different document during parsing.

        Test: fast/parser/move-during-parsing.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertComment):
        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):

2010-09-08  Gabor Loki  <loki@webkit.org>

        Reviewed by Andreas Kling.

        Fix increases required alignment of target type warning on ARM
        https://bugs.webkit.org/show_bug.cgi?id=45301

        No new tests needed.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readLittleEndian):
        (WebCore::CloneDeserializer::readString):
        * plugins/PluginDatabase.cpp:
        (WebCore::readTime):

2010-09-08  Antonio Gomes  <agomes@rim.com>

        Reviewed by Daniel Bates.

        Make FocusController::focusedOrMainFrame method const
        https://bugs.webkit.org/show_bug.cgi?id=45406

        No new tests.

        * page/FocusController.cpp:
        (WebCore::FocusController::focusedOrMainFrame):
        * page/FocusController.h:

2010-09-08  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        Fix a problem in createCanonicalUUIDString that causes the last digit
        missing on Linux.
        https://bugs.webkit.org/show_bug.cgi?id=45412

        This is caused by not including the final null character into the count
        that is provided to fgets.

        This is covered by the existing test: send-form-data-with-sliced-file.html.

        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString):

2010-09-08  Nico Weber  <thakis@chromium.org>

        Reviewed by Dimitri Glazkov.

        chromium/mac: Fix overrelease in ImageLayerChromium
        https://bugs.webkit.org/show_bug.cgi?id=45360

        Only release colorSpace if we created it.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContents):

2010-09-08  Robert Hogan  <robert@webkit.org>

        Reviewed by Antonio Gomes.

        Remove some unnecessary duplicate calls to string functions

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

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::parseDataUrl):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send):

2010-09-08  Peter Kasting  <pkasting@google.com>

        Not reviewed, fallout from http://trac.webkit.org/changeset/67001

        Fix compile failures and add svn:eol-style on two new files.

        * platform/ScrollAnimator.h: Added property svn:eol-style.
        * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
        * platform/win/PopupMenuWin.cpp: Fix compile errors.
        (WebCore::PopupMenuWin::scrollToRevealSelection):
        (WebCore::PopupMenuWin::scrollSize):

2010-09-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
        https://bugs.webkit.org/show_bug.cgi?id=45405

        This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
        shadow, or clip applied; at least until we can handle these in hardware.  Otherwise the pattern/gradient/etc
        is completely ignored by the hardware drawing routine and we render incorrectly.

        The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
        fill gradient is set even though it's irrelevant.  This doesn't seem to be an issue in practice and we
        can tighten the checks later if needed.

        Tested by fast/canvas/canvas-incremental-repaint.html.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImageSingleFrameSkia::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::canvasClipPath):
        (WebCore::PlatformContextSkia::canAccelerate):
        * platform/graphics/skia/PlatformContextSkia.h:

2010-09-08  Peter Kasting  <pkasting@google.com>

        Reviewed by David Hyatt.

        Add smooth scrolling framework, and a Windows implementation.
        https://bugs.webkit.org/show_bug.cgi?id=32356

        * CMakeLists.txt: Add ScrollAnimator.
        * GNUmakefile.am: Add ScrollAnimator.
        * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
        * WebCore.gypi: Add ScrollAnimator.
        * WebCore.pro: Add ScrollAnimator.
        * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
        * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
        * platform/ScrollAnimator.cpp: Added base implementation that does no animation.
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimator::scroll):
        (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
        * platform/ScrollAnimator.h: Added base implementation that does no animation.
        (WebCore::ScrollAnimator::ScrollAnimator):
        (WebCore::ScrollAnimator::~ScrollAnimator):
        * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
        (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
        (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
        (WebCore::ScrollAnimatorWin::scroll):
        (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
        (WebCore::ScrollAnimatorWin::accelerationTime):
        (WebCore::ScrollAnimatorWin::animationTimerFired):
        (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
        (WebCore::ScrollAnimatorWin::animateScroll):
        * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
        * platform/ScrollView.cpp: Implement new ScrollbarClient functions.  Allow wheel scrolls to be animated.
        (WebCore::ScrollView::scrollSize):
        (WebCore::ScrollView::setScrollOffsetFromAnimation):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h: Implement new ScrollbarClient functions.
        * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
        (WebCore::Scrollbar::setValue):
        (WebCore::Scrollbar::scroll):
        (WebCore::Scrollbar::moveThumb):
        (WebCore::Scrollbar::setCurrentPos):
        (WebCore::Scrollbar::mouseMoved):
        * platform/Scrollbar.h:
        * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
        (WebCore::ScrollbarClient::ScrollbarClient):
        (WebCore::ScrollbarClient::~ScrollbarClient):
        (WebCore::ScrollbarClient::scroll):
        (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
        * platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
        (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
        (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::gtkValueChanged):
        * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
        (WebCore::Scrollbar::contextMenu):
        * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
        (WebCore::PopupMenuWin::scrollSize):
        (WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
        * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
        * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
        (WebCore::RenderDataGrid::scrollSize):
        (WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
        * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
        * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::scrollSize):
        (WebCore::RenderLayer::setScrollOffsetFromAnimation):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h: Implement new ScrollbarClient functions.
        * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
        (WebCore::RenderListBox::scrollSize):
        (WebCore::RenderListBox::setScrollOffsetFromAnimation):
        (WebCore::RenderListBox::setScrollTop):
        * rendering/RenderListBox.h: Implement new ScrollbarClient functions.

2010-09-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        applyInlineStyleToRange needs cleanup
        https://bugs.webkit.org/show_bug.cgi?id=45008

        Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
        applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.

        No new tests are added since this is a cleanup.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
        * editing/ApplyStyleCommand.h:

2010-09-08  Andy Estes  <aestes@apple.com>

        Rubber-stamped by Darin Adler.

        Incorporate additional feedback from
        https://bugs.webkit.org/show_bug.cgi?id=45364.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
        urlParameter.
        * loader/SubframeLoader.h: Add argument names to the definition of
        SubframeLoader::resourceWillUsePlugin().

2010-09-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders Carlsson.

        Support SerializedScriptValue in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=45340

        Add a new constructor that allows WebKit2 to create a SerializedScriptValue
        directly from serialized data.

        * WebCore.exp.in:
        * bindings/js/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::adopt):
        (WebCore::SerializedScriptValue::data):

2010-09-08  Andy Estes  <aestes@apple.com>

        Reviewed by Eric Carlson.

        Fallback content should be rendered when an <object> doesn't specify a
        data, type or classid attribute.
        https://bugs.webkit.org/show_bug.cgi?id=45364
        <rdar://problem/8375816>

        HTML5 says that if no data or type attribute is specified on an <object>,
        fallback content should be rendered. However, WebKit has traditionally
        supported specifying a URL and MIME type in <param> elements. 

        To more closely match the spec while maintaining compatibility with
        content that relied on our old behavior, we will continue to load
        a resource specified by <param> elements if we can determine a priori
        that it will be handled by a plug-in. 

        If we can't make this determination, and the <object> element has no
        "data" or "type" attribute, the <param> elements will be ignored and
        fallback content will be rendered. Otherwise, there is no change in
        behavior.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
        passed to this function and a <param> exists that specifies a url that
        references a plug-in resource, set it to url, making it the url that
        will be loaded by the <object> element.
        (WebCore::HTMLObjectElement::updateWidget): If no type attribute was
        specified, but there is a classid attribute, try to map the classid to
        a MIME type. This needs to be done before calling
        HTMLObjectElement::parametersForPlugin().
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
        that determines if a resource will load a plug-in based on its url and
        MIME type. This is equivalent to calling
        SubframeLoader::shouldUsePlugin(), but does not burden the caller with
        the details of fallback content.
        * loader/SubframeLoader.h:

2010-09-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add breakpoints to source frame after content is loaded.
        https://bugs.webkit.org/show_bug.cgi?id=43056

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._contentLoaded):

2010-09-08  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Canvas: Remove unnecessary null-check of canvas() in getImageData()
        https://bugs.webkit.org/show_bug.cgi?id=45394

        canvas() is already dereferenced earlier in the function so there is
        no use in checking it for null later.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData):

2010-09-08  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GStreamer] cache media duration in READY instead of PLAYING
        https://bugs.webkit.org/show_bug.cgi?id=39053

        New cacheDuration private method used to in updateStates() and
        durationChanged().

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
        (WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
        (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

2010-09-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Need a WebSocket implementation
        https://bugs.webkit.org/show_bug.cgi?id=45197

        Add a GIO-based WebSocket implementation. This does not yet support
        SSL sockets or proxies, but these should be possible to add as support
        arrives in GLib/GIO for them.

        * platform/network/soup/SocketStreamHandle.h:
        * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
        (WebCore::isActiveHandle): Added.
        (WebCore::deactivateHandle): Added.
        (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
        (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
        (WebCore::SocketStreamHandle::connected): Added.
        (WebCore::SocketStreamHandle::readBytes): Added.
        (WebCore::SocketStreamHandle::writeReady): Added.
        (WebCore::SocketStreamHandle::platformSend): Filled out stub.
        (WebCore::SocketStreamHandle::platformClose): Filled out stub.
        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
        (WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
        (WebCore::connectedCallback): Added.
        (WebCore::readReadyCallback): Added.
        (WebCore::writeReadyCallback): Added.

2010-09-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
        https://bugs.webkit.org/show_bug.cgi?id=45355

        r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
        which determines whether or not to render the render the clip with anti-aliasing
        or not. The Cairo implementation now uses that parameter to determine the argument
        to pass to cairo_set_antialias(...) when clipping.

        Test: This is tested by many tests in fast/borders.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.

2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
        https://bugs.webkit.org/show_bug.cgi?id=44098

        To support video of HTML5 based on gstreamer, add files regarding gstreamer to
        CMakeListsEfl.txt.

        * CMakeListsEfl.txt:

2010-09-08  Jan E Hanssen  <jhanssen@sencha.com>

        Reviewed by Dirk Schulze.

        [Qt] PathQt should use the QPainterPath functionality for calculations
        https://bugs.webkit.org/show_bug.cgi?id=43837

        Change PathQt to use the built-in functionality of QPainterPath for
        calculating length(), pointAtLength() and normalAngleAtLength().

        * platform/graphics/Path.cpp:
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::length):
        (WebCore::Path::pointAtLength):
        (WebCore::Path::normalAngleAtLength):

2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Dirk Schulze.

        [WML] Remove create() function in WMLTaskElement because of build break.
        https://bugs.webkit.org/show_bug.cgi?id=44954

        Remove create() function in WMLTaskElement.cpp because of build breaks.

        * wml/WMLTaskElement.cpp:
        * wml/WMLTaskElement.h:

2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Dirk Schulze.

        [WML] Add create functions to WML.
        https://bugs.webkit.org/show_bug.cgi?id=44950

        There are missing definitions of create function in WML area. 
        So, there are build breaks when enabling WML. The create functions and the construction 
        are added. In addition, a style error and duplicated adoptRef usage are fixed.

        * wml/WMLDocument.h:
        (WebCore::WMLDocument::create):
        * wml/WMLFormControlElement.h:
        * wml/WMLIntrinsicEvent.cpp:
        (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
        * wml/WMLIntrinsicEvent.h:

2010-09-08  Nico Weber  <thakis@chromium.org>

        Reviewed by Kenneth Russell.

        chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=45354

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::updateContents): Set a current local context.

2010-09-08  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nikolas Zimmermann.

        NULL deref when use target is reset, then set to display:none
        https://bugs.webkit.org/show_bug.cgi?id=45345

        Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle

        Test: svg/custom/use-display-none.svg

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

2010-08-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin Adler.

        Handle MediaQueryExp memory management exclusively with smart pointers
        https://bugs.webkit.org/show_bug.cgi?id=44874

        Gace MediaQueryExp a create function, made the constructor private, and followed
        the implications. The one tricky bit was using a non-copying sort to sort
        the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
        
        * ForwardingHeaders/wtf/NonCopyingSort.h: Added.
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::createFloatingMediaQueryExp):
        (WebCore::CSSParser::createFloatingMediaQueryExpList):
        (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
        (WebCore::CSSParser::createFloatingMediaQuery):
        * css/CSSParser.h:
        * css/MediaList.cpp:
        * css/MediaQuery.cpp:
        (WebCore::expressionCompare):
        (WebCore::MediaQuery::MediaQuery):
        (WebCore::MediaQuery::~MediaQuery):
        * css/MediaQuery.h:
        (WebCore::MediaQuery::expressions):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryExp.h:
        (WebCore::MediaQueryExp::create):

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Remove unused member variable from DecodedDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=45379

        This member variable isn't used because of the recent split of
        TextDocumentParser and TextViewSourceParser.

        * dom/DecodedDataDocumentParser.cpp:
        (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
        * dom/DecodedDataDocumentParser.h:
        * dom/ScriptableDocumentParser.cpp:
        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
        * dom/ScriptableDocumentParser.h:

2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Andreas Kling.

        Fix warning in rendering/RenderBlock.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=45373

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||

2010-09-08  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] A list item's number/bullet should not be a child of that list item
        https://bugs.webkit.org/show_bug.cgi?id=45190

        Ignore list markers and prefix them to the text for the item

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Make list markers ignore accessibility for the GTK port.
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_text): Prefix the text of a marker
        along with the accessible text for its list item's AtkObject

2010-09-08  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Rename DocLoader to CachedResourceLoader because that's what it does.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::cachedImage):
        * css/CSSCursorImageValue.h:
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::cachedResourceLoader):
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSFontSelector.h:
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
        * css/CSSImageValue.h:
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::loadPendingImages):
        * css/CSSStyleSheet.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::implicitClose):
        * dom/Document.h:
        (WebCore::Document::cachedResourceLoader):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::requestScript):
        * dom/XMLDocumentParser.cpp:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::matchFunc):
        (WebCore::shouldAllowExternalLoad):
        (WebCore::openFunc):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::xmlDocPtrForString):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseEndElement):
        * dom/XMLDocumentParserScope.cpp:
        (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
        (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
        * dom/XMLDocumentParserScope.h:
        * editing/Editor.cpp:
        (WebCore::Editor::paste):
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::paste):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * html/parser/CSSPreloadScanner.cpp:
        (WebCore::CSSPreloadScanner::emitRule):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::preload):
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::requestPendingScript):
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::cachedResource):
        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        (WebCore::Cache::requestUserCSSStyleSheet):
        (WebCore::Cache::revalidateResource):
        (WebCore::Cache::addCachedResourceLoader):
        (WebCore::Cache::removeCachedResourceLoader):
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::load):
        (WebCore::CachedFont::beginLoadIfNeeded):
        * loader/CachedFont.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::load):
        (WebCore::CachedImage::maximumDecodedImageSize):
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::~CachedResource):
        (WebCore::CachedResource::load):
        * loader/CachedResource.h:
        (WebCore::CachedResource::load):
        (WebCore::CachedResource::setCachedResourceLoader):
        * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::~CachedResourceLoader):
        (WebCore::CachedResourceLoader::frame):
        (WebCore::CachedResourceLoader::checkForReload):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::requestFont):
        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestScript):
        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
        (WebCore::CachedResourceLoader::requestLinkPrefetch):
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        (WebCore::CachedResourceLoader::cachePolicy):
        (WebCore::CachedResourceLoader::removeCachedResource):
        (WebCore::CachedResourceLoader::setLoadInProgress):
        (WebCore::CachedResourceLoader::checkCacheObjectStatus):
        (WebCore::CachedResourceLoader::incrementRequestCount):
        (WebCore::CachedResourceLoader::decrementRequestCount):
        (WebCore::CachedResourceLoader::requestCount):
        (WebCore::CachedResourceLoader::preload):
        (WebCore::CachedResourceLoader::checkForPendingPreloads):
        (WebCore::CachedResourceLoader::requestPreload):
        (WebCore::CachedResourceLoader::clearPreloads):
        (WebCore::CachedResourceLoader::clearPendingPreloads):
        (WebCore::CachedResourceLoader::printPreloadStats):
        * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
        * loader/CachedScript.h:
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp: Removed.
        * loader/DocLoader.h: Removed.
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        (WebCore::DocumentLoader::subresource):
        (WebCore::DocumentLoader::getSubresources):
        * loader/FrameLoader.cpp:
        (WebCore::numRequests):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::didBeginDocument):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::createItem):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::updateFromElement):
        * loader/Request.cpp:
        (WebCore::Request::Request):
        * loader/Request.h:
        (WebCore::Request::cachedResourceLoader):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::Host::servePendingRequests):
        (WebCore::Loader::Host::didFinishLoading):
        (WebCore::Loader::Host::didFail):
        (WebCore::Loader::Host::didReceiveResponse):
        (WebCore::Loader::Host::cancelPendingRequests):
        (WebCore::Loader::Host::cancelRequests):
        * loader/loader.h:
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/Frame.cpp:
        * page/FrameView.cpp:
        (WebCore::FrameView::checkStopDelayingDeferredRepaints):
        (WebCore::FrameView::updateDeferredRepaintDelay):
        * page/Settings.cpp:
        (WebCore::setLoadsImagesAutomaticallyInAllFrames):
        * platform/android/TemporaryLinkStubs.cpp:
        (WebCore::CheckCacheObjectStatus):
        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::start):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        * platform/network/curl/ResourceHandleCurl.cpp:
        * platform/network/mac/ResourceHandleMac.mm:
        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/network/soup/ResourceHandleSoup.cpp:
        * platform/network/win/ResourceHandleWin.cpp:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::requestImageResource):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::loadFont):
        * workers/Worker.cpp:
        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLStyleSheet.h:
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::cachedResourceLoader):
        (WebCore::XSLStyleSheet::parseString):
        * xml/XSLStyleSheetQt.cpp:
        (WebCore::XSLStyleSheet::cachedResourceLoader):
        * xml/XSLTProcessor.cpp:
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::docLoaderFunc):
        (WebCore::setXSLTLoadCallBack):
        (WebCore::xmlDocPtrFromNode):
        (WebCore::XSLTProcessor::transformToString):

2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Carlson.

        Add mediaPlayerPlaybackStateChanged to MediaPlayerClient

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

        The platform backend may change state, for example as a result
        of an external plugin controlling the backend, so we need to
        react to this situation by syncing up the WebCore state with the
        platform backend.

        We call playInternal()/pauseInternal() depending on the backend
        state, to trigger the corresponding DOM events to match the state.

        updatePlayState() is then refactored to take into account the
        situation where the backend is already in the correct state but
        WebCore is not, so that we update the playback progress timer
        and set m_playing correctly.

        updatePlayState() changes Should be covered by existing tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
        (WebCore::HTMLMediaElement::updatePlayState):
        * html/HTMLMediaElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::playbackStateChanged):
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        TextDocument doesn't belong in WebCore/loader
        https://bugs.webkit.org/show_bug.cgi?id=45346

        TextDocument has nothing to do with loading.  It turns out that it
        should be in WebCore/html because TextDocument is actually a subclass
        of HTMLDocument (in quirks mode, no less).

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
        (WebCore::TextDocument::TextDocument):
        (WebCore::TextDocument::createParser):
        * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
        (WebCore::TextDocument::create):

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Create TextViewSourceParser
        https://bugs.webkit.org/show_bug.cgi?id=45343

        Rather than have the view source document set a flag on
        HTMLViewSourceParser to indicate whether we're parsing a text document,
        this patch creates a TextViewSourceParser for parsing text documents in
        view-source mode.  Like the TextDocumentParser, the
        TextViewSourceParser implements this functionality by subclassing its
        HTML counterpart.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        * html/parser/HTMLViewSourceParser.cpp:
        * html/parser/HTMLViewSourceParser.h:
        (WebCore::HTMLViewSourceParser::tokenizer):
        * html/parser/TextViewSourceParser.cpp: Added.
        (WebCore::TextViewSourceParser::TextViewSourceParser):
        (WebCore::TextViewSourceParser::~TextViewSourceParser):
        * html/parser/TextViewSourceParser.h: Added.
        (WebCore::TextViewSourceParser::create):

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Move HTMLInputStream to WebCore/html/parser
        https://bugs.webkit.org/show_bug.cgi?id=45339

        I forgot to move this file before.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
        (WebCore::HTMLInputStream::HTMLInputStream):
        (WebCore::HTMLInputStream::appendToEnd):
        (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
        (WebCore::HTMLInputStream::hasInsertionPoint):
        (WebCore::HTMLInputStream::markEndOfFile):
        (WebCore::HTMLInputStream::haveSeenEndOfFile):
        (WebCore::HTMLInputStream::current):
        (WebCore::HTMLInputStream::splitInto):
        (WebCore::HTMLInputStream::mergeFrom):
        (WebCore::InsertionPointRecord::InsertionPointRecord):
        (WebCore::InsertionPointRecord::~InsertionPointRecord):

2010-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        TextDocument should come in from the cold
        https://bugs.webkit.org/show_bug.cgi?id=45334

        Previously, TextDocument reinvented the wheel to parse text.  This
        patch replaces TextDocument's hand-rolled parser with a parser built on
        the HTML parser infrustructure, which gives us that stuff for free.  I
        also disentangled TextDocument from HTMLViewSourceDocument.

        In a future patch, I'll move TextDocument out of the "loader" directory.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        * html/HTMLViewSourceDocument.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
        * html/parser/HTMLTreeBuilder.h:
        * html/parser/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::forcePlaintext):
        * html/parser/HTMLViewSourceParser.h:
        * html/parser/TextDocumentParser.cpp: Added.
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::~TextDocumentParser):
        (WebCore::TextDocumentParser::insertFakePreElement):
        * html/parser/TextDocumentParser.h: Added.
        (WebCore::TextDocumentParser::create):
        * loader/TextDocument.cpp:
        * loader/TextDocument.h:

2010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Andreas Kling.

        Implement MediaPlayerPrivate::platformMedia() for the Qt port

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

        * platform/graphics/MediaPlayer.h:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivate::platformMedia):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:

2010-09-08  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        An individual renderer should be assigned to each SVGFE*Element class
        https://bugs.webkit.org/show_bug.cgi?id=43954

        RenderSVGResourceFilterPrimitive renderer is added to
        the project, and assigned to each object, which class is
        derived from SVGFilterPrimitiveStandardAttributes. The patch
        mainly contains build system changes, and it fixes one layout
        test in svg/dynamic-updates.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGResourceFilterPrimitive):
        * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
        * rendering/RenderSVGResourceFilterPrimitive.h: Added.
        (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGContainer):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged):
        (WebCore::SVGFELightElement::childrenChanged):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):

2010-09-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        DatasetDOMStringMap does not have the right memory model
        https://bugs.webkit.org/show_bug.cgi?id=45358

        Test: fast/dom/dataset-gc.html

        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::markChildren):
        Mark the dataset if it exists.

        * dom/Element.cpp:
        (WebCore::Element::optionalDataset):
        * dom/Element.h:
        Expose a way to get the dataset or null (depending on if anyone thing
        has forced its creation yet).

2010-09-07  Jan E Hanssen  <jhanssen@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
        https://bugs.webkit.org/show_bug.cgi?id=45331

        This is needed due to an adverse effect of the fix in 44061 that causes
        certain paths not to be closed. This is not important for canvas paths
        but it is for SVG paths, so splitting up the code in a generic (SVG)
        case and one specialized for canvas.

        Test: svg/dom/path-totalLength.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::closePath):
        * platform/graphics/Path.h:
        (WebCore::Path::closeCanvasSubpath):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::closeSubpath):
        (WebCore::Path::closeCanvasSubpath):

2010-09-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Transform animations always run in software now
        https://bugs.webkit.org/show_bug.cgi?id=45341
        
        After r66339 we always fell into software animation, because we
        failed to detect transform or opacity properties in the keyframes,
        so would send an empty list of values to the GraphicsLayer.
        
        Fixed by using CSSProperty values, rather than GraphicsLayer
        values, when detecting the presence of properties in the keyframes.
        
        Test: manual-tests/transition-accelerated.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation):

2010-09-07  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: add FFTFrame files
        https://bugs.webkit.org/show_bug.cgi?id=34827

        No new tests since audio API is not yet implemented.

        * platform/audio/FFTFrame.cpp: Added.
        (WebCore::FFTFrame::doPaddedFFT):
        (WebCore::FFTFrame::createInterpolatedFrame):
        (WebCore::FFTFrame::interpolateFrequencyComponents):
        (WebCore::FFTFrame::extractAverageGroupDelay):
        (WebCore::FFTFrame::addConstantGroupDelay):
        (WebCore::FFTFrame::print):
        * platform/audio/FFTFrame.h: Added.
        (WebCore::FFTFrame::fftSize):
        (WebCore::FFTFrame::log2FFTSize):
        (WebCore::FFTFrame::dspSplitComplex):
        * platform/audio/mac/FFTFrameMac.cpp: Added.
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::fftSetupForSize):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):

2010-09-07  Brent Fulgham  <bfulgham@webkit.org>

        Build fix, no review.

        Provide stubs to allow WebKit.dll to build
        for the WinCairo port.

        * platform/network/curl/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/curl/ResourceResponse.h:
        (WebCore::ResourceResponse::cfURLResponse):

2010-09-07  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioArray.h
        https://bugs.webkit.org/show_bug.cgi?id=45204

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioArray.h: Added.
        (WebCore::AudioArray::AudioArray):
        (WebCore::AudioArray::zero):
        (WebCore::AudioArray::zeroRange):
        (WebCore::AudioArray::copyToRange):

2010-09-07  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Oliver Hunt.

        pushState and replaceState do not clone RegExp objects correctly
        https://bugs.webkit.org/show_bug.cgi?id=44718
        
        Add RegExp support to the JSC implementation of SerializedScriptValue
        (it stores the pattern and flags read from a RegExpObject, and creates
        a new one on deserialization).
        
        Tests: fast/loader/stateobjects/pushstate-object-types.html 

        * ForwardingHeaders/runtime/RegExp.h: Added.
        * ForwardingHeaders/runtime/RegExpObject.h: Added.
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneDeserializer::readTerminal):

2010-09-07  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
        https://bugs.webkit.org/show_bug.cgi?id=45324

        Adds appropriate #if guards around code that has to deal directly with the compositor.
        DrawingBuffer can still be used without the compositor as an off-screen rendering
        region.

        To test, compile without USE(ACCELERATED_COMPOSITING).

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.h:

2010-09-03  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Provide a way to trigger a <select multiple> onchange event on changes
        https://bugs.webkit.org/show_bug.cgi?id=45192

        Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html

        This provides a way for a WebKit client using the Obj-C DOM bindings to
        trigger the "change" on a listbox select (<select multiple> or <select>
        with size > 1). This is because when a select is rendered as a listbox
        "change" events are triggered by mouse down events.

        This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
        to allow for handling multiple selections if the select element is a
        multi-select.

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
        * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
        * dom/SelectElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
        * html/HTMLSelectElement.h:
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::setSelectedIndexByUser):

2010-09-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Minor WKCACFLayerRenderer cleanup
        https://bugs.webkit.org/show_bug.cgi?id=45201

        Call initD3DGeometry() from createRenderer, rather than duplicating the code.

        No behavior changes.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::createRenderer):

2010-09-07  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
        gets destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=45329

        Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):

2010-09-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8381749> -Wcast-align warning emitted when building with clang

        Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.

        * Configurations/Base.xcconfig:

2010-09-07  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Adler.

        Remove redundant bounds check in originalText(). Add bounds check
        to previousCharacter(). No need of start() > 0 check since m_start
        is unsigned and we already do start() null check inside function.
        https://bugs.webkit.org/show_bug.cgi?id=45303

        Test: fast/text/one-letter-transform-crash.html

        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::originalText):
        (WebCore::RenderTextFragment::previousCharacter):

2010-09-07  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Regression in JPEG texture uploads on Mac OS X
        https://bugs.webkit.org/show_bug.cgi?id=45316

        Fixed regression introduced in
        https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
        test covering this case to gl-teximage.html in Khronos repository
        and synced test with WebKit's version.

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-09-07  Martin Robinson  <mrobinson@igalia.com>

        Add rendering/ColumnInfo.h to the sources list.

        * GNUmakefile.am:

2010-09-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/ColumnInfo.h: Added.
        (WebCore::ColumnInfo::ColumnInfo):
        (WebCore::ColumnInfo::desiredColumnWidth):
        (WebCore::ColumnInfo::setDesiredColumnWidth):
        (WebCore::ColumnInfo::desiredColumnCount):
        (WebCore::ColumnInfo::setDesiredColumnCount):
        (WebCore::ColumnInfo::columnCount):
        (WebCore::ColumnInfo::columnRectAt):
        (WebCore::ColumnInfo::clearColumns):
        (WebCore::ColumnInfo::addColumnRect):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::hitTestColumns):
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
        (WebCore::RenderBlock::desiredColumnWidth):
        (WebCore::RenderBlock::desiredColumnCount):
        (WebCore::RenderBlock::columnInfo):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::adjustPointToColumnContents):
        (WebCore::RenderBlock::adjustRectForColumns):
        (WebCore::RenderBlock::adjustForColumns):
        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintChildLayerIntoColumns):
        (WebCore::RenderLayer::hitTestChildLayerColumns):

2010-09-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/7794761> Floats inside of multicol fail to hit test
        https://bugs.webkit.org/show_bug.cgi?id=44730

        Test: fast/multicol/hit-test-float.html

        Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
        call it with column-adjusted coordinates.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestColumns):
        * rendering/RenderBlock.h:

2010-09-07  François Sausset  <sausset@gmail.com>

        Reviewed by Beth Dakin.

        <math> element should be centered when display attribute set to block.
        https://bugs.webkit.org/show_bug.cgi?id=44206

        Test: mathml/presentation/attributes.xhtml

        * css/mathml.css:
        (math[display="block"]):

2010-09-07  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Media elements should derive from ActiveDOMObjects
        https://bugs.webkit.org/show_bug.cgi?id=45306
        <rdar://problem/7929062>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
        (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
        (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
        (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
        (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
        so the element can't be collected before they are sent.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::canSuspend):

2010-09-07  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r66886.
        http://trac.webkit.org/changeset/66886
        https://bugs.webkit.org/show_bug.cgi?id=45112

        Made

        * platform/chromium/GeolocationServiceChromium.cpp:
        * platform/chromium/GeolocationServiceChromium.h:

2010-09-07  Martin Robinson  <mrobinson@igalia.com>

        Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
        is no longer built.

        * GNUmakefile.am: Remove reference to libWebCoreJS.

2010-09-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] [REGRESSION] r66848 caused a crash in testwebview
        https://bugs.webkit.org/show_bug.cgi?id=45298

        No new tests as this fixes a test failure.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
        scrollbar adjustments unless this is a main frame ScrollView. If we do
        Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
        a segfault.

2010-09-07  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Compile fix for Android.
        https://bugs.webkit.org/show_bug.cgi?id=45292
        Explicitly add needed header for 
        STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get 
        included through other headers on Android.

        No new tests, just a compile fix.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-09-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix some feature guards
        https://bugs.webkit.org/show_bug.cgi?id=45302

        No new tests as this is just a build change.

        * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
        * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
        * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
        * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
        * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
        * platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
        * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
        * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
        * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
        * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
        * platform/gtk/GeolocationServiceGtk.h: Ditto.

2010-09-07  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Jeremy Orlow.

        Access to out-of-scope WebGeolocationServiceBridgeImpl
        https://bugs.webkit.org/show_bug.cgi?id=45112

        Add missing virtual destructor to the abstract base class.

        * platform/chromium/GeolocationServiceChromium.cpp:
        (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
        * platform/chromium/GeolocationServiceChromium.h:

2010-09-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] [REGRESSION] r66848 caused a crash in testwebview
        https://bugs.webkit.org/show_bug.cgi?id=45298

        No new tests as this fixes a test failure.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
        scrollbar adjustments unless this is a main frame ScrollView. If we do
        Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
        a segfault.

2010-09-07  Adam Langley  <agl@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Fix complex text word spacing on Linux.

        I broke complex text word spacing with r66689. I misnamed a
        variable in the original code |glyphIndex| when it was
        actually indexing code points. That meant that I compared it
        against the wrong limit when working around Harfbuzz issues
        and neatly disabled word spacing.

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

        Test: fast/text/atsui-spacing-features.html

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

2010-09-07  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Fix speech button's hit test logic for RTL rendering.
        https://bugs.webkit.org/show_bug.cgi?id=45288

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::forwardEvent):

2010-09-07  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Ignore programmatic clicks on speech input button for security reasons.
        https://bugs.webkit.org/show_bug.cgi?id=45181

        Test: fast/speech/speech-button-ignore-generated-events.html

        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2010-09-07  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
        https://bugs.webkit.org/show_bug.cgi?id=44697

        When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
        object that's pushed onto the function's scope before the function is invoked, and
        popped again afterwards.

        We were pushing this new scope object _after_ calling JSFunction::getCallData(),
        and relying on JSC::call() to use the fresh scope chain from the function object.
        However, this is no longer the case; JSC::call() uses the scope chain passed in
        the CallData argument. Hence, we need to set up the scope before the function's
        CallData is queried.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtConnectionObject::execute):

2010-09-07  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
        https://bugs.webkit.org/show_bug.cgi?id=45272

        Build fix.

        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorControllerForNode):

2010-09-07  Joerg Bornemann  <joerg.bornemann@nokia.com>

        Reviewed by Ariya Hidayat.

        Fix QtWebKit linker error on Windows CE 6.
        https://bugs.webkit.org/show_bug.cgi?id=43442

        Doesn't affect any tests.

        * WebCore.pro:

2010-09-07  James Kozianski  <koz@chromium.org>

        Reviewed by Kent Tamura.

        Crash rendering <meter/> with percent padding
        https://bugs.webkit.org/show_bug.cgi?id=45081

        Avoids a crash caused by RenderMeter checking its own dimensions to
        determine whether it needs layout. The crash is avoided by removing
        the check and always calling setNeedsLayout(true).

        Test: fast/dom/HTMLMeterElement/meter-percent-size.html

        * rendering/RenderIndicator.cpp:
        (WebCore::RenderIndicator::updateFromElement):
        * rendering/RenderIndicator.h:

2010-09-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        OOB read with svg polyline
        https://bugs.webkit.org/show_bug.cgi?id=45279

        In principle, attributeChanged can do anything.  If we supported more
        DOM mutation events, it could even run JavaScript.  That means we need
        to be prepared for the attribute map to change when running
        attributeChanged.  This patch makes this loop resilient to the
        attribute map changing by storing the list of changed attributes on the
        stack.

        Test: fast/parser/changing-attrbutes-crash.html

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

2010-09-06  Oliver Hunt  <oliver@apple.com>

        Windows build fix

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::write):

2010-09-06  Oliver Hunt  <oliver@apple.com>

        Windows build fix

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::write):

2010-09-05  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig.

        SerializedScriptValue needs to use a flat storage mechanism
        https://bugs.webkit.org/show_bug.cgi?id=45244

        Rewrite the old tree to tree serialization logic to use
        flat storage.  Unfortunately this basically required a
        complete rewrite.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneBase::CloneBase):
        (WebCore::CloneBase::shouldTerminate):
        (WebCore::CloneBase::ticksUntilNextCheck):
        (WebCore::CloneBase::didTimeOut):
        (WebCore::CloneBase::throwStackOverflow):
        (WebCore::CloneBase::throwInterruptedException):
        (WebCore::CloneBase::fail):
        (WebCore::CloneSerializer::serialize):
        (WebCore::CloneSerializer::CloneSerializer):
        (WebCore::CloneSerializer::isArray):
        (WebCore::CloneSerializer::startObject):
        (WebCore::CloneSerializer::startArray):
        (WebCore::CloneSerializer::endObject):
        (WebCore::CloneSerializer::getSparseIndex):
        (WebCore::CloneSerializer::getProperty):
        (WebCore::CloneSerializer::dumpImmediate):
        (WebCore::CloneSerializer::dumpString):
        (WebCore::CloneSerializer::dumpIfTerminal):
        (WebCore::CloneSerializer::write):
        (WebCore::CloneSerializer::writeLittleEndian):
        (WebCore::CloneSerializer::writeStringIndex):
        (WebCore::CloneDeserializer::deserializeString):
        (WebCore::CloneDeserializer::deserialize):
        (WebCore::CloneDeserializer::CloneDeserializer):
        (WebCore::CloneDeserializer::throwValidationError):
        (WebCore::CloneDeserializer::isValid):
        (WebCore::CloneDeserializer::readLittleEndian):
        (WebCore::CloneDeserializer::read):
        (WebCore::CloneDeserializer::readStringIndex):
        (WebCore::CloneDeserializer::readString):
        (WebCore::CloneDeserializer::readStringData):
        (WebCore::CloneDeserializer::readTag):
        (WebCore::CloneDeserializer::putProperty):
        (WebCore::CloneDeserializer::readFile):
        (WebCore::CloneDeserializer::readTerminal):
        (WebCore::SerializedScriptValue::~SerializedScriptValue):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::toString):
        (WebCore::SerializedScriptValue::deserialize):
        (WebCore::SerializedScriptValue::nullValue):
        * bindings/js/SerializedScriptValue.h:
        * dom/MessagePortChannel.cpp:
        (WebCore::MessagePortChannel::EventData::EventData):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
        (WebCore::MessageWorkerTask::MessageWorkerTask):

2010-09-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=45046

        Make interior frame scrollbars "fully-fake," which means they do not rely
        at all on GTK+ for painting or behavior, but instead are typical WebCore
        scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
        MainFrameScrollbarGtk and remove all logic in that file dealing with interior
        frame scrollbars.

        No new tests, as this is already covered by pixel tests for scrollbars,
        which were added in r66605.

        * GNUmakefile.am: Update sources list.
        * platform/ScrollView.h: Change the adjustment members to be smart pointers.
        * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
        * platform/gtk/MainFrameScrollbarGtk.cpp: Added.
        (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
        (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
        (MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
        (MainFrameScrollbarGtk::attachAdjustment):
        (MainFrameScrollbarGtk::detachAdjustment):
        (MainFrameScrollbarGtk::updateThumbPosition):
        (MainFrameScrollbarGtk::updateThumbProportion):
        (MainFrameScrollbarGtk::gtkValueChanged):
        (MainFrameScrollbarGtk::paint):
        * platform/gtk/MainFrameScrollbarGtk.h: Added.
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformInit): Remove unnecessary initialization
        because of smart pointer change.
        (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
        interior frame scrollbars, create a normal WebCore scrollbar.
        (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
        that this method is never called with a non-null adjustment on an interior frame
        scrollbar.
        (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
        (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
        (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
        transitionary states when accessing parent widgets. Explcitly guard against interior
        frame ScrollView's trying to determine size based on parent widgets.
        (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
        it copy-and-pasted from. Update it and change the logic to do the right thing for
        interior frame scrollbars.
        * platform/gtk/ScrollbarGtk.cpp: Removed.
        * platform/gtk/ScrollbarGtk.h: Removed.

2010-09-06  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Make SVG PendingResources use RefPtr
        https://bugs.webkit.org/show_bug.cgi?id=43587

        Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for 
        pending elements instead of a raw pointer so that pending elements can't
        be freed prematurely.

        Test: svg/custom/use-invalid-pattern.svg

        * rendering/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::registerResource):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::addPendingResource):
        (WebCore::SVGDocumentExtensions::removePendingResource):
        * svg/SVGDocumentExtensions.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::insertedIntoDocument):

2010-09-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] ScrollbarThemeGtk should support secondary steppers
        https://bugs.webkit.org/show_bug.cgi?id=44791

        Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
        the algorithms for calculating forward and back button rects, if they
        are active in the theme. Expose this information via GtkScrollbarMetrics.

        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
        of GtkScrollbarMetrics when updating the style cache.
        (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
        (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
        (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
        * platform/gtk/ScrollbarThemeGtk.h:
        * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
        via GtkScrollbarMetrics.
        * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.

2010-09-06  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Implement HTML5 definition of document.readyState
        https://bugs.webkit.org/show_bug.cgi?id=45119

        The legacy behavior was "loading" -> "loaded" -> "complete". The new
        HTML5 behavior is "loading" -> "interactive" -> "complete". There is
        some potential for this to cause compat problems if for instance a
        page expects readyState to be "loaded" during the DOMContentLoaded event.

        Test: fast/dom/Document/readystate.html

        * dom/Document.cpp:
        (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
        when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
        So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
        (WebCore::Document::readyState):
        (WebCore::Document::setReadyState):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
        * dom/Document.h:
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
        It is better to ensure it is only called while parsing.
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
        This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
        (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
        the additional steps of pumping tokenizer, setting the state, etc.
        (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
        (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.

2010-09-06  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Inline hot methods for V8 to WebCore and back conversions
        https://bugs.webkit.org/show_bug.cgi?id=45270

        Inline fast paths of hot functions performing conversions from V8 wrappers
        to WebCore native objects and back.
        That slightly increases the size of binary (within 0.1% for both Ubuntu
        and Windows, but those builds are slightly different from official ones),
        but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getWrapperSlow):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::getWrapper):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2010-09-06  Shane Stephens  <shanestephens@google.com>

        Reviewed by Dimitri Glazkov.

        [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
        https://bugs.webkit.org/show_bug.cgi?id=44750

        Fixes crash by checking for null transforms and skipping update step
        when appropriate.

        Test: svg/dom/symbol-embeddedAnimation.svg

        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):

2010-09-06  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Tor Arne Vestbø.

        WebCore already generates a focus-{out,in} events on its setFocus
        method, there's no need to duplicate it here. Previously this was
        needed because we were not catching all possible names of focus
        events in PluginView::handleEvent and were missing the ones
        WebCore does, but this has been fixed in r66827.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setFocus):

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

        Unreviewed, rolling out r66823.
        http://trac.webkit.org/changeset/66823
        https://bugs.webkit.org/show_bug.cgi?id=45266

        Windows build fails with unknown reason (Requested by zherczeg
        on #webkit).

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderObject.h:
        * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
        * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGContainer):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged):
        (WebCore::SVGFELightElement::childrenChanged):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
        * svg/SVGFilterElement.h:
        (WebCore::SVGFilterElement::invalidateFilter):
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):

2010-09-06  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Provide Keyboard Events to Windowless plugins
        https://bugs.webkit.org/show_bug.cgi?id=44613

        Fix keyboard event delivery for windowless plugins.

        Based on a patch by Bharathwaaj.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::handleEvent): also take into account
        focused{in,out} events
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::handleKeyboardEvent): we want the keyval
        here, not the hardware keycode
        (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events

2010-09-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.

        There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
        will be called with additional argument for callback but with undefined value.

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

        * inspector/CodeGeneratorInspector.pm:

2010-09-06  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        An individual renderer should be assigned to each SVGFE*Element class
        https://bugs.webkit.org/show_bug.cgi?id=43954

        RenderSVGResourceFilterPrimitive renderer is added to
        the project, and assigned to each object, which class is
        derived from SVGFilterPrimitiveStandardAttributes. The patch
        mainly contains build system changes, and it fixes one layout
        test in svg/dynamic-updates.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGResourceFilterPrimitive):
        * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
        * rendering/RenderSVGResourceFilterPrimitive.h: Added.
        (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGContainer):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged):
        (WebCore::SVGFELightElement::childrenChanged):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):

2010-09-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Dirk Schulze.

        [WML] Use RenderImageResource in WMLImageElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44952

        The hasImage() and setCachedImage() were moved to RenderImageResource class. 
        So, WML also should use the functions from RenderImageResource.

        * wml/WMLImageElement.cpp:
        (WebCore::WMLImageElement::attach):

2010-08-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add index insertion support to IndexedDB.
        https://bugs.webkit.org/show_bug.cgi?id=44695

        Whenever you insert an item into an ObjectStore, it should use all
        indexes' key paths to insert corresponding entries into each index.
        Also data should be deleted out of the index when it goes away.

        Not much testing yet since there's no way to directly observe indexes.
        More will be in next patch.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        * storage/IDBIndex.idl:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::whereClause):
        (WebCore::bindWhereClause):
        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::id):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::whereSyntax):
        (WebCore::IDBKey::bind):
        (WebCore::IDBKey::bindWithNulls):
        * storage/IDBKey.h:
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::whereClause):
        (WebCore::bindWhereClause):
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::fetchKeyFromKeyPath):
        (WebCore::putObjectStoreData):
        (WebCore::putIndexData):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::doDelete):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        * storage/IDBObjectStoreBackendImpl.h:

2010-09-06  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] bypass caches when query memory usage from post GC and in crash handler.
        https://bugs.webkit.org/show_bug.cgi?id=45036

        Add Chromium-specific API to query actual memory usage which bypasses any caches.

        * platform/chromium/ChromiumBridge.h:

2010-09-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Rename SecurityOrigin::canLoad to canDisplay
        https://bugs.webkit.org/show_bug.cgi?id=45214

        canLoad is a pretty opaque name.  This function is really about whether
        you can display the contents of the URL in an iframe, an image, or a
        plugin.

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
        (WebCore::SubframeLoader::createJavaAppletWidget):
        (WebCore::SubframeLoader::loadSubframe):
        (WebCore::SubframeLoader::loadPlugin):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        * page/SecurityOrigin.h:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::load):

2010-08-31  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
        https://bugs.webkit.org/show_bug.cgi?id=44943

        Test: inspector/debugger-suspend-active-dom-objects.html

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):

2010-09-05  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Add unit tests for red-black tree and (POD) arena
        https://bugs.webkit.org/show_bug.cgi?id=45060

        * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
        * platform/graphics/gpu/PODInterval.h: Fixed copyright header.
        * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
        * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.

2010-09-05  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
        https://bugs.webkit.org/show_bug.cgi?id=45044

        IndexedDB's IDBKeyRange has what, in other languages, are called class
        methods. In javaScript terms, these are methods only accessible from their
        constructor and not instances. This change adds such support to V8. There
        are already other features required for IndexedDB that JSC doesn't yet
        support, so I'll add this to the list of todo items in the master bug
        for that.

        The bindings tests cover this. My next patch will change WebCore to use
        this and it'll have associated layout tests.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::classMethod):
        (WebDOMTestObj::classMethodWithOptional):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_class_method):
        (webkit_dom_test_obj_class_method_with_optional):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionStaticMethod):
        (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj classMethod]):
        (-[DOMTestObj classMethodWithOptional:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::classMethodCallback):
        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
        (WebCore::ConfigureV8TestObjTemplate):
        * storage/IDBKeyRange.idl:

2010-09-05  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IndexedDB objects' constructors to window
        https://bugs.webkit.org/show_bug.cgi?id=44599

        Also add a forgotten constant to IDBTransaction, and
        change IDBKeyRange over to using the V8Static attribute
        so it actually behaves as it's supposed to.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
        (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::indexedDB):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * storage/IDBKeyRange.idl:
        * storage/IDBTransaction.h:
        * storage/IDBTransaction.idl:

2010-09-04  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Prevent premature deletion of svg use shadow tree
        https://bugs.webkit.org/show_bug.cgi?id=43260

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

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::removedFromDocument):
        (WebCore::SVGUseElement::detach):

2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Darin Adler.

        Add NetworkingContext to avoid layer violations
        https://bugs.webkit.org/show_bug.cgi?id=42292

        Create and provide access to NetworkingContext in FrameLoader.

        In the WebKit layer we added specific implementations of FrameNetworkingContext
        so each port's FrameLoaderClient can add any port specific information to NetworkingContext
        The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
        in the FrameLoader for each frame created. People must always use it
        by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
        The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.

        It is still a preparation to NetworkingContext to be activated and
        work for all ports.

        * WebCore.exp.in:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::~FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::networkingContext):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:

2010-09-03  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Darin Adler.

        V8/JS bindings should not perform type checks if the parameter has Callback attribute
        https://bugs.webkit.org/show_bug.cgi?id=45143

        No new tests, should not affect existing idls.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::overloadedMethod5Callback):
        (WebCore::TestObjInternal::overloadedMethodCallback):

2010-09-03  Kenneth Russell  <kbr@google.com>

        Unreviewed, Chromium build fix. Fix breakage on Windows after
        r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):

2010-09-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Text sometimes fails to display in accelerated 2d canvases
        https://bugs.webkit.org/show_bug.cgi?id=45223

        Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
        using skia to ensure that the backing store state is consistent.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):

2010-09-03  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Add thirdparty directory and incorporate GLU tessellator
        https://bugs.webkit.org/show_bug.cgi?id=44707

        This directory is intended to contain copies of third-party libraries used
        by WebCore, in particular those which may require some modification in
        order to incorporate.

        No tests at this time; these sources are being added in preparation for
        incorporating other code which uses them, at which point the code will be
        exercised and testable.

        * thirdparty: Added.
        * thirdparty/README.txt: Added.
        * thirdparty/glu: Added.
        * thirdparty/glu/LICENSE.txt: Added.
        * thirdparty/glu/README.webkit: Added.
        * thirdparty/glu/gluos.h: Added.
        * thirdparty/glu/internal_glu.h: Added.
        * thirdparty/glu/libtess: Added.
        * thirdparty/glu/libtess/GNUmakefile: Added.
        * thirdparty/glu/libtess/Imakefile: Added.
        * thirdparty/glu/libtess/README: Added.
        * thirdparty/glu/libtess/alg-outline: Added.
        * thirdparty/glu/libtess/dict-list.h: Added.
        * thirdparty/glu/libtess/dict.c: Added.
        * thirdparty/glu/libtess/dict.h: Added.
        * thirdparty/glu/libtess/geom.c: Added.
        * thirdparty/glu/libtess/geom.h: Added.
        * thirdparty/glu/libtess/memalloc.c: Added.
        * thirdparty/glu/libtess/memalloc.h: Added.
        * thirdparty/glu/libtess/mesh.c: Added.
        * thirdparty/glu/libtess/mesh.h: Added.
        * thirdparty/glu/libtess/normal.c: Added.
        * thirdparty/glu/libtess/normal.h: Added.
        * thirdparty/glu/libtess/priorityq-heap.c: Added.
        * thirdparty/glu/libtess/priorityq-heap.h: Added.
        * thirdparty/glu/libtess/priorityq-sort.h: Added.
        * thirdparty/glu/libtess/priorityq.c: Added.
        * thirdparty/glu/libtess/priorityq.h: Added.
        * thirdparty/glu/libtess/render.c: Added.
        * thirdparty/glu/libtess/render.h: Added.
        * thirdparty/glu/libtess/sweep.c: Added.
        * thirdparty/glu/libtess/sweep.h: Added.
        * thirdparty/glu/libtess/tess.c: Added.
        * thirdparty/glu/libtess/tess.h: Added.
        * thirdparty/glu/libtess/tessmono.c: Added.
        * thirdparty/glu/libtess/tessmono.h: Added.

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

        Unreviewed, rolling out r66781.
        http://trac.webkit.org/changeset/66781
        https://bugs.webkit.org/show_bug.cgi?id=45220

        Breaks the build. Adds a mac-specific file to
        platform/graphics without #if PLATFORM() guards and changes
        the GraphicsContext3D interface without updating all
        implementations (Requested by jamesr on #webkit).

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::deleteObject):
        * platform/graphics/ANGLEWebKitBridge.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::validateAttributes):
        (WebCore::GraphicsContext3D::makeContextCurrent):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::reshape):
        (WebCore::ensureContext):
        (WebCore::GraphicsContext3D::prepareTexture):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::finish):
        (WebCore::GraphicsContext3D::flush):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getContextAttributes):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):
        (WebCore::GraphicsContext3D::sizeInBytes):
        (WebCore::GraphicsContext3D::synthesizeGLError):

2010-09-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        Force 2d canvases to be rendered in software when the composite operation isn't source-over
        https://bugs.webkit.org/show_bug.cgi?id=45216

        The current accelerated 2d canvas implementation is very slow for composite operations other
        than the default.  This patch forces a canvas to be rendered in software if any other operation
        is set until we accelerate the rest.

        Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):

2010-09-03  Paul Sawaya  <psawaya@apple.com>

        Reviewed by Chris Marrin.

        Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
        Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=30625

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::deleteObject):
        * platform/graphics/ANGLEWebKitBridge.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
        (WebCore::GraphicsContext3D::prepareTexture):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::finish):
        (WebCore::GraphicsContext3D::flush):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::releaseShaderCompiler):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::ensureContext):
        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):

2010-09-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Implement ImageBufferSkia::draw on the GPU when possible
        https://bugs.webkit.org/show_bug.cgi?id=45207

        When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
        draw in hardware when possible.  This is how canvas 2d's drawImage(canvas, ...)
        is implemented.  Adds new API to DrawingBuffer to request a texture containing
        the DrawingBuffer's current rendering results.

        Test: covered fast/canvas/drawImage.html and all other tests that draw from one
        2d canvas into another.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
        * platform/graphics/gpu/DrawingBuffer.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):

2010-09-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
        https://bugs.webkit.org/show_bug.cgi?id=45187

        Canvas2DLayerChromium keeps a back reference to a DrawingBuffer.  This has to be a raw pointer
        because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium.  Since the layer can
        outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
        is destroyed.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::~DrawingBuffer):

2010-09-03  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Add interval tree capable of holding plain old data (POD)
        https://bugs.webkit.org/show_bug.cgi?id=45160

        Adding an interval tree currently capable of holding types which
        do not require their destructors to be called. POD is a slight
        misnomer which will be corrected soon, hopefully by removing this
        restriction.

        This class is based on the augmentable property of the red/black
        tree integrated under bug 45059.

        Unit tests for the PODIntervalTree will be integrated separately
        under bug 45161.

        * WebCore.gypi:
        * platform/graphics/gpu/PODInterval.h: Added.
        (WebCore::PODInterval::PODInterval):
        (WebCore::PODInterval::low):
        (WebCore::PODInterval::high):
        (WebCore::PODInterval::data):
        (WebCore::PODInterval::overlaps):
        (WebCore::PODInterval::operator<):
        (WebCore::PODInterval::operator==):
        (WebCore::PODInterval::maxHigh):
        (WebCore::PODInterval::setMaxHigh):
        (WebCore::PODInterval::toString):
        * platform/graphics/gpu/PODIntervalTree.h: Added.
        (WebCore::PODIntervalTree::PODIntervalTree):
        (WebCore::PODIntervalTree::allOverlaps):
        (WebCore::PODIntervalTree::createInterval):
        (WebCore::PODIntervalTree::checkInvariants):
        (WebCore::PODIntervalTree::init):
        (WebCore::PODIntervalTree::searchForOverlapsFrom):
        (WebCore::PODIntervalTree::updateNode):
        (WebCore::PODIntervalTree::checkInvariantsFromNode):
        (WebCore::valueToString):

2010-09-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Gracefully switch over to software compositing if the accelerated
        compositor fails to initialize. LayerRendererChromium::create() will now return 0
        if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
        hardware rendering.
        https://bugs.webkit.org/show_bug.cgi?id=45124
        
        Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
        the compositor.

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

2010-09-03  Peter Kasting  <pkasting@google.com>

        Reviewed by Simon Fraser.

        Report correct (unzoomed) image sizes for zoomed images.
        https://bugs.webkit.org/show_bug.cgi?id=42089

        Test: fast/images/zoomed-img-size.html

        * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
        (WebCore::CSSPrimitiveValue::computeLengthInt):
        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
        (WebCore::CSSPrimitiveValue::computeLengthShort):
        * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
        (WebCore::roundForImpreciseConversion):
        * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
        (WebCore::HTMLImageElement::width):
        (WebCore::HTMLImageElement::height):
        * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
        (WebCore::ImageDocumentParser::finish):
        * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
        (WebCore::adjustForAbsoluteZoom):

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

        Unreviewed, rolling out r66770.
        http://trac.webkit.org/changeset/66770
        https://bugs.webkit.org/show_bug.cgi?id=45200

        Broke Windows in a way I can't figure out now to fix
        (Requested by abarth on #webkit).

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::completeURL):
        * bindings/generic/BindingFrame.h: Removed.
        * bindings/generic/BindingLocation.h: Removed.
        * bindings/generic/GenericBinding.h:
        * bindings/js/JSBinding.h: Removed.
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::shouldAllowNavigation):
        (WebCore::toLexicalFrame):
        (WebCore::toDynamicFrame):
        (WebCore::processingUserGesture):
        (WebCore::completeURL):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::navigateIfAllowed):
        (WebCore::JSLocation::replace):
        * bindings/js/specialization/JSBindingState.cpp: Removed.
        * bindings/js/specialization/JSBindingState.h: Removed.
        * bindings/v8/V8Binding.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::completeURL):
        (WebCore::navigateIfAllowed):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::replaceCallback):
        * bindings/v8/specialization/V8BindingState.cpp:
        * bindings/v8/specialization/V8BindingState.h:

2010-09-03  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION (r66452): Sending of multipart forms with files is broken.
        https://bugs.webkit.org/show_bug.cgi?id=45159

        * platform/network/FormData.cpp:
        (WebCore::FormData::appendKeyValuePairItems):

2010-09-03  Dominic Cooney  <dominicc@google.com>

        Reviewed by Adam Barth.

        Moves location.replace bindings logic into bindings/generic and
        instantiates it for JSC and V8.

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

        Covered by existing location.replace tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::createWindow):
        (WebCore::::open):
        * bindings/generic/BindingFrame.h: Added.
        (WebCore::::navigateIfAllowed):
        * bindings/generic/BindingLocation.h: Added.
        (WebCore::::replace):
        * bindings/generic/GenericBinding.h:
        (WebCore::completeURL):
        * bindings/js/JSBinding.h: Added.
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::shouldAllowNavigation):
        (WebCore::toLexicalFrame):
        (WebCore::toDynamicFrame):
        (WebCore::processingUserGesture):
        (WebCore::completeURL):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::navigateIfAllowed):
        (WebCore::JSLocation::replace):
        * bindings/js/specialization/JSBindingState.cpp: Added.
        (WebCore::::getActiveFrame):
        (WebCore::::getFirstFrame):
        (WebCore::::processingUserGesture):
        (WebCore::::allowsAccessFromFrame):
        * bindings/js/specialization/JSBindingState.h: Added.
        * bindings/v8/V8Binding.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::completeURL):
        (WebCore::navigateIfAllowed):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::replaceCallback):
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::allowsAccessFromFrame):
        * bindings/v8/specialization/V8BindingState.h:

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

        Reviewed by Tony Chang.

        [Chromium] Make sure that the width of the menu list is always constant under layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=45196

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::menuListButtonWidth): Added.
        (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
          querying system metrics.

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

        Unreviewed, rolling out r66732.
        http://trac.webkit.org/changeset/66732
        https://bugs.webkit.org/show_bug.cgi?id=45195

        the patch is not matched with general publish/subscribe scheme
        implemented in the Inspector API (Requested by loislo on
        #webkit).

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::getChildNodes):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype.reset):

2010-09-03  James Robinson  <jamesr@chromium.org>

        [chromium] Compile fixes for 66746

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::texImage2D):
        (WebCore::SharedGraphicsContext3D::texSubImage2D):

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

        Reviewed by Kenneth Russell.

        Add AudioParam files
        https://bugs.webkit.org/show_bug.cgi?id=44995

        No new tests since audio API is not yet implemented.

        * webaudio: Added.
        * webaudio/AudioParam.h: Added.
        (WebCore::AudioParam::create):
        (WebCore::AudioParam::AudioParam):
        (WebCore::AudioParam::value):
        (WebCore::AudioParam::setValue):
        (WebCore::AudioParam::name):
        (WebCore::AudioParam::minValue):
        (WebCore::AudioParam::maxValue):
        (WebCore::AudioParam::defaultValue):
        (WebCore::AudioParam::units):
        (WebCore::AudioParam::smoothedValue):
        (WebCore::AudioParam::smooth):
        (WebCore::AudioParam::resetSmoothedValue):
        (WebCore::AudioParam::setSmoothingConstant):
        * webaudio/AudioParam.idl: Added.

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

        Reviewed by Kenneth Russell.

        audio engine: add AudioChannel files
        https://bugs.webkit.org/show_bug.cgi?id=44921

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioChannel.cpp: Added.
        (WebCore::AudioChannel::scale):
        (WebCore::AudioChannel::copyFrom):
        (WebCore::AudioChannel::copyFromRange):
        (WebCore::AudioChannel::sumFrom):
        (WebCore::AudioChannel::maxAbsValue):
        * platform/audio/AudioChannel.h: Added.
        (WebCore::AudioChannel::AudioChannel):
        (WebCore::AudioChannel::set):
        (WebCore::AudioChannel::length):
        (WebCore::AudioChannel::data):
        (WebCore::AudioChannel::zero):

2010-09-03  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Remove usage of ce_textcodecs.h
        https://bugs.webkit.org/show_bug.cgi?id=45169

        ce_textcodecs.h was a non public header for (not required)
        additonal codecs in the original Torch Mobile port.

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

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

        Reviewed by Kenneth Russell.

        Initial patch for audio engine: AudioBus and helper classes
        https://bugs.webkit.org/show_bug.cgi?id=34452

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioBus.cpp: Added.
        (WebCore::AudioBus::AudioBus):
        (WebCore::AudioBus::setChannelMemory):
        (WebCore::AudioBus::zero):
        (WebCore::AudioBus::channelByType):
        (WebCore::AudioBus::topologyMatches):
        (WebCore::AudioBus::createBufferFromRange):
        (WebCore::AudioBus::maxAbsValue):
        (WebCore::AudioBus::normalize):
        (WebCore::AudioBus::scale):
        (WebCore::AudioBus::copyFrom):
        (WebCore::AudioBus::sumFrom):
        (WebCore::AudioBus::processWithGainFromMonoStereo):
        (WebCore::AudioBus::processWithGainFrom):
        (WebCore::AudioBus::copyWithGainFrom):
        (WebCore::AudioBus::sumWithGainFrom):
        * platform/audio/AudioBus.h: Added.
        (WebCore::AudioBus::numberOfChannels):
        (WebCore::AudioBus::channel):
        (WebCore::AudioBus::length):
        (WebCore::AudioBus::sampleRate):
        (WebCore::AudioBus::setSampleRate):
        (WebCore::AudioBus::setGain):
        (WebCore::AudioBus::gain):
        (WebCore::AudioBus::reset):
        (WebCore::AudioBus::AudioBus):
        * platform/audio/AudioSourceProvider.h: Added.
        (WebCore::AudioSourceProvider::~AudioSourceProvider):

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

        Reviewed by Kenneth Russell.

        Add Panner files
        https://bugs.webkit.org/show_bug.cgi?id=45076

        No new tests since audio API is not yet implemented.

        * platform/audio/Panner.cpp: Added.
        (WebCore::Panner::create):
        * platform/audio/Panner.h: Added.
        (WebCore::Panner::~Panner):
        (WebCore::Panner::panningModel):
        (WebCore::Panner::Panner):

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

        Reviewed by Kenneth Russell.

        Add AudioListener files
        https://bugs.webkit.org/show_bug.cgi?id=45006

        No new tests since audio API is not yet implemented.

        * webaudio: Added.
        * webaudio/AudioListener.cpp: Added.
        (WebCore::AudioListener::AudioListener):
        * webaudio/AudioListener.h: Added.
        (WebCore::AudioListener::create):
        (WebCore::AudioListener::setPosition):
        (WebCore::AudioListener::position):
        (WebCore::AudioListener::setOrientation):
        (WebCore::AudioListener::orientation):
        (WebCore::AudioListener::setUpVector):
        (WebCore::AudioListener::upVector):
        (WebCore::AudioListener::setVelocity):
        (WebCore::AudioListener::velocity):
        (WebCore::AudioListener::setDopplerFactor):
        (WebCore::AudioListener::dopplerFactor):
        (WebCore::AudioListener::setSpeedOfSound):
        (WebCore::AudioListener::speedOfSound):
        * webaudio/AudioListener.idl: Added.

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

        Unreviewed

        Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches
        https://bugs.webkit.org/show_bug.cgi?id=45185

        * platform/audio/mac: Added.
        * webaudio: Added.

2010-09-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Chris Marrin.

        Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=44926

        This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D.
        It introduces a new class SharedGraphicsContext3D that manages several callers.  This class could
        also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't.
        The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that
        of the platform-specific compositor infrastructure.

        Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer,
        which represents the canvas's rendering target.  The compositing layer for an accelerated 2d canvas is
        aware only of the canvas's CanvasFramebuffer.  This means that WebGL and 2d canvases are no longer treated
        as the same time of layer by the compositor.

        Covered by existing canvas tests.

        * WebCore.gypi:
        * html/canvas/CanvasRenderingContext.cpp:
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
        (WebCore::CanvasRenderingContext::platformLayer):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::didDraw):
        (WebCore::CanvasRenderingContext2D::platformLayer):
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::graphicsContext3D):
        (WebCore::WebGLRenderingContext::platformLayer):
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
        (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
        (WebCore::EmptyChromeClient::scheduleCompositingLayerSync):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::getSharedGraphicsContext3D):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setSharedGraphicsContext3D):
        (WebCore::GraphicsContext::syncSoftwareCanvas):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added.
        (WebCore::Canvas2DLayerChromium::create):
        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
        (WebCore::Canvas2DLayerChromium::updateContents):
        (WebCore::Canvas2DLayerChromium::setTextureChanged):
        (WebCore::Canvas2DLayerChromium::textureId):
        * platform/graphics/chromium/Canvas2DLayerChromium.h: Added.
        (WebCore::Canvas2DLayerChromium::drawsContent):
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
        (WebCore::CanvasLayerChromium::~CanvasLayerChromium):
        (WebCore::CanvasLayerChromium::draw):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp: Added.
        (WebCore::generateColorTexture):
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        (WebCore::DrawingBuffer::reset):
        (WebCore::DrawingBuffer::platformLayer):
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::GLES2Canvas):
        (WebCore::GLES2Canvas::~GLES2Canvas):
        (WebCore::GLES2Canvas::bindFramebuffer):
        (WebCore::GLES2Canvas::clearRect):
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::drawTexturedRectTile):
        (WebCore::GLES2Canvas::drawQuad):
        (WebCore::GLES2Canvas::createTexture):
        (WebCore::GLES2Canvas::getTexture):
        * platform/graphics/chromium/GLES2Canvas.h:
        (WebCore::GLES2Canvas::context):
        (WebCore::GLES2Canvas::drawingBuffer):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
        (WebCore::WebGLLayerChromium::create):
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::updateContents):
        (WebCore::WebGLLayerChromium::setContext):
        * platform/graphics/chromium/WebGLLayerChromium.h: Added.
        (WebCore::WebGLLayerChromium::drawsContent):
        * platform/graphics/gpu/DrawingBuffer.cpp: Added.
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::bind):
        (WebCore::DrawingBuffer::setWillPublishCallback):
        * platform/graphics/gpu/DrawingBuffer.h: Added.
        (WebCore::DrawingBuffer::size):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added.
        (WebCore::SharedGraphicsContext3D::create):
        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::makeContextCurrent):
        (WebCore::SharedGraphicsContext3D::scissor):
        (WebCore::SharedGraphicsContext3D::enable):
        (WebCore::SharedGraphicsContext3D::disable):
        (WebCore::SharedGraphicsContext3D::clearColor):
        (WebCore::SharedGraphicsContext3D::clear):
        (WebCore::SharedGraphicsContext3D::drawArrays):
        (WebCore::SharedGraphicsContext3D::getError):
        (WebCore::SharedGraphicsContext3D::getIntegerv):
        (WebCore::SharedGraphicsContext3D::createFramebuffer):
        (WebCore::SharedGraphicsContext3D::createTexture):
        (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
        (WebCore::SharedGraphicsContext3D::deleteTexture):
        (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
        (WebCore::SharedGraphicsContext3D::texParameteri):
        (WebCore::SharedGraphicsContext3D::texImage2D):
        (WebCore::SharedGraphicsContext3D::texSubImage2D):
        (WebCore::SharedGraphicsContext3D::readPixels):
        (WebCore::SharedGraphicsContext3D::supportsBGRA):
        (WebCore::SharedGraphicsContext3D::getTexture):
        (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
        (WebCore::SharedGraphicsContext3D::useQuadVertices):
        (WebCore::SharedGraphicsContext3D::setActiveTexture):
        (WebCore::SharedGraphicsContext3D::bindTexture):
        (WebCore::SharedGraphicsContext3D::useFillSolidProgram):
        (WebCore::SharedGraphicsContext3D::useTextureProgram):
        (WebCore::SharedGraphicsContext3D::bindFramebuffer):
        (WebCore::SharedGraphicsContext3D::setViewport):
        (WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer):
        * platform/graphics/gpu/SharedGraphicsContext3D.h: Added.
        * platform/graphics/gpu/Texture.cpp:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::syncSoftwareCanvas):
        (WebCore::GraphicsContext::setSharedGraphicsContext3D):
        * platform/graphics/skia/ImageSkia.cpp:
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        (WebCore::WillPublishCallbackImpl::create):
        (WebCore::WillPublishCallbackImpl::willPublish):
        (WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl):
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
        * platform/graphics/skia/PlatformContextSkia.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

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

        Reviewed by Kenneth Russell.

        Add audio distance effect files
        https://bugs.webkit.org/show_bug.cgi?id=44705

        No new tests since audio API is not yet implemented.

        * platform/audio/Distance.cpp: Added.
        (WebCore::DistanceEffect::DistanceEffect):
        (WebCore::DistanceEffect::gain):
        (WebCore::DistanceEffect::linearGain):
        (WebCore::DistanceEffect::inverseGain):
        (WebCore::DistanceEffect::exponentialGain):
        * platform/audio/Distance.h: Added.
        (WebCore::DistanceEffect::model):
        (WebCore::DistanceEffect::setModel):
        (WebCore::DistanceEffect::setRefDistance):
        (WebCore::DistanceEffect::setMaxDistance):
        (WebCore::DistanceEffect::setRolloffFactor):
        (WebCore::DistanceEffect::refDistance):
        (WebCore::DistanceEffect::maxDistance):
        (WebCore::DistanceEffect::rolloffFactor):

2010-09-03  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Save the gesture state to track the user gesture state across async form submission.
        https://bugs.webkit.org/show_bug.cgi?id=44969

        fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit.
        A UI test will be added in chromium to address chromium's bug.

        * loader/RedirectScheduler.cpp:
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
        (WebCore::ScheduledFormSubmission::fire):
        (WebCore::RedirectScheduler::scheduleFormSubmission):

2010-09-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
        https://bugs.webkit.org/show_bug.cgi?id=45182

        Test: fast/text/decomposed-after-stacked-diacritics.html

        * platform/graphics/Font.cpp:
        (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
        it may also contain characters that require the complex text code path.

2010-09-03  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Cleanup after r66117 - extract heap snapshot
        view styles into a dedicated .css

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/heapProfiler.css: Added.
        (.heap-snapshot-sidebar-tree-item .icon):
        (.heap-snapshot-sidebar-tree-item.small .icon):
        (.heap-snapshot-view):
        (.heap-snapshot-view.visible):
        (.heap-snapshot-view .data-grid):
        (.heap-snapshot-view .data-grid th.count-column):
        (.heap-snapshot-view .data-grid td.count-column):
        (.heap-snapshot-view .data-grid th.size-column):
        (.heap-snapshot-view .data-grid td.size-column):
        (.heap-snapshot-view .data-grid th.countDelta-column):
        (.heap-snapshot-view .data-grid td.countDelta-column):
        (.heap-snapshot-view .data-grid th.sizeDelta-column):
        (.heap-snapshot-view .data-grid td.sizeDelta-column):
        (#heap-snapshot-summary-container):
        (.heap-snapshot-summary):
        (.heap-snapshot-summary canvas.summary-graph):
        (.heap-snapshot-summary-label):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2010-09-03  Zaheer Ahmad <zaheer.mot@gmail.com>

        Reviewed by Darin Adler.

        [GTK] compilation issue with JSTimeRanges when video turned off
        https://bugs.webkit.org/show_bug.cgi?id=44249

        Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
        * WebCore/GNUMakefile.am

2010-09-03  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.

        The current implementation of the inspector api has some unnecessary complexity. 
        As example WebInspector is requesting child nodes of a node by getChildNodes
        but DOM agent is actually pushing the child nodes via setChildNodes event call and
        send back an empty response message.

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

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getChildNodesArray):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::getChildNodes):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype.reset):

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

        Reviewed by Dirk Schulze.

        SVG atlas map slider doesn't work properly
        https://bugs.webkit.org/show_bug.cgi?id=45107

        SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react
        to mouse events, in standalone and compound documents, if the mouse location is
        within the intrinsic boundaries of the <svg> element.

        Tests: svg/custom/mouse-move-on-svg-container-standalone.svg
               svg/custom/mouse-move-on-svg-container.xhtml
               svg/custom/mouse-move-on-svg-root-standalone.svg
               svg/custom/mouse-move-on-svg-root.xhtml

        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):

2010-09-03  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: provide more information to front-end when breaking on DOM event
        https://bugs.webkit.org/show_bug.cgi?id=44679

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::parserInsertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::notifyChildInserted):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp:
        (WebCore::Element::setAttribute):
        (WebCore::Element::removeAttribute):
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willInsertDOMNodeImpl):
        (WebCore::InspectorController::didInsertDOMNodeImpl):
        (WebCore::InspectorController::willRemoveDOMNodeImpl):
        (WebCore::InspectorController::didRemoveDOMNodeImpl):
        (WebCore::InspectorController::willModifyDOMAttrImpl):
        (WebCore::InspectorController::didModifyDOMAttrImpl):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::willInsertDOMNode):
        (WebCore::InspectorController::didInsertDOMNode):
        (WebCore::InspectorController::willRemoveDOMNode):
        (WebCore::InspectorController::willModifyDOMAttr):
        (WebCore::InspectorController::didModifyDOMAttr):
        (WebCore::InspectorController::inspectorControllerForNode):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
        (WebCore::InspectorDOMAgent::createBreakpoint):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::breakProgram):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorValues.h:
        (WebCore::InspectorValue::isNull):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointItem):
        (WebInspector.BreakpointItem.prototype._enableChanged):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.get linesCount):
        * inspector/front-end/inspector.js:
        (WebInspector.pausedScript):

2010-08-31  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        IDBCursor.continue() should reuse the .openCursor's IDBRequest object
        https://bugs.webkit.org/show_bug.cgi?id=44953

        This is to match the spec. This requires a modification to IDBRequest so
        that multiple events can be queued up.

        Note that the initial state for IDBRequest was removed from the spec.

        Test: modified existing test to verify new behavior.

        * storage/IDBAny.cpp:
        (WebCore::IDBAny::createInvalid):
        (WebCore::IDBAny::createNull):
        (WebCore::IDBAny::setNull):
        * storage/IDBAny.h:
        (WebCore::IDBAny::create):
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::IDBCursor):
        (WebCore::IDBCursor::continueFunction):
        * storage/IDBCursor.h:
        (WebCore::IDBCursor::create):
        * storage/IDBCursor.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::~IDBRequest):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::onError):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::timerFired):
        (WebCore::IDBRequest::scheduleEvent):
        * storage/IDBRequest.h:
        * storage/IDBRequest.idl:

2010-09-03  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>

        Reviewed by Xan Lopez.

        Initialize keyboard events before passing plugins.
        https://bugs.webkit.org/show_bug.cgi?id=44771

        No new tests needed since this is a trivial fix.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::handleKeyboardEvent):

2010-09-03  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Qt compilation.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parametersForPlugin):

2010-09-03  Hironori Bono  <hbono@chromium.org>

        Reviewed by Kent Tamura.

        Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
        and implements it for Mac.
        https://bugs.webkit.org/show_bug.cgi?id=41832

        Tests: editing/spelling/spelling-contenteditable.html
               editing/spelling/spelling-textarea.html

        * WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:].

2010-09-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
        https://bugs.webkit.org/show_bug.cgi?id=44230

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
        that frontend closes if InspectorController triggered the action.
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromBackend):

2010-09-03  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed-by Simon Hausmann.

        Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. 
        Instead, pass a X Pixmap that has same depth as the screen depth since graphics 
        operations are optimized for this depth.

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

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):

2010-09-02  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp
        https://bugs.webkit.org/show_bug.cgi?id=45152

        DatabaseAuthorizer is used only with ENABLE(DATABASE).

        * storage/DatabaseAuthorizer.cpp:

2010-09-02  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: persist DOM breakpoints between page reloads
        https://bugs.webkit.org/show_bug.cgi?id=44837

        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointItem):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.path):
        (WebInspector.DOMNode.prototype.setBreakpoint):
        (WebInspector.DOMNode.prototype.hasBreakpoint):
        (WebInspector.DOMNode.prototype.removeBreakpoint):
        (WebInspector.DOMNode.prototype.removeBreakpoints):
        (WebInspector.DOMAgent.prototype._setDocument):
        (WebInspector.DOMAgent.prototype._childNodeRemoved):
        (WebInspector.DOMAgent.prototype._removeBreakpoints):
        (WebInspector.DOMBreakpointManager):
        (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
        (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
        (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
        (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode):
        (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints):
        (WebInspector.DOMBreakpoint):
        (WebInspector.DOMBreakpoint.prototype.get nodeId):
        (WebInspector.DOMBreakpoint.prototype.get type):
        (WebInspector.DOMBreakpoint.prototype.set enabled):
        (WebInspector.DOMBreakpoint.prototype.remove):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        (WebInspector.ElementsPanel.prototype.setDocument):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Move updateWidget into FrameView from RenderEmbeddedObject
        https://bugs.webkit.org/show_bug.cgi?id=45065

        I also made updateWidget() virtual on HTMLPlugInImageElement.
        I'm not yet sure that updateWidget belongs on HTMLElement since
        I'm not sure that HTMLMediaElement's use of the updateWidget
        infrastructure is correct.

        I also got rid of the strange !m_replacementText.isEmpty() checks
        by making a pluginCrashedOrWasMissing() call which seems to embody
        the idea behind that check and hides the screwy details.

        I noticed a couple methods on HTMLPlugInImageElement were public
        which did not need to be.  Fixed.

        No functional change, thus no tests.

        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement::serviceType):
        (WebCore::HTMLPlugInImageElement::url):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateWidget):
        (WebCore::FrameView::updateWidgets):
        * page/FrameView.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing):
        (WebCore::RenderEmbeddedObject::paint):
        (WebCore::RenderEmbeddedObject::paintReplaced):
        * rendering/RenderEmbeddedObject.h:

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Move updateWidget implementations into the DOM
        https://bugs.webkit.org/show_bug.cgi?id=45058

        Unfortunately it's not yet possible to share an updateWidget
        implementation between <embed> and <object>.  That would amount to
        (positive) functional changes for <embed> which I'd will separate
        into a later patch.  I will also have to untangle <object>'s <param>
        walk from its url/serviceType calculations.

        However after this patch it's slap-you-across-the-face obvious that
        RenderEmbeddedObject::updateWidget was the wrong place for this code.
        RenderEmbeddedObject::updateWidget still exists, but only as a
        pseudo-virtual-method dispatcher.  Unless we add updateWidget() to
        HTMLElement, we won't be able to use real virtual dispatch.

        I may need to consider making "having a widget" a has-a relationship
        with some sort of WidgetContainer object which Media and Plugin can
        share.  Or its also possible that Media's use of the widget code here
        is just wrong.  Certainly now that updateWidget was moved into HTMLMediaElement
        it becomes obvious that HTMLMediaElement has duplicate code for updating widgets.

        No functional changes, thus no tests.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLEmbedElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateWidget):
        * html/HTMLMediaElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::useFallbackContent):
        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
        (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
        * loader/FrameLoader.cpp:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::updateWidget):

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Move more code from RenderEmbeddedObject into the DOM
        https://bugs.webkit.org/show_bug.cgi?id=45055

        No logic changes here, just taking the code which
        I ripped out of RenderEmbeddedObject::updateWidget
        into static methods before and moving it into
        the applicable DOM classes.

        HTMLObjectElement::parametersForPlugin does too much
        but in order to fix it I may need to add a PluginParameters
        class so we can ask things about the parameters. <object>
        needs to get multiple bits of information out of its parameters
        array.  Right now it does it all in one walk.  In order to share
        code with HTMLEmbedElement, we need the "generate the params array"
        code to be separate from the "make advanced <object> specific decision
        from the params array".  But that will need to be in a later patch.

        No functional changes, thus no tests.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parametersForPlugin):
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::createClassIdToTypeMap):
        (WebCore::serviceTypeForClassId):
        (WebCore::mapDataParamToSrc):
        (WebCore::HTMLObjectElement::parametersForPlugin):
        (WebCore::HTMLObjectElement::hasFallbackContent):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
        (WebCore::HTMLPlugInImageElement::detach): 
        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
        * html/HTMLPlugInImageElement.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::updateWidgetForObjectElement):
        (WebCore::updateWidgetForEmbedElement):
        (WebCore::RenderEmbeddedObject::updateWidget):

2010-09-02  François Sausset  <sausset@gmail.com>

        Reviewed by Darin Adler.

        MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names).
        https://bugs.webkit.org/show_bug.cgi?id=43629

        Test: mathml/presentation/mo.xhtml

        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
        (WebCore::RenderMathMLOperator::updateFromElement):
        * mathml/RenderMathMLOperator.h:
        (WebCore::convertHyphenMinusToMinusSign):
        * platform/text/CharacterNames.h:

2010-09-02  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Add red-black tree capable of holding plain old data (POD)
        https://bugs.webkit.org/show_bug.cgi?id=45059

        Adding an augmentable red-black tree capable of holding Plain Old
        Data (POD), or classes bottoming out into only POD, and an
        associated PODArena. Note that the PODArena will be used by other
        classes to allocate temporary structures, which is why it is not
        just an implementation detail of the red-black tree.

        These classes are being placed under WebCore/platform/graphics/gpu
        for the time being. If they are generalized to hold even data
        types which internally perform dynamic memory allocation, we may
        consider moving them to WTF in the future.

        Unit tests for the PODRedBlackTree will be integrated separately
        under bug 45060.

        * WebCore.gypi:
        * platform/graphics/gpu/PODArena.h: Added.
        (WebCore::PODArena::Allocator::~Allocator):
        (WebCore::PODArena::FastMallocAllocator::create):
        (WebCore::PODArena::FastMallocAllocator::allocate):
        (WebCore::PODArena::FastMallocAllocator::free):
        (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
        (WebCore::PODArena::create):
        (WebCore::PODArena::allocateObject):
        (WebCore::PODArena::~PODArena):
        (WebCore::PODArena::PODArena):
        (WebCore::PODArena::minAlignment):
        (WebCore::PODArena::roundUp):
        (WebCore::PODArena::Chunk::Chunk):
        (WebCore::PODArena::Chunk::~Chunk):
        (WebCore::PODArena::Chunk::allocate):
        * platform/graphics/gpu/PODRedBlackTree.h: Added.
        (WebCore::PODRedBlackTree::Visitor::~Visitor):
        (WebCore::PODRedBlackTree::PODRedBlackTree):
        (WebCore::PODRedBlackTree::~PODRedBlackTree):
        (WebCore::PODRedBlackTree::add):
        (WebCore::PODRedBlackTree::remove):
        (WebCore::PODRedBlackTree::contains):
        (WebCore::PODRedBlackTree::visitInorder):
        (WebCore::PODRedBlackTree::size):
        (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
        (WebCore::PODRedBlackTree::checkInvariants):
        (WebCore::PODRedBlackTree::dump):
        (WebCore::PODRedBlackTree::setVerboseDebugging):
        (WebCore::PODRedBlackTree::Node::Node):
        (WebCore::PODRedBlackTree::Node::~Node):
        (WebCore::PODRedBlackTree::Node::color):
        (WebCore::PODRedBlackTree::Node::setColor):
        (WebCore::PODRedBlackTree::Node::data):
        (WebCore::PODRedBlackTree::Node::copyFrom):
        (WebCore::PODRedBlackTree::Node::left):
        (WebCore::PODRedBlackTree::Node::setLeft):
        (WebCore::PODRedBlackTree::Node::right):
        (WebCore::PODRedBlackTree::Node::setRight):
        (WebCore::PODRedBlackTree::Node::parent):
        (WebCore::PODRedBlackTree::Node::setParent):
        (WebCore::PODRedBlackTree::root):
        (WebCore::PODRedBlackTree::updateNode):
        (WebCore::PODRedBlackTree::treeSearch):
        (WebCore::PODRedBlackTree::treeSearchNormal):
        (WebCore::PODRedBlackTree::treeSearchFullComparisons):
        (WebCore::PODRedBlackTree::treeInsert):
        (WebCore::PODRedBlackTree::treeSuccessor):
        (WebCore::PODRedBlackTree::treeMinimum):
        (WebCore::PODRedBlackTree::propagateUpdates):
        (WebCore::PODRedBlackTree::leftRotate):
        (WebCore::PODRedBlackTree::rightRotate):
        (WebCore::PODRedBlackTree::insertNode):
        (WebCore::PODRedBlackTree::deleteFixup):
        (WebCore::PODRedBlackTree::deleteNode):
        (WebCore::PODRedBlackTree::visitInorderImpl):
        (WebCore::PODRedBlackTree::Counter::Counter):
        (WebCore::PODRedBlackTree::Counter::visit):
        (WebCore::PODRedBlackTree::Counter::count):
        (WebCore::PODRedBlackTree::checkInvariantsFromNode):
        (WebCore::PODRedBlackTree::logIfVerbose):
        (WebCore::PODRedBlackTree::dumpFromNode):

2010-09-02  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Martin Robinson.

        [Cairo] Remove glib dependency (caused by use of GOwnPtr)
        https://bugs.webkit.org/show_bug.cgi?id=45053

        Use OwnPtr instead of GOwnPtr to keep track of Fc* references
        in FontCacheCairo.cpp.

        No features added, so no new tests.

        * CMakeListsEfl.txt: Updating build system to look for GOwnPtrCairo.*
        * GNUmakefile.am: Ditto.
        * platform/graphics/cairo/FontCacheCairo.cpp: Using OwnPtr instead of GOwnPtr.
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/cairo/GOwnPtrCairo.cpp: Removed.
        * platform/graphics/cairo/GOwnPtrCairo.h: Removed.
        * platform/graphics/cairo/OwnPtrCairo.cpp: Added.
        (WTF::FcPattern):
        (WTF::FcObjectSet):
        (WTF::FcFontSet):
        * platform/graphics/cairo/OwnPtrCairo.h: Added.

2010-09-02  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed, updating binding-tests expectations (for changeset 66521).

        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::stringAttrAttrSetter):
        (WebCore::TestObjInternal::reflectedStringAttrAttrSetter):
        (WebCore::TestObjInternal::reflectedURLAttrAttrSetter):
        (WebCore::TestObjInternal::reflectedNonEmptyURLAttrAttrSetter):
        (WebCore::TestObjInternal::reflectedCustomURLAttrAttrSetter):
        (WebCore::TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter):
        (WebCore::TestObjInternal::stringAttrWithGetterExceptionAttrSetter):
        (WebCore::TestObjInternal::stringAttrWithSetterExceptionAttrSetter):

2010-09-02  Adam Langley  <agl@chromium.org>

        Reviewed by Adam Barth.

        [chromium] fix memory corruption in Khmer rendering.

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

        Test: fast/text/khmer-crash.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::shapeGlyphs):
          The Khmer shaper has a bug where it would request larger output
          buffers, but request a zero increase in size. Because of this we add
          one to the requested size.
        (WebCore::TextRunWalker::setGlyphXPositions):
          The Khmer shaper is outputing cluster logs which suggest that some
          output glyphs appear from nowhere (i.e. have no input codepoints). I
          don't know Khmer, so maybe that's correct, but it broke the
          assumptions of this code, causing a read out-of-bounds.
        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::stringToGlyphs):
          The Harfbuzz interfaces aren't documented, but it appears that the
          output array to stringToGlyphs isn't sized and that Harfbuzz expects
          us to detect when the input is too long.

2010-09-02  Adam Roben  <aroben@apple.com>

        Fill the scroll corner with white when shouldPaintCustomScrollbars is
        false

        Previously we were only filling with white when
        shouldPaintCustomScrollbars was true but the ChromeClient didn't paint
        any custom scrollbars.

        Reviewed by Sam Weinig.

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

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

        Unreviewed, rolling out r66671.
        http://trac.webkit.org/changeset/66671
        https://bugs.webkit.org/show_bug.cgi?id=45115

        http/tests/misc/redirect-to-about-blank.html is failing on
        several platforms (Requested by japhet on #webkit).

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateURLForPushOrReplaceState):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURL):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::setURL):
        (WebCore::FrameLoader::startIconLoader):
        (WebCore::FrameLoader::commitIconURLToIconDatabase):
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        (WebCore::FrameLoader::updateFirstPartyForCookies):
        (WebCore::FrameLoader::loadInSameDocument):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::shouldScrollToAnchor):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::url):

2010-09-01  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Roll ANGLE under webkit to r402
        https://bugs.webkit.org/show_bug.cgi?id=45004

        * platform/graphics/mac/GraphicsContext3DMac.mm: Update the code to use newer ANGLE interface.
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2010-09-02  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: Timeline instrumentation code can crash browser.

        Steps:
        1) load the site
        2) open inspector
        3) start timeline recording
        4) reload inspected page
        got NPE

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

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):

2010-09-02  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Remove m_URL from FrameLoader and instead depend on Document's url.
        FrameLoader::url() will be removed in a later patch.

        http://bugs.webkit.org/show_bug.cgi?id=41165

        No new tests, since this predominantly a refactor. Updating
        fast/dom/early-frame-url.html.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateURLForPushOrReplaceState):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURL):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::url):
        (WebCore::FrameLoader::setOutgoingReferrer):
        (WebCore::FrameLoader::startIconLoader):
        (WebCore::FrameLoader::commitIconURLToIconDatabase):
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        (WebCore::FrameLoader::updateFirstPartyForCookies):
        (WebCore::FrameLoader::loadInSameDocument):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::shouldScrollToAnchor):
        * loader/FrameLoader.h:

2010-09-01  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Support <script defer> as specified by HTML5
        https://bugs.webkit.org/show_bug.cgi?id=40934

        Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
               fast/dom/HTMLScriptElement/defer-double-write.html
               fast/dom/HTMLScriptElement/defer-inline-script.html
               fast/dom/HTMLScriptElement/defer-onbeforeload.html
               fast/dom/HTMLScriptElement/defer-script-invalid-url.html
               fast/dom/HTMLScriptElement/defer-write.html
               fast/dom/HTMLScriptElement/two-defer-writes.html
               http/tests/misc/script-defer-after-slow-stylesheet.html
               http/tests/misc/script-defer.html

        * dom/Document.cpp:
        (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::DocumentParser):
        (WebCore::DocumentParser::startParsing):
        (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
        (WebCore::DocumentParser::stopParsing):
        (WebCore::DocumentParser::detach):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::isParsing):
        (WebCore::DocumentParser::isActive):
        (WebCore::DocumentParser::isStopping):
        (WebCore::DocumentParser::isDetached):
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::finish):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::append):
        (WebCore::XMLDocumentParser::exitText):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::error):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::prepareToStopParsing):
        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::notifyFinished):
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
        (WebCore::HTMLScriptRunner::requestDeferredScript):
        (WebCore::HTMLScriptRunner::runScript):
        * html/parser/HTMLScriptRunner.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::finish):

2010-09-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: HAR converter fails on POST requests with non-form content type
        https://bugs.webkit.org/show_bug.cgi?id=45109

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildPostData):

2010-09-02  Andreas Kling  <andreas.kling@nokia.com>

        Rubber-stamped by Simon Hausmann.

        [Qt] REGRESSION(r62898): tst_QWebFrame crashing
        https://bugs.webkit.org/show_bug.cgi?id=43039

        Rolling out the offending change <http://trac.webkit.org/changeset/62898>

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::markAggregate):

2010-09-02  Anton Muhin  <antonm@chromium.org>

        Reviewed by Tony Chang.

        Fix indentation.
        https://bugs.webkit.org/show_bug.cgi?id=44678

        * bindings/scripts/CodeGeneratorV8.pm:

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

        Unreviewed, rolling out r66655.
        http://trac.webkit.org/changeset/66655
        https://bugs.webkit.org/show_bug.cgi?id=45104

        broke some editing tests (Requested by kling on #webkit).

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapse):
        (WebCore::DOMSelection::selectAllChildren):

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

        Unreviewed, rolling out r66649.
        http://trac.webkit.org/changeset/66649
        https://bugs.webkit.org/show_bug.cgi?id=45103

        It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).

        * dom/Document.cpp:
        (WebCore::Document::open):
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::DocumentParser):
        (WebCore::DocumentParser::detach):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::isDetached):
        (WebCore::DocumentParser::stopParsing):
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::finish):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::append):
        (WebCore::XMLDocumentParser::exitText):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::error):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::parse):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::notifyFinished):
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
        (WebCore::HTMLScriptRunner::runScript):
        * html/parser/HTMLScriptRunner.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::finish):

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Share more code between HTMLObjectElement and HTMLEmbedElement
        https://bugs.webkit.org/show_bug.cgi?id=45054

        This pushes more of HTMLObjectElement code down into
        HTMLPlugInImageElement so that it can be shared with
        HTMLEmbedElement.

        The most notable changes are:
        - HTMLEmbedElement now "delays" updating the widget until
          all of its children are parsed (this matches HTMLObjectElement).
          However, since HTMLEmbedElement can't have children, this is actually
          no delay.
        - useFallbackContent is now virtual, allowing HTMLEmbedElement and
          HTMLObjectElement to share the same code paths, and the <embed>
          case to just always return false for useFallbackContent().

        This is the final (fourth) part of this change.

        No functional change, thus no tests.

        * html/HTMLEmbedElement.cpp:
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::rendererIsNeeded):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::recalcStyle):
        (WebCore::HTMLPlugInImageElement::attach):
        (WebCore::HTMLPlugInImageElement::detach):
        (WebCore::HTMLPlugInImageElement::finishParsingChildren):
        * html/HTMLPlugInImageElement.h:

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

        Reviewed by Eric Seidel.

        Move takeAllChildrenFrom to ContainerNode
        https://bugs.webkit.org/show_bug.cgi?id=45066

        We're going to reuse this method for XMLDocumentLoader, so it's better
        to put it in a more general location.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::takeAllChildrenFrom):
        * dom/ContainerNode.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):

2010-09-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        DOM Selection: collapse() and selectAllChildren() should throw WRONG_DOCUMENT_ERR if node belongs to other document
        https://bugs.webkit.org/show_bug.cgi?id=44595

        Spec links:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapse
        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-selectallchildren

        Test: fast/dom/Selection/wrong-document-err.html

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapse):
        (WebCore::DOMSelection::selectAllChildren):

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Share more code between HTMLObjectElement and HTMLEmbedElement
        https://bugs.webkit.org/show_bug.cgi?id=45054

        This pushes more of HTMLObjectElement code down into
        HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.

        This patch was originally written in one piece and reviewed by Dimitri.
        I'm landing it as four separate changes for easier readability and less
        chance of regression.

        No functional change, thus no tests.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
        (WebCore::HTMLEmbedElement::create):
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::detach):
        (WebCore::HTMLPlugInImageElement::finishParsingChildren):
        * html/HTMLPlugInImageElement.h:
        * html/HTMLTagNames.in:

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Share more code between HTMLObjectElement and HTMLEmbedElement
        https://bugs.webkit.org/show_bug.cgi?id=45054

        This pushes more of HTMLObjectElement code down into
        HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.

        I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
        since HTMLAppletElement does not need to share this same widget update logic.
        This is a small correction from the previous change.

        This patch was originally written in one piece and reviewed by Dimitri.
        I'm landing it as three separate changes for easier readability and less
        chance of regression.

        No functional change, thus no tests.

        * html/HTMLEmbedElement.cpp:
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::attach):
        (WebCore::HTMLObjectElement::finishParsingChildren):
        (WebCore::HTMLObjectElement::detach):
        (WebCore::HTMLObjectElement::recalcStyle):
        (WebCore::HTMLObjectElement::childrenChanged):
        (WebCore::HTMLObjectElement::renderFallbackContent):
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::useFallbackContent):
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::createRenderer):
        (WebCore::HTMLPlugInImageElement::updateWidget):
        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement::canLazyAttach):
        (WebCore::HTMLPlugInImageElement::useFallbackContent):

2010-09-02  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        WebKit should not accept PDFs as video.
        https://bugs.webkit.org/show_bug.cgi?id=45013

        The code in MediaPlayerPrivate::createQTMovie has been re-arranged.
        First, the component disabling is done only once. In 64-bit QTKit will
        store the list of disabled components and disable them once QTKitServer
        starts, so there is no need to disable them repeatedly.  However,
        because of a bug in 64-bit QTKit, additional requests of the exact same
        component description will be ignored if QTKitServer is not yet running.
        To work around this, we must provide the exact component flags for each
        eat/PDF and grip/PDF component we wish to disable.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::disableComponentsOnce): Added.
        (WebCore::MediaPlayerPrivate::createQTMovie): Moved the component
            disabling code into disableComponentsOnce.

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

        Unreviewed, GTK build fix.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen):

2010-09-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Share more code between HTMLObjectElement and HTMLEmbedElement
        https://bugs.webkit.org/show_bug.cgi?id=45054

        This pushes more of HTMLObjectElement code down into
        HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.

        I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
        since HTMLAppletElement does not need to share this same widget update logic.
        This is a small correction from the previous change.

        This patch was originally written in one piece and reviewed by Dimitri.
        I'm landing it as two separate changes for easier readability and less
        chance of regression.

        No functional change, thus no tests.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
        (WebCore::HTMLEmbedElement::mapToEntry):
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::rendererIsNeeded):
        (WebCore::HTMLEmbedElement::attach):
        (WebCore::HTMLEmbedElement::updateWidget):
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        (WebCore::HTMLEmbedElement::removedFromDocument):
        (WebCore::HTMLEmbedElement::attributeChanged):
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::rendererIsNeeded):
        (WebCore::HTMLObjectElement::attach):
        (WebCore::HTMLObjectElement::updateWidget):
        (WebCore::HTMLObjectElement::finishParsingChildren):
        (WebCore::HTMLObjectElement::detach):
        (WebCore::HTMLObjectElement::insertedIntoDocument):
        (WebCore::HTMLObjectElement::removedFromDocument):
        (WebCore::HTMLObjectElement::recalcStyle):
        (WebCore::HTMLObjectElement::childrenChanged):
        (WebCore::HTMLObjectElement::renderFallbackContent):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
        (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestObject):
        (WebCore::SubframeLoader::loadPlugin):
        * loader/SubframeLoader.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::updateWidgetForObjectElement):
        (WebCore::updateWidgetForEmbedElement):

2010-09-02  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Support <script defer> as specified by HTML5
        https://bugs.webkit.org/show_bug.cgi?id=40934

        Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
               fast/dom/HTMLScriptElement/defer-double-write.html
               fast/dom/HTMLScriptElement/defer-inline-script.html
               fast/dom/HTMLScriptElement/defer-onbeforeload.html
               fast/dom/HTMLScriptElement/defer-script-invalid-url.html
               fast/dom/HTMLScriptElement/defer-write.html
               fast/dom/HTMLScriptElement/two-defer-writes.html
               http/tests/misc/script-defer-after-slow-stylesheet.html
               http/tests/misc/script-defer.html

        * dom/Document.cpp:
        (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::DocumentParser):
        (WebCore::DocumentParser::startParsing):
        (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
        (WebCore::DocumentParser::stopParsing):
        (WebCore::DocumentParser::detach):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::isParsing):
        (WebCore::DocumentParser::isActive):
        (WebCore::DocumentParser::isStopping):
        (WebCore::DocumentParser::isDetached):
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::finish):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::append):
        (WebCore::XMLDocumentParser::exitText):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::error):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::prepareToStopParsing):
        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::notifyFinished):
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
        (WebCore::HTMLScriptRunner::requestDeferredScript):
        (WebCore::HTMLScriptRunner::runScript):
        * html/parser/HTMLScriptRunner.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::finish):

2010-09-02  Ilya Sherman  <isherman@google.com>

        Reviewed by Eric Seidel.

        Decompose computing an element's inherited language, expose this
        capability to clients (in particular, for Chromium).
        https://bugs.webkit.org/show_bug.cgi?id=44803

        No new tests -- just refactoring + exposing code.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/Element.cpp:
        (WebCore::Element::computeInheritedLang):
        * dom/Element.h:

2010-08-31  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GStreamer] can't play m4v videos
        https://bugs.webkit.org/show_bug.cgi?id=44951

        Fixed registration of the m4v media type in the hashtable used by
        the player to report if it supports a given media type.

        Test: media/media-can-play-mpeg4-video.html

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache):

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

        Reviewed by Martin Robinson.

        [GTK] warning: unused variable "queryResult"
        https://bugs.webkit.org/show_bug.cgi?id=44998

        Fix the misbehavior introduced in r66573. The gst_element_query()
        call needs to be done whatever the GStreamer version used.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen):

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

        Reviewed by Dan Bernstein.

        Add support for autocorrection UI on Mac OS X.
        https://bugs.webkit.org/show_bug.cgi?id=44958
        <rdar://problem/7326847>

        Several new member methods are added to EditorClient for communication
        between WebCore and WebKit. A new handler, executeCancelOperation(), is
        added to EditorCommand.cpp so that WebCore can intercept the ESC key event
        to dismiss autocorrection UI. A new DocumentMarker value, RejectedCorrection,
        is added to keep track of the corrections that user has rejected, so that it
        will not be suggested again later. The autocorrection is driven by a timer.
        Every time the editor inserts a new letter, the timer is reset. If the timer
        fires, it means neither has user entered any new letter for current word, nor
        has he entered whitespace or punctuation to complete the word. In this case,
        we query for autocorrection.

        * WebCore.exp.in: Updated

        * dom/DocumentMarker.h: Added RejectedCorrection to indicate word on which user
          has rejected autocorrection.

        * editing/Editor.cpp:
        (WebCore::Editor::Editor): Initialize autocorrection timer.
        (WebCore::Editor::~Editor): Make sure autocorrection UI is dismissed before
          destroying Editor object.
        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new signature
          of markAllMisspellingsAndBadGrammarInRanges().
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Consolidated all
          boolean arguments into one bitfield. This improves readability and allows us to
          pass in a bit to indicate whether we want to show autocorrection UI. Also added
          code to show autocorrection UI if it is necessary.
        (WebCore::Editor::markMisspellingsAndBadGrammar): Adopted new signature of
          markAllMisspellingsAndBadGrammarInRanges().
        (WebCore::Editor::correctionPanelTimerFired): Check to see if we should show
          autocorrection UI when user pauses during typing.
        (WebCore::Editor::handleRejectedCorrection): Update user dictionary when an autocorrection is rejected.
        (WebCore::Editor::startCorrectionPanelTimer): Start autocorrection timer.
        (WebCore::Editor::handleCancelOperation): Dismiss autocorrection UI when ESC key is pressed.

        * editing/Editor.h: Added autocorrection related member methods and variables.

        * editing/EditorCommand.cpp:
        (WebCore::executeCancelOperation): Handle ESC key event. Dismiss autocorrection UI.
        (WebCore::createCommandMap): Updated for executeCancelOperation().

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping): Reset autocorrection timer after insertion.

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

        * page/EditorClient.h: Added methods for communication between WebCore and WebKit regarding autocorrection.

        * page/Frame.cpp:
        (WebCore::Frame::respondToChangedSelection): Remove Replacement marker where we used to only remove Spelling
          mark, because whenever we need to remove spelling underline we also should remove autocorrection underline.

        * platform/graphics/GraphicsContext.h: Added enum TextCheckingLineStyle to specify the underline
          for different type of text checking result. Replaced drawLineForMisspellingOrBadGrammar() with
          drawLineForTextChecking(), which allows autocorrection to have different indication from misspelling
          and grammatical error.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking): Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().

        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto

        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto

        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto

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

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

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto

        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto

        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto

        * rendering/InlineTextBox.cpp:
        (WebCore::textCheckingLineStyleForMarkerType): Return line style for a given document marker type.
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):  Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
        (WebCore::InlineTextBox::paintDocumentMarkers): Handle new marker value, RejectedCorrection.

2010-09-01  Kinuko Yasuda  <kinuko@google.com>

        Reviewed by Adam Barth.

        [V8] Support readonly Date attribute
        https://bugs.webkit.org/show_bug.cgi?id=43943

        Adds Date to non_wrapper_types in CodeGeneratorV8.pm.

        New tests will be added for Metadata when we add FileSystem implementation.

        * bindings/scripts/CodeGeneratorV8.pm:
        * fileapi/Metadata.h:
        * fileapi/Metadata.idl:

2010-09-01  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Chris Marrin.

        animations/suspend-resume-animation.html does not pass when accelerated compositing is off
        https://bugs.webkit.org/show_bug.cgi?id=45057

        Fix incorrect logic when resuming the animation (KeyframeAnimation::startAnimation
        and RenderLayerBacking::startAnimation return true when running an accelerated
        animation).

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::updateStateMachine):

2010-09-01  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Question mark QuickTime icon when navigating to this MP3 file
        https://bugs.webkit.org/show_bug.cgi?id=44846

        Do not disable 'tmet' movie tracks, they carry meta data.

        No DRT test because I am not sure it is possible to have one of these tracks in 
        non-streaming movie. I will add a test later if I figure out how to create a movie.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):

2010-09-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        Remove rendering types from SubframeLoader and split RenderEmbeddedObject::updateWidget in preparation for moving to DOM
        https://bugs.webkit.org/show_bug.cgi?id=45007

        This is just moving around code (and attempting to make it more sane).
        I also tried to use more specific types where possible.
        The SubframeLoader no longer uses any rendering types in its API.

        I split RenderEmbeddedObject::updateWidget into a bunch of functions.
        It was obvious before, but now super-obvious after the split that these
        new functions do not belong in RenderEmbeddedObject.  Instead they
        need to be moved to their respective DOM classes.  I've added FIXMEs
        next to each of the functions which should be moved, but I've not moved
        any of the logic out of RenderEmbeddedObject.cpp yet in an effort to
        keep this patch as simple as possible.

        No functional change, thus no tests.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::attach):
        (WebCore::HTMLFrameElementBase::width):
        (WebCore::HTMLFrameElementBase::height):
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::renderPart):
        * html/HTMLFrameOwnerElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
        (WebCore::HTMLObjectElement::createRenderer):
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::renderEmbeddedObject):
        * html/HTMLPlugInElement.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestObject):
        (WebCore::SubframeLoader::document):
        (WebCore::SubframeLoader::loadPlugin):
        * loader/SubframeLoader.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::isNetscapePlugin):
        (WebCore::hasFallbackContent):
        (WebCore::parametersFromObject):
        (WebCore::updateWidgetForObjectElement):
        (WebCore::parametersFromEmbed):
        (WebCore::updateWidgetForEmbedElement):
        (WebCore::updateWidgetForMediaElement):
        (WebCore::RenderEmbeddedObject::updateWidget):
        * rendering/RenderEmbeddedObject.h:
        (WebCore::RenderEmbeddedObject::setHasFallbackContent):
        * rendering/RenderLayerCompositor.h:

2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Add more FileError and FileException code for FileWriter and FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=45048

        Adding SYNTAX_ERR for FileWriter.
        http://dev.w3.org/2009/dap/file-system/file-writer.html

        Adding INVALID_STATE_ERR, INVALID_MODIFICATION_ERR and QUOTA_EXCEEDED_ERR for FileSystem.
        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html

        Adding NO_MODIFICATION_ALLOWED_ERR (to FileException) for both.

        * fileapi/FileError.idl:
        * fileapi/FileException.idl:

2010-09-01  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Brady Eidson.

        popstate event is not fired until document opts in by calling pushstate.
        https://bugs.webkit.org/show_bug.cgi?id=41372

        Fire popstate even when we don't have a state object when a page is 
        loaded (for both regular loads and those from the page cache). Also
        fire popstate when doing in-document navigation via fragment changes.
        This is consistent with both Gecko and recent the HTML5 spec change:
        http://html5.org/tools/web-apps-tracker?from=5376&to=5377

        Tests: fast/loader/stateobjects/popstate-fires-on-history-traversal.html
               fast/loader/stateobjects/popstate-fires-with-page-cache.html

        * bindings/js/SerializedScriptValue.cpp:
        * bindings/js/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::create):
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/SerializedScriptValue.h:
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * dom/Document.h:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadInSameDocument):
        (WebCore::FrameLoader::transitionToCommitted):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::pushState):
        (WebCore::HistoryController::replaceState):

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

        Reviewed by Dimitri Glazkov.

        REGRESSION(r66431): WebCore::Editor::selectionStartCSSPropertyValue crashes if no background color is specified
        https://bugs.webkit.org/show_bug.cgi?id=45068

        The crash was caused by the assumption that every node has an ancestor with some background color,
        which was obviously false. Fixed this by adding a null for ancestor.

        Test: editing/execCommand/backcolor-crash.html

        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartCSSPropertyValue):

2010-08-31  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        WebKit should not accept PDFs as video.
        https://bugs.webkit.org/show_bug.cgi?id=45013
        
        QuickTime will accept a PDF as the source for a movie, and happily
        convert that PDF into a .mov.  WebKit should disable the eat and grip
        PDF components which allow this.

        Test: http/tests/media/pdf-served-as-pdf.html

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie): Add PDF eat and grip
        components to the components which are disabled before opening a 
        QTMovie.

2010-09-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin Adler.

        Support for Percentage Values in border-radius
        https://bugs.webkit.org/show_bug.cgi?id=38354

        Support percentage values on the border-radius family
        of CSS properties.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getBorderRadiusCornerValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseBorderRadius):
        * css/CSSPrimitiveValue.cpp:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::ensurePropertyMap):
        * platform/Length.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/style/BorderData.h:
        (WebCore::BorderData::BorderData):
        (WebCore::BorderData::hasBorderRadius):
        (WebCore::BorderData::topLeft):
        (WebCore::BorderData::topRight):
        (WebCore::BorderData::bottomLeft):
        (WebCore::BorderData::bottomRight):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getBorderRadiiForRect):
        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::borderTopLeftRadius):
        (WebCore::InheritedFlags::borderTopRightRadius):
        (WebCore::InheritedFlags::borderBottomLeftRadius):
        (WebCore::InheritedFlags::borderBottomRightRadius):
        (WebCore::InheritedFlags::setBorderTopLeftRadius):
        (WebCore::InheritedFlags::setBorderTopRightRadius):
        (WebCore::InheritedFlags::setBorderBottomLeftRadius):
        (WebCore::InheritedFlags::setBorderBottomRightRadius):
        (WebCore::InheritedFlags::setBorderRadius):
        (WebCore::InheritedFlags::initialBorderRadius):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: webInspector.inspectedWindow.evaluate() should not fail if not passed callback.
        https://bugs.webkit.org/show_bug.cgi?id=45037

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):

2010-09-01  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein and Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=44963, overhanging floats aren't positioned properly when they occur
        in multi-column layout.  Don't let floats overhang in multi-column blocks, since they are part of the column layout.
        
        fast/multicol/float-pagination-failure now succeeds, so will rename and move it.

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

2010-08-31  Kenneth Russell  <kbr@google.com>

        Reviewed by Simon Fraser.

        Add helpers to FloatRect to compute bounding box from points
        https://bugs.webkit.org/show_bug.cgi?id=45015

        Added fitToPoints, including a few overloaded variants for the
        cases of two, three and four points. I opted not to add a
        generalized version taking const FloatRect* or Vector<FloatRect>
        at the present time because for my own purposes they are
        unnecessary, and the specific versions can be more tightly coded.
        Also added left() and top() for symmetry with right() and bottom().
        These changes have been tested with new code to be added later.

        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::intersect):
        (WebCore::FloatRect::unite):
        (WebCore::FloatRect::fitToPoints):
        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::left):
        (WebCore::FloatRect::top):
        (WebCore::FloatRect::setLocationAndSizeFromEdges):

2010-09-01  Anton Muhin  <antonm@chromium.org>

        Reviewed by Dimitri Glazkov.

        [v8] Use Vector and DEFINE_STATIC_LOCAL instead of plain static array.
        https://bugs.webkit.org/show_bug.cgi?id=45040

        By code guidelines all the statics should be wrapped into appropriate macro.

        * bindings/v8/V8Binding.cpp:
        (WebCore::int32ToWebCoreString):

2010-09-01  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] very slow page scrolling on big -webkit-box-shadow areas
        https://bugs.webkit.org/show_bug.cgi?id=39582

        Add a new drawTiledShadow method to render a big shadow doing
        tiling of parts of a smaller shadow. We create the minimum shadow
        required to get the tiles we will use to render the real shadow
        and we use drawPattern with those tiles to create the shadow.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::applyPlatformShadow):
        (WebCore::GraphicsContext::createShadowMask):
        (WebCore::getPhase):
        (WebCore::GraphicsContext::drawTiledShadow):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
        Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
        Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
        https://bugs.webkit.org/show_bug.cgi?id=44957

        Test: inspector/extensions-eval.html

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):

2010-08-27  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
        https://bugs.webkit.org/show_bug.cgi?id=44757

        Pass the cairo surface to the BitmapImage constructor which will
        handle its life-cycle.

        * platform/graphics/gstreamer/ImageGStreamer.h:
        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
        (ImageGStreamer::ImageGStreamer):
        (ImageGStreamer::~ImageGStreamer):

2010-08-30  Patrick Gansterer  <paroga@paroga.com>

         Reviewed by Dirk Schulze.

         RenderImage::imageChanged invalidates wrong area
         https://bugs.webkit.org/show_bug.cgi?id=43779

         Remove RenderImage inheritance from RenderSVGImage, it now inherits from RenderSVGModelObject.

         * rendering/RenderSVGImage.cpp:
         (WebCore::RenderSVGImage::RenderSVGImage):
         (WebCore::RenderSVGImage::~RenderSVGImage):
         (WebCore::RenderSVGImage::layout):
         (WebCore::RenderSVGImage::paint):
         (WebCore::RenderSVGImage::imageChanged):
         * rendering/RenderSVGImage.h:
         (WebCore::RenderSVGImage::imageResource):
         * rendering/RenderSVGModelObject.h:
         * svg/SVGImageElement.cpp:

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

        Reviewed by Dirk Schulze.

        Add culling to RenderSVGContainer
        https://bugs.webkit.org/show_bug.cgi?id=44896

        Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
        Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.

        This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
        of any container or <svg> element, just to retrieve the repaint rect.

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout): Propagate boundary changes to parent, if neeeded.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setNeedsBoundariesUpdate): Ditto.
        * rendering/RenderObject.h:
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode): Ditto.
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): Ditto.
        (WebCore::RenderPath::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
        * rendering/RenderPath.h: Remove styleWillChange(), it's in RenderSVGModelObject now.
        (WebCore::RenderPath::setNeedsBoundariesUpdate): Mark as virtual, just like in RenderObject.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer): Initialize m_needsBoundariesUpdate to true.
        (WebCore::RenderSVGContainer::layout): Only update cached boundaries, if needed, once by traversing the child tree.
        (WebCore::RenderSVGContainer::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
        (WebCore::RenderSVGContainer::updateCachedBoundaries): Ask children for their boundaries, and cache them.
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate): Set m_needsBoundariesUpdate when called.
        (WebCore::RenderSVGContainer::objectBoundingBox): Inlined, just returns a member variable now.
        (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Ditto.
        (WebCore::RenderSVGContainer::calculateLocalTransform): Changed to return a boolean, wheter the transform was modified.
        * rendering/RenderSVGGradientStop.h:
        (WebCore::RenderSVGGradientStop::strokeBoundingBox): Add missing default implementation, return just FloatRect().
        * rendering/RenderSVGHiddenContainer.cpp: Remove repaintRectInLocalCoordinates() override, it's now needed for painting markers.
        * rendering/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): Inlined, returning IntRect().
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout): Propagate boundary changes to parent, if neeeded.
        * rendering/RenderSVGRoot.cpp: Cache boundaries here as well, just like in RenderSVGContainer.
        (WebCore::RenderSVGRoot::RenderSVGRoot):
        (WebCore::RenderSVGRoot::layout):
        (WebCore::RenderSVGRoot::updateCachedBoundaries):
        * rendering/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
        (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
        (WebCore::RenderSVGRoot::objectBoundingBox):
        (WebCore::RenderSVGRoot::strokeBoundingBox):
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): Propagate boundary changes to parent, if neeeded.
        * rendering/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Return true, if the localTransform changed.
        * rendering/RenderSVGTransformableContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport): Propagate boundary changes to parent, if neeeded.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes): Helper function calculating object/strokeBoundingBox and repaintRectInLocalCoordinates in one shot.
        (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect): Moved from RenderPath to share the culling functionality.
        * rendering/SVGRenderSupport.h:

2010-09-01  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] QWebPage::allowGeolocationRequest should be async API
        https://bugs.webkit.org/show_bug.cgi?id=41364

        Adding GeolocationPermissionClientQt.cpp/h to build script

        * WebCore.pro:

2010-09-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        DOM Selection: collapseToStart() and collapseToEnd() should throw INVALID_STATE_ERR if there's no selection
        https://bugs.webkit.org/show_bug.cgi?id=44598

        Spec links:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetostart
        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetoend

        Test: fast/dom/Selection/collapseToX-empty-selection.html

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapseToEnd):
        (WebCore::DOMSelection::collapseToStart):
        * page/DOMSelection.h:
        * page/DOMSelection.idl:

2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed; another build fix.

        * WebCore.pri:

2010-09-01  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed; qt build fix.

        * CMakeLists.txt:

2010-08-31  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Adam Barth.

        Move FileSystem related files from WebCore/html to WebCore/fileapi.
        https://bugs.webkit.org/show_bug.cgi?id=44925

        No new tests; there should be no functional changes.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/DOMFilePath.cpp: Renamed from WebCore/storage/DOMFilePath.cpp.
        * fileapi/DOMFilePath.h: Renamed from WebCore/storage/DOMFilePath.h.
        * fileapi/DOMFileSystem.cpp: Renamed from WebCore/storage/DOMFileSystem.cpp.
        * fileapi/DOMFileSystem.h: Renamed from WebCore/storage/DOMFileSystem.h.
        * fileapi/DOMFileSystem.idl: Renamed from WebCore/storage/DOMFileSystem.idl.
        * fileapi/DirectoryEntry.cpp: Renamed from WebCore/storage/DirectoryEntry.cpp.
        * fileapi/DirectoryEntry.h: Renamed from WebCore/storage/DirectoryEntry.h.
        * fileapi/DirectoryEntry.idl: Renamed from WebCore/storage/DirectoryEntry.idl.
        * fileapi/DirectoryReader.cpp: Renamed from WebCore/storage/DirectoryReader.cpp.
        * fileapi/DirectoryReader.h: Renamed from WebCore/storage/DirectoryReader.h.
        * fileapi/DirectoryReader.idl: Renamed from WebCore/storage/DirectoryReader.idl.
        * fileapi/EntriesCallback.h: Renamed from WebCore/storage/EntriesCallback.h.
        * fileapi/EntriesCallback.idl: Renamed from WebCore/storage/EntriesCallback.idl.
        * fileapi/Entry.cpp: Renamed from WebCore/storage/Entry.cpp.
        * fileapi/Entry.h: Renamed from WebCore/storage/Entry.h.
        * fileapi/Entry.idl: Renamed from WebCore/storage/Entry.idl.
        * fileapi/EntryArray.cpp: Renamed from WebCore/storage/EntryArray.cpp.
        * fileapi/EntryArray.h: Renamed from WebCore/storage/EntryArray.h.
        * fileapi/EntryArray.idl: Renamed from WebCore/storage/EntryArray.idl.
        * fileapi/EntryCallback.h: Renamed from WebCore/storage/EntryCallback.h.
        * fileapi/EntryCallback.idl: Renamed from WebCore/storage/EntryCallback.idl.
        * fileapi/ErrorCallback.h: Renamed from WebCore/storage/ErrorCallback.h.
        * fileapi/ErrorCallback.idl: Renamed from WebCore/storage/ErrorCallback.idl.
        * fileapi/FileEntry.cpp: Renamed from WebCore/storage/FileEntry.cpp.
        * fileapi/FileEntry.h: Renamed from WebCore/storage/FileEntry.h.
        * fileapi/FileEntry.idl: Renamed from WebCore/storage/FileEntry.idl.
        * fileapi/FileSystemCallback.h: Renamed from WebCore/storage/FileSystemCallback.h.
        * fileapi/FileSystemCallback.idl: Renamed from WebCore/storage/FileSystemCallback.idl.
        * fileapi/FileSystemCallbacks.cpp: Renamed from WebCore/storage/FileSystemCallbacks.cpp.
        * fileapi/FileSystemCallbacks.h: Renamed from WebCore/storage/FileSystemCallbacks.h.
        * fileapi/Flags.h: Renamed from WebCore/storage/Flags.h.
        * fileapi/Flags.idl: Renamed from WebCore/storage/Flags.idl.
        * fileapi/LocalFileSystem.cpp: Renamed from WebCore/storage/LocalFileSystem.cpp.
        * fileapi/LocalFileSystem.h: Renamed from WebCore/storage/LocalFileSystem.h.
        * fileapi/Metadata.h: Renamed from WebCore/storage/Metadata.h.
        * fileapi/Metadata.idl: Renamed from WebCore/storage/Metadata.idl.
        * fileapi/MetadataCallback.h: Renamed from WebCore/storage/MetadataCallback.h.
        * fileapi/MetadataCallback.idl: Renamed from WebCore/storage/MetadataCallback.idl.

2010-08-31  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Prepare RenderSVGContainer culling patch
        https://bugs.webkit.org/show_bug.cgi?id=44955

        Add styleWillChange methods for all SVG renderers, that call setNeedsBoundariesUpdate().
        It's currently a no-op, but will be used once the containers cache their boundaries, which
        happens in a follow-up patch.

        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::styleWillChange): Call setNeedsBoundariesUpdate().
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::styleWillChange): Ditto.
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::styleWillChange): Ditto.
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::styleWillChange): Ditto.
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::styleWillChange): Ditto.
        * rendering/RenderSVGRoot.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBox): Skip hidden containers, not necessary to traverse them.
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff): svg-shadow changes need to cause relayouts, not only repaints, once container bounds are cached.

2010-08-31  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dan Bernstein.
        
        https://bugs.webkit.org/show_bug.cgi?id=44915
        Need to handle CSSValueAuto in CSSPrimitiveValue::operator ETextAlign()
        
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map TAAUTO to -webkit-auto.  "auto" is
        not a valid text-align value.  We use TAAUTO internally for the nameless value that acts
        as left if direction:ltr and right for direction:rtl.

2010-08-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Martin Robinson.

        [EFL] Add PlatformVideoWindowEfl.cpp for WebKit EFL
        https://bugs.webkit.org/show_bug.cgi?id=44508

        Add PlatformVideoWindowEfl.cpp in order to use gstreamer by 
        WebKit EFL.

        * platform/graphics/gstreamer/PlatformVideoWindow.h:
        (WebCore::PlatformVideoWindow::window):
        (WebCore::PlatformVideoWindow::videoWindowId):
        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Added.
        (PlatformVideoWindow::PlatformVideoWindow):
        (PlatformVideoWindow::~PlatformVideoWindow):
        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Include <gtk/gtk.h> directly.

2010-08-31  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
        the former can occur in more places without having to do the latter.

        * WebCore.exp.in:
        * page/FocusController.cpp:
        (WebCore::FocusController::setActive):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::enterCompositingMode):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::needsLayout):
        (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
        * page/FrameView.h:
        * page/Page.cpp:
        (WebCore::Page::scheduleForcedStyleRecalcForAllPages):
        * page/Page.h:
        * page/Settings.cpp:
        (WebCore::setNeedsRecalcStyleInAllFrames):
        (WebCore::setLoadsImagesAutomaticallyInAllFrames):
        (WebCore::Settings::setStandardFontFamily):
        (WebCore::Settings::setFixedFontFamily):
        (WebCore::Settings::setSerifFontFamily):
        (WebCore::Settings::setSansSerifFontFamily):
        (WebCore::Settings::setCursiveFontFamily):
        (WebCore::Settings::setFantasyFontFamily):
        (WebCore::Settings::setMinimumFontSize):
        (WebCore::Settings::setMinimumLogicalFontSize):
        (WebCore::Settings::setDefaultFontSize):
        (WebCore::Settings::setDefaultFixedFontSize):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::setTextAreasAreResizable):
        (WebCore::Settings::setAuthorAndUserStylesEnabled):
        (WebCore::Settings::setFontRenderingMode):
        (WebCore::Settings::setZoomMode):
        (WebCore::Settings::setAcceleratedCompositingEnabled):
        (WebCore::Settings::setShowDebugBorders):
        (WebCore::Settings::setShowRepaintCounter):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::platformColorsDidChange):

2010-08-31  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dimitri Glazkov.

        Unfork Chromium's FontPlatformDataChromiumMac.mm.

        Modified FontPlatformDataCocoa to provide hooks needed by Chromium.
        Moved Chromium's mechanics for OOP font loading to CrossProcessFontLoading.mm.
        Added ::create() function to MemoryActivatedFont to match new guidelines for
        RefCounted<> classes.

        Not possible to test due to sandbox interaction.

        * WebCore.gypi: Update files for chromium build.
        * platform/graphics/chromium/CrossProcessFontLoading.h: Added.
        (WebCore::MemoryActivatedFont::cgFont):
        (WebCore::MemoryActivatedFont::atsFontRef):
        * platform/graphics/chromium/CrossProcessFontLoading.mm: Added.
        (WebCore::MemoryActivatedFont::create):
        (WebCore::MemoryActivatedFont::MemoryActivatedFont):
        (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
        (WebCore::FontPlatformData::loadFont):
        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Removed.
        * platform/graphics/cocoa/FontPlatformData.h:
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::loadFont):
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::setFont):

2010-08-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Adam Barth.

        [GTK] warning: unused variable "queryResult"
        https://bugs.webkit.org/show_bug.cgi?id=44998

        No new tests as functionality has not changed.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen): Move queryResult within the gstreamer
        version guards, where it is used.

2010-08-31  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Refinement to previous checkin for pagination of block-level replaced elements.  Don't bother to
        paginate floating block-level replaced elements for now.

        Added fast/multicol/float-pagination-failure.html

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

2010-08-31  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Add LocalFileSystem.requestFileSystem interface to DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=44734

        No new tests; tests will be added later.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
        (WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
        (WebCore::RuntimeEnabledFeatures::requestFileSystemEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::requestFileSystem):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::):
        * page/DOMWindow.idl:
        * page/Settings.cpp:
        (WebCore::Settings::setFileSystemRootPath):
        * page/Settings.h:
        (WebCore::Settings::fileSystemRootPath):

2010-08-31  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Adam Barth.

        [BREWMP] Add PLATFORM(BREWMP) guard to PluginViewNone
        https://bugs.webkit.org/show_bug.cgi?id=44768

        Build fix. Add PLATFORM(BREWMP) guard to add dummy PluginView::privateBrowsingStateChanged
        and PluginView::setJavaScriptPaused.

        * plugins/PluginViewNone.cpp:

2010-08-31  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=40947
        <rdar://problem/8124723> REGRESSION (r57544): XMLHttpRequest POSTed multipart/form-data
        wrongfully gets a charset appended

        Test: http/tests/xmlhttprequest/post-with-boundary.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::replaceCharsetInMediaType): Changed to only set charset if it was already present,
        and never append.
        (WebCore::XMLHttpRequest::send): Updated for replaceCharsetInMediaType renaming.

2010-08-31  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Implement Readable/Writable versions of ChromiumDataObjectNew
        https://bugs.webkit.org/show_bug.cgi?id=44917

        This is the second of several patches to update Chromium to support
        arbitrary data types in event.dataTransfer.
        ReadableDataObject simply calls through to several Chromium IPCs to
        retrieve the appropriate data.
        WritableDataObject ostensibly buffers arbitrary data internally until
        a call is made to flush the data to the platform-specific abstraction;
        unfortunately, a special exception is currently made for pasteboard
        handling due to how it is handled in WebCore.

        No new tests.

        * WebCore.gypi:
        * platform/chromium/ChromiumDataObjectNew.h: Removed.
        * platform/chromium/ClipboardChromium.cpp:
        * platform/chromium/ClipboardMimeTypes.cpp: Added.
        * platform/chromium/ClipboardMimeTypes.h: Added.
        * platform/chromium/ReadableDataObject.cpp: Added.
        (WebCore::clipboardBuffer):
        (WebCore::ReadableDataObject::create):
        (WebCore::ReadableDataObject::ReadableDataObject):
        (WebCore::ReadableDataObject::hasData):
        (WebCore::ReadableDataObject::types):
        (WebCore::ReadableDataObject::getData):
        (WebCore::ReadableDataObject::getURL):
        (WebCore::ReadableDataObject::getHTML):
        (WebCore::ReadableDataObject::hasFilenames):
        (WebCore::ReadableDataObject::filenames):
        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
        * platform/chromium/ReadableDataObject.h: Added.
        * platform/chromium/WritableDataObject.cpp: Added.
        (WebCore::WritableDataObject::create):
        (WebCore::WritableDataObject::WritableDataObject):
        (WebCore::WritableDataObject::clearData):
        (WebCore::WritableDataObject::clearAllExceptFiles):
        (WebCore::WritableDataObject::clearAll):
        (WebCore::WritableDataObject::setData):
        (WebCore::WritableDataObject::setURL):
        (WebCore::WritableDataObject::setHTML):
        (WebCore::WritableDataObject::dataMap):
        (WebCore::WritableDataObject::urlTitle):
        (WebCore::WritableDataObject::htmlBaseURL):
        (WebCore::WritableDataObject::fileExtension):
        (WebCore::WritableDataObject::fileContentFilename):
        (WebCore::WritableDataObject::fileContent):
        (WebCore::WritableDataObject::setFileExtension):
        (WebCore::WritableDataObject::setFileContentFilename):
        (WebCore::WritableDataObject::setFileContent):
        * platform/chromium/WritableDataObject.h: Added.

2010-08-31  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Null-deref when decoding web archive with no data key in LegacyWebArchive::createResource
        https://bugs.webkit.org/show_bug.cgi?id=45000

        Test: webarchive/loading/missing-data.html

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createResource): Use wrapCFData instead of CFDataGetBytePtr/GetLength,
        which is both more efficient, and can handle null. Also fixed incorrect use of ParsedURLString,
        since the string is coming from a file and so there are no guarantees about its format.

2010-08-31  Kenneth Russell  <kbr@google.com>

        Reviewed by Chris Marrin.

        Add length and related operations to FloatPoint and FloatSize
        https://bugs.webkit.org/show_bug.cgi?id=44994

        Added length and squared length operations to both FloatPoint and
        FloatSize, and added set(x, y), dot and normalize operations to
        FloatPoint. These changes have been tested with new code to be
        added later.

        * platform/graphics/FloatPoint.cpp:
        (WebCore::FloatPoint::normalize):
        (WebCore::FloatPoint::length):
        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::set):
        (WebCore::FloatPoint::dot):
        (WebCore::FloatPoint::lengthSquared):
        (WebCore::operator*):
        * platform/graphics/FloatSize.cpp:
        (WebCore::FloatSize::diagonalLength):
        * platform/graphics/FloatSize.h:
        (WebCore::FloatSize::diagonalLengthSquared):

2010-08-31  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        gl-teximage.html and tex-image-and-sub-image-2d-with-image.html failed on Chromium Mac bots (10.5)
        https://bugs.webkit.org/show_bug.cgi?id=44993

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData): Take into consideration the source image pixel row alignment.

2010-08-31  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [CMake] Unify GENERATE_DOM_NAMES code
        https://bugs.webkit.org/show_bug.cgi?id=44842

        * CMakeLists.txt: Added property svn:eol-style.

2010-08-31  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Dan Bernstein..

        Variable name change. m_shouldFirePostLayoutTimer is now 
        m_hasPendingPostLayoutTasks

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::performPostLayoutTasks):
        * page/FrameView.h:

2010-08-31  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=44828 FrameView 
        should make more calls to postLayoutTasks() using the timer
        -and corresponding-
        <rdar://problem/8064938>

        This change only allows synchronous calls to postLayoutTasks() if 
        we are not already in a synchronous call to postLayoutTasks(). 
        Furthermore, it de-couples the notion of "the post layout timer 
        should fire" from m_postLayoutTasksTimer.isActive(), instead using 
        a boolean to track the need to use the timer.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::unscheduleRelayout):
        (WebCore::FrameView::performPostLayoutTasks):
        * page/FrameView.h:

2010-08-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Fix 32-bit WebKit2 build.

        * WebCore.exp.in:

2010-08-31  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Regression in r63528: Custom http headers for loads of type
        FrameLoadTypeReloadFromOrigin are not being correctly
        propagated to subresource loads.

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

        No tests, since DRT doesn't seem to have a way to trigger a
        FrameLoadTypeReloadFromOrigin load.

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

2010-08-31  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Add ability to count text matches without marking
        https://bugs.webkit.org/show_bug.cgi?id=43996

        Safari needs to be able to count text matches without triggering lots of repainting.
        Rename markAllMatchesForText() to countMatchesForText() and add a markMatches parameter.

        * WebCore.exp.in:
        * page/Frame.cpp:
        (WebCore::Frame::countMatchesForText):
        * page/Frame.h:
        * page/Page.cpp:
        (WebCore::Page::markAllMatchesForText):

2010-08-31  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        canPlayType("application/octet-stream") must return ""
        https://bugs.webkit.org/show_bug.cgi?id=44985

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::supportsType): Always return IsNotSupported for application/octet-stream

2010-08-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] ScrollbarThemeGtk should respond to theme changes
        https://bugs.webkit.org/show_bug.cgi?id=44782

        Scrollbar is currently written with the assumption that scrollbars never change
        thickness. In GTK+ changing the current theme can alter scrollbar thickness. This
        change manually resizes interior frame scrollbar widgets when the GTK+ theme changes.
        Since we are now tracking style changes, we may also cache theme properties to avoid
        having to call moz_gtk_get_scrollbar_metrics repeatedly during rendering.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::gtkScrollbar): Added accessor for the Mozilla theming code's
        scrollbar widget. We access it here, because RenderThemGtk takes care of initializing
        the Mozilla code.
        * platform/gtk/RenderThemeGtk.h: Added accessor declaration.
        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Update the style property cache during construction.
        (WebCore::ScrollbarThemeGtk::registerScrollbar): Track all interior frame scrollbars.
        (WebCore::ScrollbarThemeGtk::unregisterScrollbar): Ditto.
        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Added this method which updates the style cache.
        (WebCore::gtkStyleSetCallback): Added this signal handler for when the style changes.
        (WebCore::ScrollbarThemeGtk::backButtonRect): Use the style cache instead of calling moz_gtk_get_scrollbar_metrics.
        (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
        (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
        (WebCore::ScrollbarThemeGtk::thumbRect): Ditto.
        (WebCore::ScrollbarThemeGtk::paint): Ditto.
        (WebCore::ScrollbarThemeGtk::scrollbarThickness): Ditto.
        (WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
        (WebCore::ScrollbarThemeGtk::minimumThumbLength): Ditto.
        * platform/gtk/ScrollbarThemeGtk.h: Added new method declarations.

2010-08-31  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        Web archives are created with a size of 0 due to PassRefPtr mistake
        https://bugs.webkit.org/show_bug.cgi?id=44984
        rdar://problem/8042283

        * loader/archive/ArchiveResource.cpp:
        (WebCore::ArchiveResource::ArchiveResource): Merge the three constructors into one.
        (WebCore::ArchiveResource::create): Merge the two create functions into one, and
        fix the logic so there is no use of a PassRefPtr after it has been passed.
        * loader/archive/ArchiveResource.h: Use default arguments instead of overloading
        to cut down from three create functions to two. Remove two of the constructors.

2010-08-31  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Expose WorkerContext.createBlobURL and WorkerContext.revokeBlobURL.
        https://bugs.webkit.org/show_bug.cgi?id=44972

        Test: fast/files/workers/worker-apply-blob-url-to-xhr.html

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canRequest):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::createBlobURL):
        (WebCore::WorkerContext::revokeBlobURL):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:

2010-08-31  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextBox):
        Added a cast so we can mix int and unsigned in a single ?: expression.
        This warns with clang, but strangely not with gcc.

        * html/parser/HTMLTreeBuilder.cpp: Removed unused functions.
        The clang compiler notices and complains about these. If we need them
        later we should use Subversion to bring them back.

2010-08-31  Kenneth Russell  <kbr@google.com>

        Reviewed by Simon Fraser.

        Add cross product and arithmetic operations to FloatPoint3D
        https://bugs.webkit.org/show_bug.cgi?id=44970

        Added set, move, and scale operations similar to FloatPoint's,
        addition and subtraction operators, length, lengthSquared and
        cross product. These changes have been tested with new code to be
        added later.

        * platform/graphics/FloatPoint3D.cpp:
        (WebCore::FloatPoint3D::normalize):
        (WebCore::FloatPoint3D::length):
        * platform/graphics/FloatPoint3D.h:
        (WebCore::FloatPoint3D::set):
        (WebCore::FloatPoint3D::move):
        (WebCore::FloatPoint3D::scale):
        (WebCore::FloatPoint3D::dot):
        (WebCore::FloatPoint3D::cross):
        (WebCore::FloatPoint3D::lengthSquared):
        (WebCore::operator +=):
        (WebCore::operator -=):
        (WebCore::operator+):
        (WebCore::operator-):
        (WebCore::operator*):

2010-08-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Isolate all GTK+ typedefs into one file
        https://bugs.webkit.org/show_bug.cgi?id=44900

        * platform/graphics/gtk/CairoUtilities.h: Remove GTK+ typedefs.
        * platform/gtk/ClipboardGtk.h: Ditto.
        * platform/gtk/DataObjectGtk.h: Ditto.
        * platform/gtk/GOwnPtrGtk.h: Ditto.
        * platform/gtk/GRefPtrGtk.h: Ditto.
        * platform/gtk/PasteboardHelper.h: Ditto.
        * platform/gtk/PopupMenuGtk.h: Ditto.
        * platform/gtk/RenderThemeGtk.h: Ditto.
        * platform/gtk/ScrollbarGtk.h: Ditto.
        * platform/gtk/gtk2drawing.c: Remove unused Assertions.h.

2010-08-31  Tony Chang  <tony@chromium.org>

        Unreviewed, fix chromium compile.

        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

2010-08-31  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: add FFTConvolver class
        https://bugs.webkit.org/show_bug.cgi?id=34907

        No new tests since audio API is not yet implemented.

        * platform/audio: Added.
        * platform/audio/FFTConvolver.cpp: Added.
        (WebCore::FFTConvolver::FFTConvolver):
        (WebCore::FFTConvolver::process):
        (WebCore::FFTConvolver::reset):
        * platform/audio/FFTConvolver.h: Added.
        (WebCore::FFTConvolver::fftSize):

2010-08-31  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher and David Levin.

        Fix ThreadableBlobRegistry methods not to rely on WorkerContext.
        https://bugs.webkit.org/show_bug.cgi?id=44971

        We could hit an ASSERT when we're performing some blob related cleanup
        in ScriptExecutionContext destructor when WorkerContext dies. The fix
        is to use isMainThread and callOnMainThread.

        * fileapi/ThreadableBlobRegistry.cpp:
        (WebCore::BlobRegistryContext::BlobRegistryContext):
        (WebCore::registerBlobURLTask):
        (WebCore::ThreadableBlobRegistry::registerBlobURL):
        (WebCore::registerBlobURLFromTask):
        (WebCore::unregisterBlobURLTask):
        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):

2010-08-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Fix 'make dist' in preparation of the 1.3.3 release
        https://bugs.webkit.org/show_bug.cgi?id=44978

        * GNUmakefile.am: Add missing and moved headers to the sources list.

2010-08-31  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] crashes while dragging any contents
        https://bugs.webkit.org/show_bug.cgi?id=44940

        Fix crashes caused by returning newly assigned value instead of adoptRef
        value.

        * page/efl/EventHandlerEfl.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/efl/ClipboardEfl.h:
        (WebCore::ClipboardEfl::create):

2010-08-31  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: The parser of Inspector protocol messages should be covered by a test.

        The inspector protocol is based on messages in JSON format.
        Each message should be a JSON object with a number of properties.
        InspectorBackendDispatcher is parsing these messages and should be
        able to detect wrong formatted messages.
        It has these functionality but no tests for it.

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


        * inspector/CodeGeneratorInspector.pm:

2010-08-31  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] More correct and faster error handling when converting v8 objects to various WebCore strings
        https://bugs.webkit.org/show_bug.cgi?id=44678

        Split v8 object conversion into two phase: 1st, which can throw an exception, and
        2nd, which must always succeed.  That allows to report correctly the case when exception
        happens.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp:
        (WebCore::int32ToWebCoreString):
        (WebCore::v8NonStringValueToWebCoreString):
        * bindings/v8/V8Binding.h:
        (WebCore::V8ParameterBase::operator String):
        (WebCore::V8ParameterBase::operator AtomicString):
        (WebCore::V8ParameterBase::V8ParameterBase):
        (WebCore::V8ParameterBase::prepareBase):
        (WebCore::V8ParameterBase::object):
        (WebCore::V8ParameterBase::setString):
        (WebCore::V8ParameterBase::toString):
        (WebCore::):
        (WebCore::::prepare):
        * bindings/v8/custom/V8BindingMacros.h:
        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
        * bindings/v8/cstom/V8DeviceOrientationEventCustom.cpp:
        (WebCore::V8DeviceMotionEvent::initDeviceOrientationEventCallback):

2010-08-30  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Joseph Pecoraro.

        WebInspector: it'd be better to introduce inspector API related tests.

        As far as we have some kind of API for Inspector
        it'd be better to have API related tests. This is the test
        for API wrappers. These wrappers are tracking the types of arguments
        of API functions.

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

        Test: inspector/protocol-error.html

        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/inspector.js:
        (WebInspector_syncDispatch):
        (WebInspector.reportProtocolError):

2010-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r66484.
        http://trac.webkit.org/changeset/66484
        https://bugs.webkit.org/show_bug.cgi?id=44966

        Broke EFL build (Requested by acidx on #webkit).

        * CMakeLists.txt:

2010-08-31  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Tony Chang.

        deduplicate code from Node::checkReplaceChild and Node::checkAddChild
        https://bugs.webkit.org/show_bug.cgi?id=44962

        Remove duplicate code in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=19524
        No new tests since there is no change in functionality.

        * dom/Node.cpp:
        (WebCore::isChildTypeAllowed):
        (WebCore::Node::canReplaceChild):
        (WebCore::checkAcceptChild):
        (WebCore::transferOwnerDocument):
        (WebCore::Node::checkReplaceChild):
        (WebCore::Node::checkAddChild):

2010-08-30  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        [Chromium] bindTexture(TEXTURE_CUBE_MAP) shouldn't generate errors with valid cubemap texture
        https://bugs.webkit.org/show_bug.cgi?id=44922

        * html/canvas/WebGLRenderingContext.cpp: Remove TEXTURE_WRAP_R code.
        (WebCore::WebGLRenderingContext::bindTexture):
        * html/canvas/WebGLTexture.cpp: Remove the code for tracking TEXTURE_WRAP_R.
        (WebCore::WebGLTexture::WebGLTexture):
        * html/canvas/WebGLTexture.h: Ditto.

2010-08-31  Jian Li  <jianli@chromium.org>

        Rubber-stamped by David Levin.

        Rename addTwoCStrings to concatenateTwoCStrings.

        * fileapi/BlobBuilder.cpp:
        (WebCore::concatenateTwoCStrings):
        (WebCore::BlobBuilder::append):

2010-08-31  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Improve BlobBuilder to combine adjacent strings.
        https://bugs.webkit.org/show_bug.cgi?id=44884

        * fileapi/BlobBuilder.cpp:
        (WebCore::addTwoCStrings):
        (WebCore::BlobBuilder::append):

2010-08-31  Darin Adler  <darin@apple.com>

        Reviewed by Simon Fraser.

        Make DOM classes start with a reference count of 1, like all other RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=28068

        * dom/Document.cpp:
        (WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.

        * dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.

        * dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
        CreateSVGElementZeroRefCount, and initialRefCount.

        * platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.

        * rendering/RenderSVGShadowTreeRootContainer.cpp:
        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
        instead of new.

        * rendering/SVGResources.h: Inherit from Noncopyable.

        * rendering/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
        case code.

        * rendering/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeContainerElement::create): Added.
        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
        type more specific.
        (WebCore::SVGShadowTreeRootElement::create): Added.
        * rendering/SVGShadowTreeElements.h: Added create functions, and made the
        argument type more specific.

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
        CreateSVGElementZeroRefCount.
        (WebCore::SVGElement::create): Use adoptRef.

        * wml/WMLElement.cpp:
        (WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
        CreateStyledElementZeroRefCount.
        (WebCore::WMLElement::create): Use adoptRef.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::create):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::create):
        * svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::create):
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::create):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::create):
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::create):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::create):
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::create):
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::create):
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::create):
        * svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::create):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::create):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::create):
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::create):
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::create):
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::create):
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::create):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::create):
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::create):
        * svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::create):
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::create):
        * svg/SVGFEFuncAElement.cpp:
        (WebCore::SVGFEFuncAElement::create):
        * svg/SVGFEFuncBElement.cpp:
        (WebCore::SVGFEFuncBElement::create):
        * svg/SVGFEFuncGElement.cpp:
        (WebCore::SVGFEFuncGElement::create):
        * svg/SVGFEFuncRElement.cpp:
        (WebCore::SVGFEFuncRElement::create):
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::create):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::create):
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::create):
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::create):
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::create):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::create):
        * svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::create):
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::create):
        * svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::create):
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::create):
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::create):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::create):
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::create):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::create):
        * svg/SVGFontFaceFormatElement.cpp:
        (WebCore::SVGFontFaceFormatElement::create):
        * svg/SVGFontFaceNameElement.cpp:
        (WebCore::SVGFontFaceNameElement::create):
        * svg/SVGFontFaceSrcElement.cpp:
        (WebCore::SVGFontFaceSrcElement::create):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::create):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::create):
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::create):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::create):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::create):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::create):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::create):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::create):
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::create):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::create):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::create):
        * svg/SVGMetadataElement.cpp:
        (WebCore::SVGMetadataElement::create):
        * svg/SVGMissingGlyphElement.cpp:
        (WebCore::SVGMissingGlyphElement::create):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::create):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::create):
        * svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::create):
        * svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::create):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::create):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::create):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::create):
        (WebCore::SVGSVGElement::currentView):
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::create):
        * svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::create):
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::create):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::create):
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::create):
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::create):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::create):
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::create):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::create):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::create):
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::create):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::create):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::create):
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::create):
        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::create):
        * wml/WMLAccessElement.cpp:
        (WebCore::WMLAccessElement::create):
        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::create):
        * wml/WMLBRElement.cpp:
        (WebCore::WMLBRElement::create):
        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::create):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::create):
        * wml/WMLDocument.h:
        (WebCore::WMLDocument::create):
        * wml/WMLFieldSetElement.cpp:
        (WebCore::WMLFieldSetElement::create):
        * wml/WMLFormControlElement.cpp:
        (WebCore::WMLFormControlElement::create):
        * wml/WMLGoElement.cpp:
        (WebCore::WMLGoElement::create):
        * wml/WMLImageElement.cpp:
        (WebCore::WMLImageElement::create):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::create):
        * wml/WMLInsertedLegendElement.cpp:
        (WebCore::WMLInsertedLegendElement::create):
        * wml/WMLIntrinsicEvent.cpp:
        (WebCore::WMLIntrinsicEvent::create):
        * wml/WMLMetaElement.cpp:
        (WebCore::WMLMetaElement::create):
        * wml/WMLNoopElement.cpp:
        (WebCore::WMLNoopElement::create):
        * wml/WMLOnEventElement.cpp:
        (WebCore::WMLOnEventElement::create):
        * wml/WMLOptGroupElement.cpp:
        (WebCore::WMLOptGroupElement::create):
        * wml/WMLOptionElement.cpp:
        (WebCore::WMLOptionElement::create):
        * wml/WMLPElement.cpp:
        (WebCore::WMLPElement::create):
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::create):
        * wml/WMLPrevElement.cpp:
        (WebCore::WMLPrevElement::create):
        * wml/WMLRefreshElement.cpp:
        (WebCore::WMLRefreshElement::create):
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::create):
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::create):
        * wml/WMLTableElement.cpp:
        (WebCore::WMLTableElement::create):
        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::create):
        * wml/WMLTemplateElement.cpp:
        (WebCore::WMLTemplateElement::create):
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::create):
        Use adoptRef.

2010-08-31  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Local frame loads should check against origin (not referrer)
        https://bugs.webkit.org/show_bug.cgi?id=44888

        Test: fast/frames/iframe-no-src-local-origin-allow.html

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe):

2010-08-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (cg)
        https://bugs.webkit.org/show_bug.cgi?id=44566

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData): Fix the premultiplyAlpha issue for cg.

2010-08-31  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=44956, paginate block-level replaced elements.
       <rdar://problem/8000991> Images with display:block get split between columns or pages

        Added fast/multicol/paginate-block-replaced.html

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

2010-08-31  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36515
        CSS style definitions are ignored if they just follow a "@charset" which appears in lines
        other than the first line in stylesheet.

        Test: fast/css/misplaced-charset.html

        * css/CSSGrammar.y: Ignore a misplaced charset rule without consuming extra characters and
        thus breaking subsequent rules.

2010-08-31  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Antonio Gomes.

        [CMake] Add IF (ENABLE_MATHML) around MathML sources
        https://bugs.webkit.org/show_bug.cgi?id=44927

        * CMakeLists.txt:

2010-08-31  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [CMake] Unify GENERATE_DOM_NAMES code
        https://bugs.webkit.org/show_bug.cgi?id=44842

        * CMakeLists.txt: Added property svn:eol-style.

2010-08-31  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Add an interface for platform copy/paste drag/drop data objects
        https://bugs.webkit.org/show_bug.cgi?id=44914

        Currently, Chromium only supports a few hardcoded data types in
        event.dataTransfer. This is the first of several patches to add support
        for arbitrary data types.

        No new tests.

        * WebCore.gypi:
        * platform/chromium/ChromiumDataObjectNew.h: Added.
        * platform/chromium/ClipboardChromium.cpp:

2010-08-30  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add audits support to extension API
        Exposed (late) adding of categories from AuditPanel.
        Removed indexOfObjectInListSortedByFunction in favor of
        insertionIndexForObjectInListSortedByFunction (the former had
        weird interface always returning negative numbers and was only used in
        the latter).
        https://bugs.webkit.org/show_bug.cgi?id=44518

        Tests: inspector/extensions-audits-api.html
               inspector/extensions-audits.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditFormatters.js: Added.
        (WebInspector.applyFormatters):
        (WebInspector.AuditFormatters.text):
        (WebInspector.AuditFormatters.snippet):
        (WebInspector.AuditFormatters.concat):
        (WebInspector.AuditFormatters.url):
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView):
        (WebInspector.AuditLauncherView.prototype.addCategory.compareCategories):
        (WebInspector.AuditLauncherView.prototype.addCategory):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
        (WebInspector.AuditLauncherView.prototype._categoryClicked):
        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        (WebInspector.AuditsPanel.prototype.addCategory):
        (WebInspector.AuditsPanel.prototype.getCategory):
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditCategory.prototype.run):
        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI):
        (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
        (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._fire):
        (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._dispatch):
        (WebInspector.injectedExtensionAPI.EventSink):
        (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.Audits):
        (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
        (WebInspector.injectedExtensionAPI.AuditCategory.customDispatch):
        (WebInspector.injectedExtensionAPI.AuditCategory):
        (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
        (WebInspector.injectedExtensionAPI.AuditResult):
        (WebInspector.injectedExtensionAPI.AuditResult.prototype.get Severity):
        (WebInspector.injectedExtensionAPI.AuditResultImpl):
        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.addResult):
        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.createResult):
        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.done):
        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype._nodeFactory):
        (WebInspector.injectedExtensionAPI.AuditResultNode):
        (WebInspector.injectedExtensionAPI.AuditResultNode.prototype.addChild):
        * inspector/front-end/ExtensionAuditCategory.js: Added.
        (WebInspector.ExtensionAuditCategory):
        (WebInspector.ExtensionAuditCategory.prototype.get id):
        (WebInspector.ExtensionAuditCategory.prototype.get displayName):
        (WebInspector.ExtensionAuditCategory.prototype.get ruleCount):
        (WebInspector.ExtensionAuditCategory.prototype.run):
        (WebInspector.ExtensionAuditCategoryResults):
        (WebInspector.ExtensionAuditCategoryResults.prototype.get complete):
        (WebInspector.ExtensionAuditCategoryResults.prototype.cancel):
        (WebInspector.ExtensionAuditCategoryResults.prototype.addResult):
        (WebInspector.ExtensionAuditCategoryResults.prototype._addNode):
        (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
        * inspector/front-end/ExtensionCommon.js: Added.
        (WebInspector.commonExtensionSymbols):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype.startAuditRun):
        (WebInspector.ExtensionServer.prototype.stopAuditRun):
        (WebInspector.ExtensionServer.prototype._postNotification):
        (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
        (WebInspector.ExtensionServer.prototype._onAddAuditResult):
        (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
        (WebInspector.ExtensionStatus):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        ():

2010-08-31  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Remove unused canReferToParentFrameEncoding() function from FrameLoader.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44895

        No new tests; no behavior changed.

        * loader/FrameLoader.cpp:

2010-08-31  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::openCursor):

2010-08-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Implement the rest of IDBCursors + make them persistent
        https://bugs.webkit.org/show_bug.cgi?id=44546

        Because the old (memory only) backend didn't support ranges, IDBCursors
        were never really finished.  This completes them on top of SQLite like
        the rest of IndexedDB.

        Test: storage/indexeddb/objectstore-cursor.html

        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::value):
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::key):
        (WebCore::IDBCursorBackendImpl::value):
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::remove):
        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBCursorBackendInterface.h:
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::isEqual):
        * storage/IDBKey.h:
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::leftBound):
        (WebCore::IDBKeyRange::rightBound):
        (WebCore::IDBKeyRange::bound):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::cursorWhereFragment):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):

2010-08-27  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        Notifications should support a click event
        https://bugs.webkit.org/show_bug.cgi?id=44800

        Test: fast/notifications/notifications-click-event.html

        * notifications/Notification.h:
        * notifications/Notification.idl:

2010-08-31  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adam Barth.

        [V8] Custom binding for "dataset"
        https://bugs.webkit.org/show_bug.cgi?id=44930

        * WebCore.gyp/WebCore.gyp: Remove the exclusion of DOMStringMap.idl.
        * WebCore.gypi: Add V8DOMStringMapCustom.cpp.
        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Added.
        (WebCore::V8DOMStringMap::namedPropertyQuery):
        (WebCore::V8DOMStringMap::namedPropertyGetter):
        (WebCore::V8DOMStringMap::namedPropertyEnumerator):
        (WebCore::V8DOMStringMap::namedPropertyDeleter):
        (WebCore::V8DOMStringMap::namedPropertySetter):
        * dom/Element.idl: Remove V8 exclusion.
        * page/DOMWindow.idl: ditto.

2010-08-31  Jian Li  <jianli@chromium.org>

        Fix chromium build break.

        * page/DOMWindow.h:

2010-08-31  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Stale document crashes at multiple URLs (with new parser)
        https://bugs.webkit.org/show_bug.cgi?id=44885

        We're not supposed to load resources in detached documents.  According
        to several locations I examined, it's the job of the caller of
        DocLoader to check this invariant.  Like most code dealing with
        detached documents, this check isn't overly consistent.  At some point,
        we'll need to rationalize all the different patterns here.  However, at
        this point, this patch appears correct because it matches what we do
        for <link rel="stylesheet">.

        Test: fast/dom/HTMLLinkElement/prefetch-detached.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestLinkPrefetch):

2010-08-31  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Expose window.createBlobURL and window.revokeBlobURL.
        https://bugs.webkit.org/show_bug.cgi?id=44908

        Tests: fast/files/apply-blob-url-to-img.html
               fast/files/apply-blob-url-to-xhr.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::createBlobURL):
        (WebCore::DOMWindow::revokeBlobURL):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):

2010-08-31  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Support FileReaderSync in workers.
        https://bugs.webkit.org/show_bug.cgi?id=44657

        Also add FileException interface and make Blob/File/FileError useable in
        workers.

        Tests: fast/files/workers/worker-read-blob-async.html
               fast/files/workers/worker-read-blob-sync.html
               fast/files/workers/worker-read-file-async.html
               fast/files/workers/worker-read-file-sync.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/Blob.idl: Added NoStaticTables attribute.
        * fileapi/File.idl: Added NoStaticTables attribute.
        * fileapi/FileError.idl: Added NoStaticTables attribute.
        * fileapi/FileException.h: Added.
        * fileapi/FileException.idl: Added.
        * fileapi/FileReaderSync.cpp: Added.
        * fileapi/FileReaderSync.h: Added.
        * fileapi/FileReaderSync.idl: Added.
        * workers/WorkerContext.idl: Expose FileReaderSync and BlodBuilder in workers.

2010-08-30  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Buffered ranges drawing support
        https://bugs.webkit.org/show_bug.cgi?id=44869

        Refactored the media slider track painting code to support
        multiple buffered ranges painting. This change introduces no
        functional regression.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMediaSliderTrack):

2010-08-30  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        HISTORY_ALWAYS_ASYNC should be removed (history should always be async)
        https://bugs.webkit.org/show_bug.cgi?id=44315

        Remove check in RedirectScheduler::scheduleHistoryNavigation that would
        dispatch some navigations synchronously.

        Test: fast/history/history-traversal-is-asynchronous.html

        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):

2010-08-30  Jian Li  <jianli@chromium.org>

        Try to fix break again.

        * fileapi/ThreadableBlobRegistry.cpp:
        (WebCore::ThreadableBlobRegistry::registerBlobURL):
        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):

2010-08-30  Jian Li  <jianli@chromium.org>

        Fix another build break. Also fix directory upload test break.

        * fileapi/File.cpp:
        (WebCore::File::File):
        * fileapi/ThreadableBlobRegistry.cpp:

2010-08-30  Jian Li  <jianli@chromium.org>

        Fix build break.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):

2010-08-30  Jian Li  <jianli@chromium.org>

        Fix qt/gtk build break.

        * platform/network/BlobRegistryImpl.cpp:

2010-08-30  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Switch the Blob implementation to using the blob data registration model
        https://bugs.webkit.org/show_bug.cgi?id=44389

        Tests: fast/files/read-blob-async.html
               fast/files/read-file-async.html

        With this switch, File/Blob/BlobBuilder are changed to register the blob
        data. FileReader is changed to route through loading the blob resource.
        FormData is also updated to take BlobData. The WebKit mac implementation
        is updated to resolve the blob references in the BlobData.

        * CMakeLists.txt: Update the project file to remove BlobItem.*.
        * GNUmakefile.am: Update the project file to remove BlobItem.*.
        * WebCore.gypi: Update the project file to remove BlobItem.*.
        * WebCore.pro: Update the project file to remove BlobItem.*.
        * WebCore.vcproj/WebCore.vcproj: Update the project file to remove BlobItem.*.
        * WebCore.xcodeproj/project.pbxproj: Update the project file to remove BlobItem.*.
        * fileapi/Blob.cpp: Switch to using BlobData.
        (WebCore::Blob::Blob):
        (WebCore::Blob::slice):
        * fileapi/Blob.h: Switch to using BlobData.
        (WebCore::Blob::create):
        (WebCore::Blob::size):
        (WebCore::Blob::isFile):
        * fileapi/BlobBuilder.cpp: Switch to using BlobData.
        (WebCore::BlobBuilder::BlobBuilder):
        (WebCore::BlobBuilder::append):
        (WebCore::BlobBuilder::getBlob):
        * fileapi/BlobBuilder.h: Switch to using BlobData.
        * fileapi/BlobURL.cpp: Add a new helper method used in FormData.
        (WebCore::BlobURL::getIdentifier):
        * fileapi/BlobURL.h:
        * fileapi/File.cpp: Switch to using BlobData.
        (WebCore::createBlobDataForFile):
        (WebCore::File::File):
        (WebCore::File::size):
        (WebCore::File::captureSnapshot):
        * fileapi/File.h: Switch to using BlobData.
        (WebCore::File::create):
        (WebCore::File::path):
        (WebCore::File::name):
        (WebCore::File::webkitRelativePath):
        * fileapi/FileReader.cpp: Change the reading to route through blob resource loading.
        (WebCore::FileReader::FileReader):
        (WebCore::FileReader::readAsBinaryString):
        (WebCore::FileReader::readAsText):
        (WebCore::FileReader::readAsDataURL):
        (WebCore::delayedStart):
        (WebCore::FileReader::readInternal):
        (WebCore::FileReader::terminate):
        (WebCore::FileReader::start):
        (WebCore::FileReader::didReceiveResponse):
        (WebCore::FileReader::didReceiveData):
        (WebCore::FileReader::didFinishLoading):
        (WebCore::FileReader::didFail):
        (WebCore::FileReader::failed):
        (WebCore::FileReader::httpStatusCodeToExceptionCode):
        (WebCore::FileReader::result):
        (WebCore::FileReader::convertToDataURL):
        * fileapi/FileReader.h:
        * html/FormDataList.cpp: Account to BlobData change.
        (WebCore::FormDataList::appendString):
        (WebCore::FormDataList::appendBlob):
        * html/FormDataList.h: Account to BlobData change.
        (WebCore::FormDataList::appendBlob):
        (WebCore::FormDataList::Item::Item):
        (WebCore::FormDataList::Item::data):
        (WebCore::FormDataList::Item::blob):
        (WebCore::FormDataList::items):
        * loader/FormSubmission.cpp: Account to BlobData change.
        (WebCore::FormSubmission::create):
        * platform/BlobItem.cpp: Removed.
        * platform/BlobItem.h: Removed.
        * platform/network/BlobRegistryImpl.cpp: Add the implementations for resource loading.
        (WebCore::BlobRegistryImpl::createResourceHandle):
        (WebCore::BlobRegistryImpl::loadResourceSynchronously):
        * platform/network/BlobResourceHandle.cpp: Fix a bug that the ref is not added.
        (WebCore::BlobResourceHandle::BlobResourceHandle):
        * platform/network/FormData.cpp: Account to BlobData change.
        (WebCore::FormData::create):
        (WebCore::FormData::createMultiPart):
        (WebCore::FormData::deepCopy):
        (WebCore::FormData::appendFile):
        (WebCore::FormData::appendKeyValuePairItems):
        * platform/network/FormData.h: Account to BlobData change.
        * platform/network/mac/FormDataStreamMac.mm: Resolve blob references in the form data.
        (WebCore::closeCurrentStream):
        (WebCore::advanceCurrentStream):
        (WebCore::formCreate):
        (WebCore::formRead):
        (WebCore::setHTTPBody):
        * xml/XMLHttpRequest.cpp: Account to BlobData change.
        (WebCore::XMLHttpRequest::send):

2010-08-30  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r66418.
        http://trac.webkit.org/changeset/66418
        https://bugs.webkit.org/show_bug.cgi?id=44896

        Adam tried to roll this out with:
        https://bugs.webkit.org/show_bug.cgi?id=44924
        but we hit a commit-queue edgecase and it failed, trying again.

        Causing test failures on multiple bots

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout):
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::setNeedsBoundariesUpdate):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout):
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::styleWillChange):
        * rendering/RenderPath.h:
        (WebCore::RenderPath::setNeedsBoundariesUpdate):
        * rendering/RenderSVGBlock.cpp:
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer):
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::objectBoundingBox):
        (WebCore::RenderSVGContainer::strokeBoundingBox):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::calculateLocalTransform):
        * rendering/RenderSVGGradientStop.h:
        * rendering/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
        (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGHiddenContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInline.cpp:
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGModelObject.cpp:
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot):
        (WebCore::RenderSVGRoot::layout):
        (WebCore::RenderSVGRoot::objectBoundingBox):
        (WebCore::RenderSVGRoot::strokeBoundingBox):
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):
        * rendering/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
        * rendering/RenderSVGTransformableContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBox):
        * rendering/SVGRenderSupport.h:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):

2010-08-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement CDATASection state for the HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=44923

        In the spec, this state refers back to the HTMLTreeBuilder from the
        HTMLTokenizer.  Rather that introduce that (backwards) dependencies, we
        have the tree builder set a bit on the tokenizer.

        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::nextToken):
        * html/parser/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::shouldAllowCDATA):
        (WebCore::HTMLTokenizer::setShouldAllowCDATA):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):

2010-08-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Enable HTML5lib's test_innerHTML01.dat
        https://bugs.webkit.org/show_bug.cgi?id=44919

        These tests provoked two branches that we hadn't implemented yet.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-08-30  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        Stop using a QuickDraw function that was only used for debugging purposes.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::pathFromFont):

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

        Reviewed by Darin Adler.

        queryCommandValue("BackColor") returns rgb(0,0,0) for elements with transparent background
        https://bugs.webkit.org/show_bug.cgi?id=21680

        The bug was caused by WebKit's using the computed style to obtain the background color,
        which is rgba(0,0,0,0) for nodes with transparent background color. While this is correct
        in the accordance to CSS2 because background-color is not inherited by default,
        it is not desirable for editing purposes where the background color in effect is expected.

        Modified valueStyle in EditorCommand.cpp to call Editor::selectionStartCSSPropertyValue,
        instead of Frame::selectionStartStylePropertyValue, which traverses common ancestors of
        the selected range or caret to retrieve the effective background color of the selected region
        instead of the background color at the start of the selection.
        This takes effect when the original background color is transparent or the selection is range
        (to avoid picking up the background color only present at the start of paragraph).

        Removed selectionStartStylePropertyValue and migrated it to Editor::selectionStartCSSPropertyValue.

        Test: editing/execCommand/query-command-value-background-color.html

        * editing/Editor.cpp:
        (WebCore::hasTransparentBackgroundColor): Checks whether the specified style's background color is transparent or not.
        (WebCore::Editor::selectionStartCSSPropertyValue): Migrated the contents of selectionStartStylePropertyValue and
          added the special case for background color.
        * editing/Editor.h: Added the prototype for selectionStartCSSPropertyValue.
        * editing/EditorCommand.cpp:
        (WebCore::valueStyle): Calls Editor::selectionStartCSSPropertyValue.
        * page/Frame.cpp: Removed selectionStartStylePropertyValue.
        * page/Frame.h: Ditto.

2010-08-30  Lei Zhang  <thestig@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Defer printing until the FrameLoader finishes loading.
        https://bugs.webkit.org/show_bug.cgi?id=43658

        * manual-tests/print-before-load.html: Added.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoading):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::print):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::printDeferred):

2010-08-30  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        audio engine: add ReverbConvolver class
        https://bugs.webkit.org/show_bug.cgi?id=34912

        No new tests since audio API is not yet implemented.

        * platform/audio: Added.
        * platform/audio/ReverbAccumulationBuffer.cpp: Added.
        (WebCore::ReverbAccumulationBuffer::ReverbAccumulationBuffer):
        (WebCore::ReverbAccumulationBuffer::readAndClear):
        (WebCore::ReverbAccumulationBuffer::updateReadIndex):
        (WebCore::ReverbAccumulationBuffer::accumulate):
        (WebCore::ReverbAccumulationBuffer::reset):
        * platform/audio/ReverbAccumulationBuffer.h: Added.
        (WebCore::ReverbAccumulationBuffer::readIndex):
        (WebCore::ReverbAccumulationBuffer::readTimeFrame):
        * platform/audio/ReverbConvolver.cpp: Added.
        (WebCore::backgroundThreadEntry):
        (WebCore::ReverbConvolver::ReverbConvolver):
        (WebCore::ReverbConvolver::~ReverbConvolver):
        (WebCore::ReverbConvolver::backgroundThreadEntry):
        (WebCore::ReverbConvolver::process):
        (WebCore::ReverbConvolver::reset):
        * platform/audio/ReverbConvolver.h: Added.
        (WebCore::ReverbConvolver::impulseResponseLength):
        (WebCore::ReverbConvolver::inputBuffer):
        (WebCore::ReverbConvolver::useBackgroundThreads):
        * platform/audio/ReverbConvolverStage.cpp: Added.
        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
        (WebCore::ReverbConvolverStage::processInBackground):
        (WebCore::ReverbConvolverStage::process):
        (WebCore::ReverbConvolverStage::reset):
        * platform/audio/ReverbConvolverStage.h: Added.
        (WebCore::ReverbConvolverStage::inputReadIndex):
        * platform/audio/ReverbInputBuffer.cpp: Added.
        (WebCore::ReverbInputBuffer::ReverbInputBuffer):
        (WebCore::ReverbInputBuffer::write):
        (WebCore::ReverbInputBuffer::directReadFrom):
        (WebCore::ReverbInputBuffer::reset):
        * platform/audio/ReverbInputBuffer.h: Added.
        (WebCore::ReverbInputBuffer::writeIndex):

2010-08-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Add culling to RenderSVGContainer
        https://bugs.webkit.org/show_bug.cgi?id=44896

        Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
        Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.

        This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
        of any container or <svg> element, just to retrieve the repaint rect.

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setNeedsBoundariesUpdate):
        * rendering/RenderObject.h:
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout):
        (WebCore::RenderPath::paint):
        * rendering/RenderPath.h:
        (WebCore::RenderPath::path):
        (WebCore::RenderPath::setNeedsBoundariesUpdate):
        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::styleWillChange):
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer):
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::updateCachedBoundaries):
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
        (WebCore::RenderSVGContainer::objectBoundingBox):
        (WebCore::RenderSVGContainer::strokeBoundingBox):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGContainer::calculateLocalTransform):
        * rendering/RenderSVGGradientStop.h:
        (WebCore::RenderSVGGradientStop::strokeBoundingBox):
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        (WebCore::RenderSVGImage::styleWillChange):
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::styleWillChange):
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::styleWillChange):
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot):
        (WebCore::RenderSVGRoot::layout):
        (WebCore::RenderSVGRoot::styleWillChange):
        (WebCore::RenderSVGRoot::updateCachedBoundaries):
        * rendering/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
        (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
        (WebCore::RenderSVGRoot::objectBoundingBox):
        (WebCore::RenderSVGRoot::strokeBoundingBox):
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):
        * rendering/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
        * rendering/RenderSVGTransformableContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
        (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect):
        * rendering/SVGRenderSupport.h:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):

2010-08-30  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed. Build fix when ENABLE_WEB_SOCKETS=ON.

        EFL port does not yet support automated tests.

        * CMakeLists.txt: Add missing files.
        * CMakeListsEfl.txt: Ditto.

2010-08-30  Kenneth Russell  <kbr@google.com>

        Reviewed by Chris Marrin.

        Expose Vector3 and associated operations
        https://bugs.webkit.org/show_bug.cgi?id=44666

        Rolling out earlier patch exposing Vector3 class in
        TransformationMatrix.h. A different approach will be taken under
        another bug.

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::v3Length):
        (WebCore::v3Scale):
        (WebCore::v3Dot):
        (WebCore::v3Combine):
        (WebCore::v3Cross):
        (WebCore::decompose):
        * platform/graphics/transforms/TransformationMatrix.ha:

2010-08-30  Jer Noble  <jer.noble@apple.com>

        Build fix; Unreviewed.

        Added a export symbol to the WebCore.exp.in list.

        * WebCore.exp.in:

2010-08-30  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add audio cone effect files.  The cone effect operates as defined in the OpenAL specification.
        https://bugs.webkit.org/show_bug.cgi?id=44712

        No new tests since audio API not implemented yet.

        * platform/audio: Added.
        * platform/audio/Cone.cpp: Added.
        (WebCore::ConeEffect::ConeEffect):
        (WebCore::ConeEffect::gain):
        * platform/audio/Cone.h: Added.
        (WebCore::ConeEffect::setInnerAngle):
        (WebCore::ConeEffect::innerAngle):
        (WebCore::ConeEffect::setOuterAngle):
        (WebCore::ConeEffect::outerAngle):
        (WebCore::ConeEffect::setOuterGain):
        (WebCore::ConeEffect::outerGain):

2010-08-30  Chris Rogers  <crogers@google.com>

        Reviewed by Chris Marrin.

        audio engine: add Reverb class
        https://bugs.webkit.org/show_bug.cgi?id=36466

        No new tests since audio API is not yet implemented.

        * platform/audio: Added.
        * platform/audio/Reverb.cpp: Added.
        (WebCore::calculateNormalizationScale):
        (WebCore::Reverb::Reverb):
        (WebCore::Reverb::initialize):
        (WebCore::Reverb::process):
        (WebCore::Reverb::reset):
        * platform/audio/Reverb.h: Added.
        (WebCore::Reverb::):
        (WebCore::Reverb::impulseResponseLength):

2010-08-30  Chris Rogers  <crogers@google.com>

        Unreviewed

        Add WebCore/platform/audio directory
        in preparation for landing: https://bugs.webkit.org/show_bug.cgi?id=36466

        * platform/audio: Added.

2010-08-27  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        text/plain non-video files cause <video> to hang (while reading them?)
        https://bugs.webkit.org/show_bug.cgi?id=44212
        
        Disable all the QuickTime components which ingest .txt files.

        New tests: 
        * http/tests/media/video-served-as-text.html: Added.
        * http/tests/media/text-served-as-text.html: Added.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie): Disable all four text
            'eat' components.
        * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieDisableComponent.
        * platform/mac/WebCoreSystemInterface.mm: Add wkQTMovieDisableComponent.

2010-08-30  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        allow ports with windowed plugins to support windowless plugin tests

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

        Ports that implement plugins windowed by default need to have a way of
        supporting plugin tests that assume the plugin is windowless. Add this
        feature to the tests and support it in the webkit test plugin. Also
        add mouse and keyboard event logging to the webkit-test plugin on Unix.

        Unskip the following tests on Qt:

        plugins/mouse-events.html
        plugins/keyboard-events.html
        plugins/mouse-events-fixedpos.html

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setFocus):
        (WebCore::setXKeyEventSpecificFields):

2010-08-30  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Darin Fisher.

        Add DOMFileSystem implementation to support Entry manipulation operations
        https://bugs.webkit.org/show_bug.cgi?id=44732

        No new tests; tests will be added later.

        * storage/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::root):
        (WebCore::checkValidityForForCopyOrMove): Added.
        (WebCore::DOMFileSystem::getMetadata): Added.
        (WebCore::DOMFileSystem::move): Added.
        (WebCore::DOMFileSystem::copy): Added.
        (WebCore::DOMFileSystem::remove): Added.
        (WebCore::DOMFileSystem::getParent): Added.
        (WebCore::DOMFileSystem::getFile): Added.
        (WebCore::DOMFileSystem::getDirectory): Added.
        (WebCore::DOMFileSystem::readDirectory): Added.
        * storage/DirectoryEntry.cpp:
        (WebCore::DirectoryEntry::getFile): Added implementation.
        (WebCore::DirectoryEntry::getDirectory): Added implementation.
        * storage/DirectoryReader.cpp:
        (WebCore::DirectoryReader::DirectoryReader): Added implementation.
        (WebCore::DirectoryReader::readEntries): Added implementation.
        * storage/DirectoryReader.h:
        * storage/Entry.cpp:
        (WebCore::Entry::getMetadata): Added implementation.
        (WebCore::Entry::moveTo): Added implementation.
        (WebCore::Entry::copyTo): Added implementation.
        (WebCore::Entry::remove): Added implementation.
        (WebCore::Entry::getParent): Added implementation.
        * storage/Entry.h:
        * storage/FileEntry.h:

        Added a helper template to schedule callbacks.
        * storage/DOMFileSystem.h:
        (WebCore::DOMFileSystem::DispatchCallbackTask): Added to schedule callbacks.
        (WebCore::DOMFileSystem::scheduleCallback): Added to schedule callbacks.

        Changed to fire callbacks asynchronously.
        * storage/LocalFileSystem.cpp:
        (WebCore::LocalFileSystem::requestFileSystem):

2010-08-30  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Fixed compilation error, now that we have included the
        GtkVersioning.h we have to remove some version dependent code from
        EventSender.

        * platform/gtk/GtkVersioning.c:
        (gdk_window_get_root_coords):
        * platform/gtk/GtkVersioning.h:

2010-08-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=44804 Crashes in 
        RenderMathMLRoot::layout() and RenderMathMLRoot::paint()
        -and corresponding-
        <rdar://problem/8342055>

        All of the calls to firstChild() and lastChild() in 
        RenderMathMLRoot::layout() and RenderMathMLRoot::paint() need to be 
        null checked.

        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        (WebCore::RenderMathMLRoot::layout):

2010-08-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=44801 Crash in 
        RenderMathMLSubSup::layout()
        -and corresponding-
        <rdar://problem/8325203>

        Null-check m_scripts. It is null-checked everywhere else in the 
        class and can legitimately be null.

        * mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::layout):

2010-08-30  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
        are deprecated
        https://bugs.webkit.org/show_bug.cgi?id=44787

        We have replaced GtkVersioning.cpp with GtkVersioning.c and
        created a function (getDefaultGDKPointerDevice) to get the pointer
        of the window with the new APIs. We added that function to DRT and
        copyandpaste unit test.

        * GNUmakefile.am:
        * platform/gtk/GtkVersioning.c: Added.
        (gtk_adjustment_set_value):
        (gtk_adjustment_configure):
        (getDefaultGDKPointerDevice):
        * platform/gtk/GtkVersioning.cpp: Removed.
        * platform/gtk/GtkVersioning.h:

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

        Reviewed by Sam Weinig.

        Make SVG constructors private to make sure callers all use create
        https://bugs.webkit.org/show_bug.cgi?id=44872

        Made as many members private and protected as possible, and got rid of many
        unneeded empty constructor and destructor definitions, in some cases changing
        a class to be non-polymorphic. Made some functions inline. Used the word document
        instead of the abbreviation doc. Removed unneeded explicit base class
        initialization in cases where it is no different from the default behavior.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::SVGAElement):
        (WebCore::SVGAElement::childShouldCreateRenderer):
        * svg/SVGAElement.h:
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAngle.cpp:
        * svg/SVGAngle.h:
        * svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
        * svg/SVGAnimateColorElement.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGAnimatedPathData.cpp:
        * svg/SVGAnimatedPathData.h:
        * svg/SVGAnimatedPoints.cpp:
        * svg/SVGAnimatedPoints.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::SVGAnimationElement):
        * svg/SVGAnimationElement.h:
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        * svg/SVGClipPathElement.h:
        * svg/SVGColor.cpp:
        * svg/SVGColor.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        * svg/SVGCursorElement.h:
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::SVGDefsElement):
        * svg/SVGDefsElement.h:
        * svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::SVGDescElement):
        * svg/SVGDescElement.h:
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h:
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):
        * svg/SVGDocumentExtensions.h:
        * svg/SVGElement.h:
        * svg/SVGElementInstanceList.h:
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        * svg/SVGEllipseElement.h:
        * svg/SVGExternalResourcesRequired.cpp:
        * svg/SVGExternalResourcesRequired.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
        * svg/SVGFEDistantLightElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEFuncAElement.cpp:
        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
        * svg/SVGFEFuncAElement.h:
        * svg/SVGFEFuncBElement.cpp:
        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
        * svg/SVGFEFuncBElement.h:
        * svg/SVGFEFuncGElement.cpp:
        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
        * svg/SVGFEFuncGElement.h:
        * svg/SVGFEFuncRElement.cpp:
        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
        * svg/SVGFEFuncRElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::SVGFELightElement):
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
        (WebCore::SVGFEPointLightElement::lightSource):
        * svg/SVGFEPointLightElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
        * svg/SVGFESpotLightElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFitToViewBox.cpp:
        * svg/SVGFitToViewBox.h:
        * svg/SVGFontData.cpp:
        * svg/SVGFontData.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::SVGFontElement):
        * svg/SVGFontElement.h:
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        * svg/SVGFontFaceElement.h:
        * svg/SVGFontFaceFormatElement.cpp:
        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
        * svg/SVGFontFaceFormatElement.h:
        * svg/SVGFontFaceNameElement.cpp:
        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
        * svg/SVGFontFaceNameElement.h:
        * svg/SVGFontFaceSrcElement.cpp:
        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
        * svg/SVGFontFaceSrcElement.h:
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::SVGGElement):
        * svg/SVGGElement.h:
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::SVGGlyphElement):
        * svg/SVGGlyphElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        * svg/SVGGradientElement.h:
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::SVGHKernElement):
        * svg/SVGHKernElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        * svg/SVGImageElement.h:
        * svg/SVGImageLoader.cpp:
        * svg/SVGImageLoader.h:
        * svg/SVGLangSpace.cpp:
        * svg/SVGLangSpace.h:
        * svg/SVGLengthList.cpp:
        * svg/SVGLengthList.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGLocatable.cpp:
        * svg/SVGLocatable.h:
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::SVGMPathElement):
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        * svg/SVGMaskElement.h:
        * svg/SVGMetadataElement.cpp:
        (WebCore::SVGMetadataElement::SVGMetadataElement):
        * svg/SVGMetadataElement.h:
        * svg/SVGMissingGlyphElement.cpp:
        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
        * svg/SVGMissingGlyphElement.h:
        * svg/SVGNumberList.cpp:
        * svg/SVGNumberList.h:
        * svg/SVGPaint.cpp:
        * svg/SVGPaint.h:
        * svg/SVGParserUtilities.cpp:
        (WebCore::genericParseNumber):
        (WebCore::parseNumber):
        * svg/SVGPathBlender.cpp:
        * svg/SVGPathBlender.h:
        * svg/SVGPathBuilder.h:
        * svg/SVGPathByteStreamBuilder.h:
        * svg/SVGPathByteStreamSource.cpp:
        * svg/SVGPathByteStreamSource.h:
        * svg/SVGPathConsumer.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        * svg/SVGPathElement.h:
        * svg/SVGPathParser.cpp:
        * svg/SVGPathParser.h:
        * svg/SVGPathSeg.cpp:
        * svg/SVGPathSeg.h:
        * svg/SVGPathSegArc.h:
        * svg/SVGPathSegClosePath.cpp:
        * svg/SVGPathSegClosePath.h:
        * svg/SVGPathSegCurvetoCubic.h:
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        * svg/SVGPathSegCurvetoQuadratic.h:
        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
        * svg/SVGPathSegLineto.h:
        * svg/SVGPathSegLinetoHorizontal.h:
        * svg/SVGPathSegLinetoVertical.h:
        * svg/SVGPathSegList.cpp:
        * svg/SVGPathSegList.h:
        * svg/SVGPathSegListBuilder.h:
        * svg/SVGPathSegListSource.cpp:
        * svg/SVGPathSegListSource.h:
        * svg/SVGPathSegMoveto.h:
        * svg/SVGPathSource.h:
        * svg/SVGPathStringBuilder.cpp:
        * svg/SVGPathStringBuilder.h:
        * svg/SVGPathStringSource.cpp:
        * svg/SVGPathStringSource.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        * svg/SVGPatternElement.h:
        * svg/SVGPointList.cpp:
        * svg/SVGPointList.h:
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::SVGPolyElement):
        * svg/SVGPolyElement.h:
        * svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::SVGPolygonElement):
        * svg/SVGPolygonElement.h:
        * svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::SVGPolylineElement):
        * svg/SVGPolylineElement.h:
        * svg/SVGPreserveAspectRatio.cpp:
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        * svg/SVGScriptElement.h:
        * svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::SVGSetElement):
        * svg/SVGSetElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement):
        * svg/SVGStopElement.h:
        * svg/SVGStringList.cpp:
        * svg/SVGStringList.h:
        * svg/SVGStylable.cpp:
        * svg/SVGStylable.h:
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::SVGStyleElement):
        * svg/SVGStyleElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::SVGStyledElement):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledLocatableElement.cpp:
        (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
        * svg/SVGStyledLocatableElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::SVGSwitchElement):
        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
        * svg/SVGSwitchElement.h:
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::SVGSymbolElement):
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::SVGTRefElement):
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::SVGTSpanElement):
        * svg/SVGTests.cpp:
        * svg/SVGTests.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::SVGTitleElement):
        * svg/SVGTransform.cpp:
        * svg/SVGTransform.h:
        * svg/SVGTransformable.cpp:
        * svg/SVGTransformable.h:
        * svg/SVGURIReference.cpp:
        * svg/SVGURIReference.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::SVGViewElement):
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::SVGViewSpec):
        * svg/SVGViewSpec.h:
        * svg/SVGZoomAndPan.cpp:
        * svg/SVGZoomAndPan.h:
        * svg/SVGZoomEvent.cpp:
        * svg/SVGZoomEvent.h:

2010-08-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Disable automatic looping
        https://bugs.webkit.org/show_bug.cgi?id=44844

        Test: media/video-does-not-loop.html

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie): Disable QuickTime automatic looping.

        * platform/graphics/win/QTMovie.cpp:
        (QTMoviePrivate::createMovieController): Ditto.

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

        Reviewed by Darin Adler.

        ApplyStyleCommand::applyInlineStyle needs cleanup
        https://bugs.webkit.org/show_bug.cgi?id=44458

        Cleanup:
        1. Isolated code to find the highest ancestor with embedding style, and deployed it in
           ApplyStyleCommand::applyInlineStyle.
        2. Combined the code to remove embedding style up to enclosing block and the code to
           remove unicode-bidi and direction properties between start and end nodes.
        3. Simplified the conditionals to apply embedding styles.

        No new tests are added since this is a cleanup.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::highestEmbeddingAncestor): Added.
        (WebCore::ApplyStyleCommand::applyInlineStyle): See above.

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

        Build fix. Add the new fileapi directory to the IDL vpath.

        * GNUmakefile.am:

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

        Reviewed by Xan Lopez.

        [GTK] WebKit DOM bindings build should not depend on output GNUMakefile
        https://bugs.webkit.org/show_bug.cgi?id=44805

        Move WebKit DOM bindings build rules to bindings/gobject/GNUmakefile.am to
        prevent full WebKit API rebuilds when the automake files change.

        No new tests as this is just a build change.

        * bindings/gobject/GNUmakefile.am: Added.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: event listener properties are rendered as [object Object].
        https://bugs.webkit.org/show_bug.cgi?id=44779

        * inspector/front-end/EventListenersSidebarPane.js:

2010-08-30  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix with Blob Support

        [EFL] Build break with Blob support
        https://bugs.webkit.org/show_bug.cgi?id=44858

        No new features added, so no new tests.

        * CMakeLists.txt:

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

        Unreviewed trivial fix.

        [Qt] Let qmake know about HTML parser headers.

        No new tests needed.

        * WebCore.pro:

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

        Unreviewed build fix.

        [Qt] Fix fileapi header paths to fix warnings after r66365.

        No new tests needed.

        * WebCore.pro:

2010-08-30  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kent Tamura.

        REGRESSION(r66355): Fix warnings in html/DateComponents.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44855

        * html/DateComponents.cpp:
        (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): Suggested parentheses added around && within ||

2010-08-30  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44843

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||

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

        Unreviewed, rolling out r66198.
        http://trac.webkit.org/changeset/66198
        https://bugs.webkit.org/show_bug.cgi?id=44856

        It made tests crash on Qt bot (Requested by Ossy_ on #webkit).

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/inspector.js:
        (WebInspector.inspectedPageDestroyed):

2010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Kent Tamura.

        Split webcore_svg off webcore_remaining. webcore_svg contains all svg
        sources files.
        https://bugs.webkit.org/show_bug.cgi?id=44840

        * WebCore.gyp/WebCore.gyp:

2010-08-13  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        https://bugs.webkit.org/show_bug.cgi?id=43960
        [Chromium] styled scroll bar on the window is painted badly.

        WebKit assumes outermost scrollbar always painted. 
        So force their style to have the  background color if it isn't 
        given by the stylesheet.
        
        Test: scrollbars/custom-scrollbar-with-incomplete-style.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasBackground): Extracted body to RenderStyle for sharing.
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Added the workaround as mentioned above.
        * rendering/RenderScrollbar.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hasBackground): Extracted from RenderObject.

2010-08-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        WebCore::RenderBlock::addChild* NULL ptrs
        https://bugs.webkit.org/show_bug.cgi?id=43722

        Also includes some cleanup of comments and ASSERTs.

        Test: fast/ruby/before-doesnt-crash.html

        * rendering/RenderRuby.cpp:
        (WebCore::RenderRubyAsInline::addChild):

2010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Kent Tamura

        Move most dependencies to webcore_prerequisites
        https://bugs.webkit.org/show_bug.cgi?id=44814

        * WebCore.gyp/WebCore.gyp:

2010-08-30  Adam Barth  <abarth@webkit.org>

        Move AsyncImageResizer back to html to fix Chromium build.

        * WebCore.gypi:

2010-08-30  Adam Barth  <abarth@webkit.org>

        Fix silly typo that breaks the build.

        * WebCore.pro:

2010-08-30  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Qt build.

        * WebCore.pri:

2010-08-30  Adam Barth  <abarth@webkit.org>

        Attempt to fix Chromium build.

        * WebCore.gyp/WebCore.gyp:

2010-08-29  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Maciej Stachowiak.

        Move File and Blob related files from WebCore/html to WebCore/fileapi.

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi: Added.
        * fileapi/AsyncFileWriter.h: Copied from WebCore/html/AsyncFileWriter.h.
        * fileapi/Blob.cpp: Copied from WebCore/html/Blob.cpp.
        * fileapi/Blob.h: Copied from WebCore/html/Blob.h.
        * fileapi/Blob.idl: Copied from WebCore/html/Blob.idl.
        * fileapi/BlobBuilder.cpp: Copied from WebCore/html/BlobBuilder.cpp.
        * fileapi/BlobBuilder.h: Copied from WebCore/html/BlobBuilder.h.
        * fileapi/BlobBuilder.idl: Copied from WebCore/html/BlobBuilder.idl.
        * fileapi/BlobURL.cpp: Copied from WebCore/html/BlobURL.cpp.
        * fileapi/BlobURL.h: Copied from WebCore/html/BlobURL.h.
        * fileapi/File.cpp: Copied from WebCore/html/File.cpp.
        * fileapi/File.h: Copied from WebCore/html/File.h.
        * fileapi/File.idl: Copied from WebCore/html/File.idl.
        * fileapi/FileError.h: Copied from WebCore/html/FileError.h.
        * fileapi/FileError.idl: Copied from WebCore/html/FileError.idl.
        * fileapi/FileList.cpp: Copied from WebCore/html/FileList.cpp.
        * fileapi/FileList.h: Copied from WebCore/html/FileList.h.
        * fileapi/FileList.idl: Copied from WebCore/html/FileList.idl.
        * fileapi/FileReader.cpp: Copied from WebCore/html/FileReader.cpp.
        * fileapi/FileReader.h: Copied from WebCore/html/FileReader.h.
        * fileapi/FileReader.idl: Copied from WebCore/html/FileReader.idl.
        * fileapi/FileStreamProxy.cpp: Copied from WebCore/html/FileStreamProxy.cpp.
        * fileapi/FileStreamProxy.h: Copied from WebCore/html/FileStreamProxy.h.
        * fileapi/FileThread.cpp: Copied from WebCore/html/FileThread.cpp.
        * fileapi/FileThread.h: Copied from WebCore/html/FileThread.h.
        * fileapi/FileThreadTask.h: Copied from WebCore/html/FileThreadTask.h.
        * fileapi/FileWriter.cpp: Copied from WebCore/html/FileWriter.cpp.
        * fileapi/FileWriter.h: Copied from WebCore/html/FileWriter.h.
        * fileapi/FileWriter.idl: Copied from WebCore/html/FileWriter.idl.
        * fileapi/FileWriterClient.h: Copied from WebCore/html/FileWriterClient.h.
        * fileapi/ThreadableBlobRegistry.cpp: Copied from WebCore/html/ThreadableBlobRegistry.cpp.
        * fileapi/ThreadableBlobRegistry.h: Copied from WebCore/html/ThreadableBlobRegistry.h.
        * html/AsyncFileWriter.h: Removed.
        * html/Blob.cpp: Removed.
        * html/Blob.h: Removed.
        * html/Blob.idl: Removed.
        * html/BlobBuilder.cpp: Removed.
        * html/BlobBuilder.h: Removed.
        * html/BlobBuilder.idl: Removed.
        * html/BlobURL.cpp: Removed.
        * html/BlobURL.h: Removed.
        * html/File.cpp: Removed.
        * html/File.h: Removed.
        * html/File.idl: Removed.
        * html/FileError.h: Removed.
        * html/FileError.idl: Removed.
        * html/FileList.cpp: Removed.
        * html/FileList.h: Removed.
        * html/FileList.idl: Removed.
        * html/FileReader.cpp: Removed.
        * html/FileReader.h: Removed.
        * html/FileReader.idl: Removed.
        * html/FileStreamProxy.cpp: Removed.
        * html/FileStreamProxy.h: Removed.
        * html/FileThread.cpp: Removed.
        * html/FileThread.h: Removed.
        * html/FileThreadTask.h: Removed.
        * html/FileWriter.cpp: Removed.
        * html/FileWriter.h: Removed.
        * html/FileWriter.idl: Removed.
        * html/FileWriterClient.h: Removed.
        * html/ThreadableBlobRegistry.cpp: Removed.
        * html/ThreadableBlobRegistry.h: Removed.

2010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Kent Tamura.

        Move more common settings to webcore_prerequisites
        https://bugs.webkit.org/show_bug.cgi?id=44812

        * WebCore.gyp/WebCore.gyp:

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

        Reviewed by Maciej Stachowiak.

        Create SVG and WML elements with create functions instead of direct invocations of new
        https://bugs.webkit.org/show_bug.cgi?id=44851

        Added the create functions, made some existing constructors protected and private,
        made some other member functions protected and and private, added some missing virtual
        keywords for clarity to functions that already were overriding virtual functions,
        fixed some inconsistent indentation, and removed some unneeded empty destructors.

        In the future, it will be good to have the constructors all be private so we don't
        use them by accident. Then we'll change the reference count rule globally and add
        all the necessary calls to adoptRef.

        The SVG changes are compiled and tested. The WML changes are speculative and untested.

        * dom/make_names.pl: Removed supportfor the createWithNew keyword.
        * svg/svgtags.in: Removed all the createWithNew keywords.
        * wml/WMLTagNames.in: Ditto.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::create): Added.
        * svg/SVGAElement.h:
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::create): Added.
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::create): Added.
        * svg/SVGAnimateColorElement.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::create): Added.
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::create): Added.
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::create): Added.
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::create): Added.
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::create): Added.
        * svg/SVGClipPathElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::create): Added.
        * svg/SVGCursorElement.h:
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::create): Added.
        * svg/SVGDefsElement.h:
        * svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::create): Added.
        * svg/SVGDescElement.h:
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::create): Added.
        * svg/SVGEllipseElement.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::create): Added.
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::create): Added.
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::create): Added.
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::create): Added.
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::create): Added.
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::create): Added.
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::create): Added.
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::create): Added.
        * svg/SVGFEDistantLightElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::create): Added.
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEFuncAElement.cpp:
        (WebCore::SVGFEFuncAElement::create): Added.
        * svg/SVGFEFuncAElement.h:
        * svg/SVGFEFuncBElement.cpp:
        (WebCore::SVGFEFuncBElement::create): Added.
        * svg/SVGFEFuncBElement.h:
        * svg/SVGFEFuncGElement.cpp:
        (WebCore::SVGFEFuncGElement::create): Added.
        * svg/SVGFEFuncGElement.h:
        * svg/SVGFEFuncRElement.cpp:
        (WebCore::SVGFEFuncRElement::create): Added.
        * svg/SVGFEFuncRElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::create): Added.
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::create): Added.
        * svg/SVGFEImageElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::create): Added.
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::create): Added.
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::create): Added.
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::create): Added.
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::create): Added.
        * svg/SVGFEPointLightElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::create): Added.
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::create): Added.
        * svg/SVGFESpotLightElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::create): Added.
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::create): Added.
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::create): Added.
        * svg/SVGFilterElement.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::create): Added.
        * svg/SVGFontElement.h:
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::create): Added.
        * svg/SVGFontFaceElement.h:
        * svg/SVGFontFaceFormatElement.cpp:
        (WebCore::SVGFontFaceFormatElement::create): Added.
        * svg/SVGFontFaceFormatElement.h:
        * svg/SVGFontFaceNameElement.cpp:
        (WebCore::SVGFontFaceNameElement::create): Added.
        * svg/SVGFontFaceNameElement.h:
        * svg/SVGFontFaceSrcElement.cpp:
        (WebCore::SVGFontFaceSrcElement::create): Added.
        * svg/SVGFontFaceSrcElement.h:
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::create): Added.
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::create): Added.
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::create): Added.
        * svg/SVGGElement.h:
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::create): Added.
        * svg/SVGGlyphElement.h:
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::create): Added.
        * svg/SVGHKernElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::create): Added.
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::create): Added.
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::create): Added.
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::create): Added.
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::create): Added.
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::create): Added.
        * svg/SVGMaskElement.h:
        * svg/SVGMetadataElement.cpp:
        (SVGMetadataElement::create): Added.
        * svg/SVGMetadataElement.h:
        * svg/SVGMissingGlyphElement.cpp:
        (WebCore::SVGMissingGlyphElement::create): Added.
        * svg/SVGMissingGlyphElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::create): Added.
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::create): Added.
        * svg/SVGPatternElement.h:
        * svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::create): Added.
        * svg/SVGPolygonElement.h:
        * svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::create): Added.
        * svg/SVGPolylineElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::create): Added.
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::create): Added.
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::create): Added.
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::create): Added.
        * svg/SVGScriptElement.h:
        * svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::create): Added.
        * svg/SVGSetElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::create): Added.
        * svg/SVGStopElement.h:
        (WebCore::SVGStyleElement::create): Added.
        * svg/SVGStyleElement.h:
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::create): Added.
        * svg/SVGSwitchElement.h:
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::create): Added.
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::create): Added.
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::create): Added.
        * svg/SVGTSpanElement.h:
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::create): Added.
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::create): Added.
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::create): Added.
        * svg/SVGTitleElement.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::create): Added.
        * svg/SVGUseElement.h:
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::create): Added.
        * svg/SVGVKernElement.h:
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::create): Added.
        * svg/SVGViewElement.h:
        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::create): Added.
        * wml/WMLAElement.h:
        * wml/WMLAccessElement.cpp:
        (WebCore::WMLAccessElement::create): Added.
        * wml/WMLAccessElement.h:
        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::create): Added.
        * wml/WMLAnchorElement.h:
        * wml/WMLBRElement.cpp:
        (WebCore::WMLBRElement::create): Added.
        * wml/WMLBRElement.h:
        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::create): Added.
        * wml/WMLCardElement.h:
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::create): Added.
        * wml/WMLDoElement.h:
        * wml/WMLFieldSetElement.cpp:
        (WebCore::WMLFieldSetElement::create): Added.
        * wml/WMLFieldSetElement.h:
        * wml/WMLFormControlElement.cpp:
        (WebCore::WMLFormControlElement::create): Added.
        * wml/WMLGoElement.cpp:
        (WebCore::WMLGoElement::create): Added.
        * wml/WMLGoElement.h:
        * wml/WMLImageElement.cpp:
        (WebCore::WMLImageElement::create): Added.
        * wml/WMLImageElement.h:
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::create): Added.
        * wml/WMLInputElement.h:
        * wml/WMLInsertedLegendElement.cpp:
        (WebCore::WMLInsertedLegendElement::create): Added.
        * wml/WMLInsertedLegendElement.h:
        * wml/WMLIntrinsicEvent.cpp:
        (WebCore::WMLIntrinsicEvent::create): Added.
        * wml/WMLMetaElement.cpp:
        (WebCore::WMLMetaElement::create): Added.
        * wml/WMLMetaElement.h:
        * wml/WMLNoopElement.cpp:
        (WebCore::WMLNoopElement::create): Added.
        * wml/WMLNoopElement.h:
        * wml/WMLOnEventElement.cpp:
        (WebCore::WMLOnEventElement::create): Added.
        * wml/WMLOnEventElement.h:
        * wml/WMLOptGroupElement.cpp:
        (WebCore::WMLOptGroupElement::create): Added.
        * wml/WMLOptGroupElement.h:
        * wml/WMLOptionElement.cpp:
        (WebCore::WMLOptionElement::create): Added.
        * wml/WMLOptionElement.h:
        * wml/WMLPElement.cpp:
        (WebCore::WMLPElement::create): Added.
        * wml/WMLPElement.h:
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::create): Added.
        * wml/WMLPostfieldElement.h:
        * wml/WMLPrevElement.cpp:
        (WebCore::WMLPrevElement::create): Added.
        * wml/WMLPrevElement.h:
        * wml/WMLRefreshElement.cpp:
        (WebCore::WMLRefreshElement::create): Added.
        * wml/WMLRefreshElement.h:
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::create): Added.
        * wml/WMLSelectElement.h:
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::create): Added.
        * wml/WMLSetvarElement.h:
        * wml/WMLTableElement.cpp:
        (WebCore::WMLTableElement::create): Added.
        * wml/WMLTableElement.h:
        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::create): Added.
        * wml/WMLTaskElement.h:
        * wml/WMLTemplateElement.cpp:
        (WebCore::WMLTemplateElement::create): Added.
        * wml/WMLTemplateElement.h:
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::create): Added.
        * wml/WMLTimerElement.h:

2010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Kent Tamura.

        Rename webcore to 'webcore_remaining'.
        https://bugs.webkit.org/show_bug.cgi?id=44796

        Create a meta-target webcore that inherits from every webcore_XXX targets. (Currently 1)
        Move direct_dependent_settings and export_dependent_settings from webcore_remaining to webcore

        Obviously, there will be other webcore_XXX targets. Keeping the change as small as possible.

        * WebCore.gyp/WebCore.gyp:

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

        Reviewed by Dimitri Glazkov.

        First step in unforking Chrome's FontPlatformDataMac.mm.
        Move files from platform/graphics/mac to platform/graphics/cocoa

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

        Just moving files around so no new tests.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
        * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
        * platform/graphics/mac/FontPlatformData.h: Removed.
        * platform/graphics/mac/FontPlatformDataMac.mm: Removed.

2010-08-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Introduce isValidValue(const String&) of HTMLInputElement and HTMLTextAreaElement
        https://bugs.webkit.org/show_bug.cgi?id=43537

        isValidValue() is useful for browser implementations to propose
        form field values without breaking form validity.
        No new tests because these functions are not exposed to JavaScript.

        * html/HTMLFormControlElement.h:
        (WebCore::HTMLTextFormControlElement::):
         Remove virtual valueMissing(), patternMismatch(), and tooLong().
        * html/HTMLInputElement.cpp:
        (WebCore::isValidColorString): Moved from ValidityState.
        (WebCore::isValidEmailAddress): ditto.
        (WebCore::HTMLInputElement::isValidValue): Added.
        (WebCore::HTMLInputElement::typeMismatch): Add a String parameter.
        (WebCore::HTMLInputElement::valueMissing): Add a String parameter.
        (WebCore::HTMLInputElement::patternMismatch): Add a String parameter.
        (WebCore::HTMLInputElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
        (WebCore::HTMLInputElement::rangeUnderflow): Add a String parameter.
        (WebCore::HTMLInputElement::rangeOverflow): Add a String parameter.
        (WebCore::HTMLInputElement::stepMismatch): Add a String parameter.
        * html/HTMLInputElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
        (WebCore::HTMLTextAreaElement::isValidValue): Added.
        * html/HTMLTextAreaElement.h:
        (WebCore::HTMLTextAreaElement::valueMissing):
        * html/ValidityState.cpp:
        (WebCore::ValidityState::valueMissing): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
        (WebCore::ValidityState::typeMismatch): Passes value() to HTMLInputElement::typeMismatch().
        (WebCore::ValidityState::patternMismatch): Calls patternMismatch() of HTMLInputElement.
        (WebCore::ValidityState::tooLong): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
        (WebCore::ValidityState::rangeUnderflow): Passes value() to HTMLInputElement::rangeUnderflow().
        (WebCore::ValidityState::rangeOverflow): Passes value() to HTMLInputElement::rangeUnderflow().
        (WebCore::ValidityState::stepMismatch): Passes value() to HTMLInputElement::stepMismatch().
        * html/ValidityState.h:

2010-08-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Change lower and higher limits of date/datetime/datetime-local/month/week types
        https://bugs.webkit.org/show_bug.cgi?id=39737

        According to the latest draft of HTML5, ISO-8601 dates in HTML5
        should support A.D.0001 in Gregorian calendar though Gregorian
        calendar started in 1582. So, we change the lower limits of
        date&time types to 0001-01-01T00:00.

        We also introduce the common higher limit, 275760-09-13T00:00. It
        is the higher limit of Date type of ECMAScript.

        * html/DateComponents.cpp:
        (WebCore::DateComponents::parseYear):
         Rejects years less than A.D.1 and years greater than 275760.
        (WebCore::withinHTMLDateLimits):
         Helper functions to check lower and higher limits.
        (WebCore::DateComponents::addDay):
         - Remove an overflow check. 'year' can't be so large number because
           parseYear() rejects such numbers.
         - Add withinHTMLDateLimits() calls.
        (WebCore::DateComponents::addMinute):
         - Add an assertion for the base date.
         - Add withinHTMLDateLimits() calls.
        (WebCore::DateComponents::parseMonth):
         Add withinHTMLDateLimits() call.
        (WebCore::DateComponents::parseDate): ditto.
        (WebCore::DateComponents::parseWeek): ditto.
        (WebCore::DateComponents::parseDateTimeLocal): ditto.
        (WebCore::DateComponents::parseDateTime): ditto.
        (WebCore::DateComponents::setMillisecondsSinceEpochForDate): ditto.
        (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): ditto.
        (WebCore::DateComponents::setMillisecondsSinceEpochForMonth): ditto.
        (WebCore::DateComponents::setMonthsSinceEpoch):
         Add year range check and withinHTMLDateLimits() call.
        (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
         Add year range check and week range check.
        * html/DateComponents.h:
         Update minimum/maximum constant values.
        (WebCore::DateComponents::minimumDate):
        (WebCore::DateComponents::minimumDateTime):
        (WebCore::DateComponents::minimumMonth):
        (WebCore::DateComponents::minimumWeek):
        (WebCore::DateComponents::maximumDate):
        (WebCore::DateComponents::maximumDateTime):
        (WebCore::DateComponents::maximumMonth):
        (WebCore::DateComponents::maximumWeek):

2010-08-29  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port SharedBuffer::createWithContentsOfFile
        https://bugs.webkit.org/show_bug.cgi?id=34412

        Implement SharedBuffer::createWithContentsOfFile with IFile.

        * platform/brew/SharedBufferBrew.cpp: Added.
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-08-29  Enrica Casucci  <enrica@apple.com>

        Reviewed by Adele Peterson.

        Crash when dragging text in Google Docs
        https://bugs.webkit.org/show_bug.cgi?id=20471
        <rdar://problem/7783629>
        
        This fixes the crash but also fixes the generated markup when
        performing a replacement at the border with an inline, to avoid the 
        new content being merged into the inline.
        The crash is happening when doApply detects the need of merging
        the start and the end of the new paragraph and the destination position
        is moved inside an inline.
        
        I've added new test cases to an existing layout test.
        
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): When the situation described above is detected,
        we insert a placeholder to avoid merging into the inline.

2010-08-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Implement HTML5's fakepath
        https://bugs.webkit.org/show_bug.cgi?id=29000

        The HTML 5 spec says to prepend C:\fakepath\ to the value of an
        <input type="file"> control, so that's what we do now.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::value):

2010-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r66329.
        http://trac.webkit.org/changeset/66329
        https://bugs.webkit.org/show_bug.cgi?id=44845

        broke chromium mac (Requested by jamesr on #webkit).

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/mac/FontPlatformData.h: Renamed from WebCore/platform/graphics/cocoa/FontPlatformData.h.
        (WebCore::toCTFontRef):
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::isHashTableDeletedValue):
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::syntheticBold):
        (WebCore::FontPlatformData::syntheticOblique):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        (WebCore::FontPlatformData::font):
        (WebCore::FontPlatformData::isColorBitmapFont):
        (WebCore::FontPlatformData::cgFont):
        (WebCore::FontPlatformData::hashTableDeletedFontValue):
        * platform/graphics/mac/FontPlatformDataMac.mm: Renamed from WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::~FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::setFont):
        (WebCore::FontPlatformData::roundsGlyphAdvances):
        (WebCore::FontPlatformData::allowsLigatures):
        (WebCore::FontPlatformData::ctFont):
        (WebCore::FontPlatformData::description):

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

        Reviewed by Darin Adler.

        Fix RenderStyle::addCursor to use a StyleImage, not a CachedImage
        https://bugs.webkit.org/show_bug.cgi?id=44719
        
        Modernize the CSS cursor code to use a StyleImage, rather
        than a CachedImage in the CursorData, and handle the loading
        of pending images for the cursor property.

        Covered by manual tests in WebCore/manual-tests

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::loadPendingImages):
        * html/canvas/WebGLRenderingContext.cpp:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        * rendering/style/CursorData.h:
        (WebCore::CursorData::CursorData):
        (WebCore::CursorData::image):
        (WebCore::CursorData::setImage):
        * rendering/style/CursorList.h:
        (WebCore::CursorList::operator[]):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::addCursor):
        * rendering/style/RenderStyle.h:

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

        Reviewed by Darin Adler.

        When properties are missing from animation keyframes, interpolate between those keyframes that specify them
        https://bugs.webkit.org/show_bug.cgi?id=40794
        
        When a property does not appear in all keyframes of a keyframe animation, we currently use the
        value of that property from the unanimated style. That forces the author to use additional
        keyframes for properties that need to "skip a keyframe", which is laborious.
        
        With this change, properties are interpolated between the keyframes in which they appear.
        This is equivalent to splitting each property out into its own set of keyframes.

        Tests: animations/missing-keyframe-properties-repeating.html
               animations/missing-keyframe-properties-timing-function.html
               animations/missing-keyframe-properties.html

        * css/CSSStyleSelector.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForKeyframe): Pass a KeyframeValue in so that we can
        collect which properties are represented per keyframe.
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Keyframes are inserted into a
        KeyframeList by object now, rather than by key and style.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::progress): Use AnimationDirectionAlternate for readability.

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): Renamed from getKeyframeAnimationInterval.
        Use fractionalTime etc to match AnimationBase::progress(), and do lookups per-property.
        Simplify the code that finds the relevant keyframe to do less work.
        (WebCore::KeyframeAnimation::animate): Call fetchIntervalEndpointsForProperty() for each property, rather than just once for the
        entire keyframe.
        (WebCore::KeyframeAnimation::getAnimatedStyle): Ditto.
        (WebCore::KeyframeAnimation::hasAnimationForProperty): FIXME comment.

        * page/animation/KeyframeAnimation.h: Rename getKeyframeAnimationInterval() to fetchIntervalEndpointsForProperty().

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation): For hardware animations, only insert values
        for keyframes which contain the property.

        (WebCore::KeyframeList::KeyframeList): insert() takes a KeyframeValue now.
        * rendering/style/KeyframeList.cpp:
        (WebCore::KeyframeList::operator==):
        (WebCore::KeyframeList::insert): Fix insert/replace logic, and ensure we maintain the
        m_properties hash.

        * rendering/style/KeyframeList.h:
        (WebCore::KeyframeValue::KeyframeValue): Make members private, with accessors.
        Add a m_properties HashSet for the properties animated in this keyframe.


2010-08-29  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44843

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||

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

        Try to fix Mac build.

        * WebCore.xcodeproj/project.pbxproj: Mark CounterContent.h Private instead of Project.

2010-08-29  Pawel Hajdan  <phajdan.jr@chromium.org>

        Reviewed by Darin Adler.

        Fix libxml workarounds to work with recent versions of libxml.
        I was testing locally with libxml2-2.7.6.
        https://bugs.webkit.org/show_bug.cgi?id=30508

        Based on patch by Philippe Normand <pnormand@igalia.com>.

        This also fixes a Chromium bug:
        http://code.google.com/p/chromium/issues/detail?id=29333

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::switchToUTF16):
        (WebCore::XMLParserContext::createStringParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::startDocumentHandler):

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

        Try to fix Windows build.

        * rendering/style/ContentData.h: Added include of CounterContent.h.

        * css/CSSStyleSelector.cpp: Removed include of CounterContent.h.
        * rendering/style/ContentData.cpp: Ditto.
        * rendering/style/RenderStyle.cpp: Ditto.

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

        Reviewed by Sam Weinig.

        Deploy OwnPtr, PassOwnPtr, and adoptPtr in some CSS-related files
        https://bugs.webkit.org/show_bug.cgi?id=44834

        * css/CSSFunctionValue.cpp:
        (WebCore::CSSFunctionValue::CSSFunctionValue): Updated since
        CSSParserFunction::args is an OwnPtr.
        (WebCore::CSSFunctionValue::parserValue): Ditto.

        * css/CSSGrammar.y: Added leakPtr calls for putting MediaQueryExp*
        into the media query expression list, which is a vector of raw pointers
        that are deleted explicitly.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet): Updated to use document instead of doc.
        (WebCore::CSSImportRule::insertedIntoParent): Ditto.
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): Ditto.

        * css/CSSNamespace.h: Took the "m_" off the names of the data members of
        this structure. Used OwnPtr for the parent data member. Rewrote the
        namespaceForPrefix function so it's iterative instead of recursive.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser): Update since m_mediaQuery, m_floatingMediaQuery,
        m_floatingMediaQueryExp, and m_floatingMediaQueryExpList are now all OwnPtr and
        thus don't need to be initialized.
        (WebCore::CSSParser::~CSSParser): Update to not delete the above OwnPtr.
        (WebCore::CSSParser::parseMediaQuery): Replaced the code that sets m_mediaQuery
        to 0 with an assertion. Also use release when passing the media query to
        appendMediaQuery.
        (WebCore::CSSParser::document): Updated to use document instead of doc and to
        use early return instead of a nested if.
        (WebCore::CSSParser::parseContent): Added a get() call needed since
        CSSParserFunction::args is an OwnPtr.
        (WebCore::CSSParser::parseAnimationTimingFunction): Ditto.
        (WebCore::CSSParser::parseDashboardRegions): Ditto.
        (WebCore::CSSParser::parseShape): Ditto.
        (WebCore::isValidFormatFunction): Ditto.
        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
        (WebCore::CSSParser::parseColorParameters): Ditto.
        (WebCore::CSSParser::parseHSLParameters): Ditto.
        (WebCore::parseGradientColorStop): Ditto.
        (WebCore::CSSParser::parseGradient): Ditto.
        (WebCore::CSSParser::parseCanvas): Ditto.
        (WebCore::CSSParser::parseTransform): Ditto.
        (WebCore::CSSParser::createFloatingMediaQueryExp): Updated to use adoptPtr and
        remove the explicit deletion.
        (WebCore::CSSParser::sinkFloatingMediaQueryExp): Updated to use release.
        (WebCore::CSSParser::createFloatingMediaQueryExpList): Ditto.
        (WebCore::CSSParser::sinkFloatingMediaQueryExpList): Ditto.
        (WebCore::CSSParser::createFloatingMediaQuery): Ditto.
        (WebCore::CSSParser::sinkFloatingMediaQuery): Ditto.
        (WebCore::CSSParser::checkForVariables): Use get for CSSParserFunction::args.

        * css/CSSParser.h: Made return values for sinkFloatingMediaQueryExp,
        sinkFloatingMediaQueryExpList, and sinkFloatingMediaQuery be PassOwnPtr.
        Made createFloatingMediaQuery take a PassOwnPtr. Made m_mediaQuery,
        m_floatingMediaQuery, m_floatingMediaQueryExp, and m_floatingMediaQueryExpList
        be OwnPtr.

        * css/CSSParserValues.h: Made args be an OwnPtr.

        * css/CSSStyleSelector.cpp: Made CSSRuleSet m_universalRules and m_pageRules
        be OwnPtr.
        (WebCore::CSSStyleSelector::CSSStyleSelector): Use document instead of doc.
        Got rid of the init function, only called here, because it did nothing that
        wasn't already done. Eliminated unneeded code to set m_userStyle to 0, since
        it's now an OwnPtr and will be 0 automatically. Use adoptPtr when initializing
        m_medium, m_authorStyle, and m_useStyle.
        (WebCore::CSSStyleSelector::~CSSStyleSelector): Got rid of unneeded delete of
        m_medium, m_authorStyle, and m_userStyle, and unneded clear of m_keyframesRuleMap.
        (WebCore::CSSStyleSelector::styleForElement): Use get with m_userStyle and
        m_authorStyle.
        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
        (WebCore::CSSStyleSelector::styleForPage): Ditto.
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
        (WebCore::CSSRuleSet::CSSRuleSet): Got rid of unneeded initialization of
        m_universalRules and m_pageRules.
        (WebCore::CSSRuleSet::~CSSRuleSet): Got rid of unneeed deletion of same.
        (WebCore::CSSRuleSet::addRule): Use adoptPtr to initialize m_universalRules.
        (WebCore::CSSRuleSet::addPageRule): Use adoptPtr to initialize m_pageRules.
        (WebCore::CSSStyleSelector::applyProperty): Use adopPtr to create counter
        context object.

        * css/CSSStyleSelector.h: Made m_authorStyle, m_userStyle, and m_medium use
        OwnPtr. Got rid of init function.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet): Updatd for name change from m_doc
        and doc to m_document and document. Eliminated unneeded initialization of
        m_namespaces now that it is an OwnPtr.
        (WebCore::CSSStyleSheet::~CSSStyleSheet): Got rid of unneeded deletion of same.
        (WebCore::CSSStyleSheet::cssRules): Updated doc to document.
        (WebCore::CSSStyleSheet::addNamespace): Added adopPtr when setting m_namespaces.
        (WebCore::CSSStyleSheet::determineNamespace): Updated for changes to the
        CSSNamespace class, using uri data member instead of function.
        (WebCore::CSSStyleSheet::styleSheetChanged): Use document instead of doc.

        * css/CSSStyleSheet.h: Renamed doc and m_doc to document and m_document.
        Made m_namespaces an OwnPtr.

        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList): Clean up logic a bit.
        (WebCore::CSSValueList::createParserValueList): Clean up logic a bit and
        return a PassOwnPtr.

        * css/CSSValueList.h: Changed createParserValueList to return a PassOwnPtr.

        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc): Updated to use
        document instead of doc.

        * css/MediaList.cpp:
        (WebCore::MediaList::deleteMedium): Use OwnPtr instead of a boolean to
        make sure the newly-created query here is deleted.
        (WebCore::MediaList::appendMediaQuery): Updated to take PassOwnPtr.

        * css/MediaList.h: Changed appendMediaQuery to take a PassOwnPtr.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyleSheet): Use document instead of doc.
        (WebCore::InspectorDOMAgent::getRuleRanges): Ditto.
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): Ditto.

        * rendering/style/ContentData.cpp:
        (WebCore::ContentData::clear): Update since data members are OwnPtr.
        Also, fixed iterative deletion algorithm to be much simpler.
        (WebCore::ContentData::dataEquivalent): Added FIXMEs and tweaked formatting.
        (WebCore::ContentData::deleteContent): Tweaked formatting.

        * rendering/style/ContentData.h: Changed m_next to an OwnPtr.
        Added assertions to getters to check that we get the correct type.
        Use leakRef instead of releaseRef. Changed setCounter and setNext functions
        to take PassOwnPtr arguments.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::prepareToSetContent): Refactored common part of the
        into a shared function so the three setContent functions don't have to repeat
        the logic. Used an OwnPtr to avoid confusing logic and leakPtr.
        (WebCore::RenderStyle::setContent): Changed argument to PassOwnPtr.

        * rendering/style/RenderStyle.h: Changed setContent argument to a PassOwnPtr.
        Added declaration of prepareToSetContent helper function.

2010-08-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Port ScrollbarThemeWin to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=44818

        Add a #ifdef around usage of unsupported DFCS_FLAT.

        * platform/win/ScrollbarThemeWin.cpp:
        (WebCore::ScrollbarThemeWin::paintButton):

2010-08-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Port SystemInfo to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=44817

        * platform/win/SystemInfo.cpp:
        (WebCore::isRunningOnVistaOrLater):

2010-08-28  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dimitri Glazkov.

        First step in unforking Chrome's FontPlatformDataMac.mm.
        Move files from platform/graphics/mac to platform/graphics/cocoa

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

        Just moving files around so no new tests.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/cocoa: Added.
        * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
        * platform/graphics/mac/FontPlatformData.h: Removed.
        * platform/graphics/mac/FontPlatformDataMac.mm: Removed.

2010-08-28  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Some IDL attributes don't reflect URL content attributes properly
        https://bugs.webkit.org/show_bug.cgi?id=43650

        * dom/Document.cpp:
        (WebCore::Document::processBaseElement): Added. Implements the rules for base elements
        from the HTML5 specification. Handles multiple base elements in the same document.

        * dom/Document.h: Removed setBaseElementURL and setBaseElementTarget, replacing them
        with processBaseElement.

        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::parseMappedAttribute): Call the new processBaseElement
        function.
        (WebCore::HTMLBaseElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLBaseElement::removedFromDocument): Ditto.
        (WebCore::HTMLBaseElement::isURLAttribute): Added.
        (WebCore::HTMLBaseElement::target): Moved here from the .h file and changed to not
        realy on an m_target local variable.

        * html/HTMLBaseElement.h: Added an override of the isURLAttribute function. Removed
        unneeded process function. Removed declaration of nonexistent setHref and setTarget
        functions. Removed unneeded m_hrefAttrValue, m_href, and m_target. Moved
        implementation of target function into the .cpp file.

        * html/HTMLBaseElement.idl: Marked the href attribute as URL.

        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::isURLAttribute): Added.
        * html/HTMLBlockquoteElement.h: Added isURLAttribute.
        * html/HTMLBlockquoteElement.idl: Marked the cite attribute as URL.

        * html/HTMLEmbedElement.idl: Marked the src attribute as URL.

        * html/HTMLFormElement.cpp: Added a comment about the action function, which should
        be removed.

        * html/HTMLFormElement.idl: Marked the action attribute as URL.

        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::isURLAttribute): Added.
        (WebCore::HTMLHtmlElement::insertedIntoDocument): Tweaked a bit.
        * html/HTMLHtmlElement.h: Added isURLAttribute.
        * html/HTMLHtmlElement.idl: Marked the manifest attribute as URL.

        * html/HTMLIFrameElement.idl: Marked the src attribute a URL.

        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::isURLAttribute): Added.
        * html/HTMLModElement.h: Added isURLAttribute.
        * html/HTMLModElement.idl: Marked the cite attribute as URL.

        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::isURLAttribute): Added.
        * html/HTMLQuoteElement.h: Added isURLAttribute.
        * html/HTMLQuoteElement.idl: Marked the cite attribute as URL.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::processTagToken): Changed code to create a base
        element instead of calling setBaseElementURL directly.
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use AtomicString instead of String.
        (WebCore::HTMLViewSourceDocument::addLine): Ditto.
        (WebCore::HTMLViewSourceDocument::addText): Ditto.
        (WebCore::HTMLViewSourceDocument::addBase): Added. Creates a base element and inserts it.
        (WebCore::HTMLViewSourceDocument::addLink): Use AtomicString instead of String.
 
        * html/HTMLViewSourceDocument.h: Updated function declarations as above.

        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        Updated results, which changed due to the fixes for at
        least these bugs, and perhaps a few more:
        https://bugs.webkit.org/show_bug.cgi?id=42115
        https://bugs.webkit.org/show_bug.cgi?id=44597
        https://bugs.webkit.org/show_bug.cgi?id=44738

        * bindings/scripts/test/TestObj.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFormElement.cpp:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSourceElement.idl:
        * html/HTMLVideoElement.idl:
        Tweaked formatting.

2010-08-28  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        The logic to escape entities in appendEscapedContent and appendAttributeValue should be merged
        https://bugs.webkit.org/show_bug.cgi?id=44831

        Added appendCharactersReplacingEntities to escape &, <, >, ", and nbsp based on the mask.
        Removed escapeContentText because it was only used in appendText, which now directly calls
        appendCharactersReplacingEntities. Replaced appendEscapedContent, ucharRange, and appendUCharRange
        by appendNodeValue.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::):
        (WebCore::appendCharactersReplacingEntities): Added.
        (WebCore::MarkupAccumulator::appendAttributeValue): Calls appendCharactersReplacingEntities.
        (WebCore::MarkupAccumulator::appendNodeValue): Added.
        (WebCore::MarkupAccumulator::appendText): Calls appendNodeValue and appendCharactersReplacingEntities.
        (WebCore::urlToMarkup): Calls escapeEntities.

2010-08-27  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        cannot remove text-decoration when style is added by u or s
        https://bugs.webkit.org/show_bug.cgi?id=44560

        The bug was caused by WebKit not pushing down implicitly added styles to descendent nodes.
        Fixed the bug by pushing down all elements that implicitly add style.

        extractInlineStyleToPushDown now calls removeImplicitlyStyledElement, which was modified to extract
        the style implicitly added by the element to extractStyle.

        This revealed a bug in applyInlineStyleToPushDown where applyInlineStyleIfNeeded could add
        an implicitly styled element inside an element with a conflicting style, thereby overriding the style of the element.
        Fixed this by extending the logic to honor the existing inline style declaration used in
        the case of rewriting inline style declaration to all cases including the one calling addInlineStyleIfNeeded.

        Also fixed a bug in removeInlineStyle where pushDownInlineStyleAroundNode was called on a text node
        outside of selection if start was at the end of the text node.

        Test: editing/style/push-down-implicit-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added extractedStyle, which receives
        the style implicitly added by the element being removed.
        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Calls removeImplicitlyStyledElement
        to remove the implicitly styled element and extract the inline style added by the element.
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Fixed a bug that addInlineStyleIfNeeded
        could override the inline style declaration style of the node.
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Uses extractInlineStyleToPushDown
        (WebCore::ApplyStyleCommand::removeInlineStyle): See above.
        * editing/ApplyStyleCommand.h: Prototype changes.

2010-08-27  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adam Barth.

        <http://webkit.org/b/44802> REGRESSION (r65351): WebCore build fails due to attempting to directly access WebKitTools/Scripts

        Move create-html-entity-table in to WebCore so that the build is again self-contained.
        The script is also updated to take input as a CSV file rather than JSON as the former
        can be parsed without requiring a third-party Python module be installed.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj: Stop copying the input file in to the WebCore framework wrapper.
        * html/parser/HTMLEntityNames.in: Added.
        * html/parser/HTMLEntityNames.json: Removed.
        * html/parser/create-html-entity-table: Renamed from WebKitTools/Scripts/create-html-entity-table.

2010-08-28  Daniel Bates  <dbates@rim.com>

        Attempt to fix Chromium Mac Release bot after changeset 66305 <http://trac.webkit.org/changeset/66305>.

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification): Added case statements for missing enum values.
        These case statements simply fall through to a "break" statement.

2010-08-26  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Nikolas Zimmermann.

        Add explicit destructor for C++ DOM bindings to avoid memory leaks when using SWIG.
        https://bugs.webkit.org/attachment.cgi?bugid=44738

        * bindings/scripts/CodeGeneratorCPP.pm:

2010-08-28  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Add WebM MIME types to type registry
        https://bugs.webkit.org/show_bug.cgi?id=44826

        * platform/MIMETypeRegistry.cpp:
        (WebCore::TypeExtensionPair::): Add "video/webm" and "audio/webm" types.

2010-08-28  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Crash reloading fast/events/tabindex-focus-blur-all.html test
        https://bugs.webkit.org/show_bug.cgi?id=44743

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::asyncEventTimerFired): If m_isWaitingToDecrementLoadEventDelayCount
        is true, call setShouldDelayLoadEvent(false) and set the timer to fire the pending events
        on the next idle.
        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): Don't clear the delay from within a
        media engine callback because document 'load' event handlers that cause the page to become
        inactive will delete the media engine. 
        * html/HTMLMediaElement.h: Add m_isWaitingToDecrementLoadEventDelayCount.

2010-08-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        When properties are missing from animation keyframes, interpolate between those keyframes that specify them
        https://bugs.webkit.org/show_bug.cgi?id=40794

        Some preliminary cleanup; for vectors, prefer indexed access rather than using iterators.
        
        No behavior changes.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
        (WebCore::KeyframeAnimation::validateTransformFunctionList):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation):
        * rendering/style/KeyframeList.h:
        (WebCore::KeyframeList::at):
        (WebCore::KeyframeList::keyframes):

2010-08-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Speculative fix for <rdar://problem/7275077> Crash in InlineBox::root() under RenderTextControl::textWithHardLineBreaks()
        https://bugs.webkit.org/show_bug.cgi?id=44816

        No test because I could not reproduce the crash.

        In a common variant of the crash, InlineBox::root() is called with this == 12. This suggests that
        a RenderInline* was cast into a RenderBox*, so RenderBox::inlineBoxWrapper() interpreted the
        m_lineHeight and m_verticalPosition members of a RenderInline as a pointer to an InlineBox.

        The cast into RenderBox* in textWithHardLineBreaks() was introduced in r40881 with no exaplanation.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::textWithHardLineBreaks): Fetch the first line directly from the inner
        text block instead of relying on the first child being a text node.

2010-08-28  Moritz Lipp  <mlq@pwmt.org>

        Reviewed by Xan Lopez.

        [GTK] Improper webkit_dom_document_evaluate implementation.
        https://bugs.webkit.org/show_bug.cgi?id=42115

        The generated webkit_dom_document_evaluate() function does not meet the
        evaluate interface described in the W3 Documentation
        http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
        "If this is specified as nullor the implementation does not reuse the
        specified result,...". The current implementation did not accept the
        result parameter to be NULL.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-08-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder needs to call HTMLFormElement::setDemoted
        https://bugs.webkit.org/show_bug.cgi?id=44781

        This patch teaches the HTMLTreeBuilder about demoted form elements.
        Demoting a form element magically stops the form element from
        rendering.  Demoted form elements are a concept from the
        LegacyHTMLTreeBuilder, but they are somewhat of a hack because
        rendering should be DOM-based.  We'll likely look for a better solution
        in a future patch.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLFormElement):
        * html/parser/HTMLConstructionSite.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):

2010-08-28  Chris Guillory   <chris.guillory@google.com>

        Reviewed by Chris Fleizach.

        Add AX notification for childrenChanged
        https://bugs.webkit.org/show_bug.cgi?id=44472

        Test by running platform/chromium/accessibility/children-changed-notification.html within chromium's DRT

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::childrenChanged):
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * page/chromium/ChromeClientChromium.h:

2010-08-28  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Darin Fisher.

        Implement the DOM FileWriter class
        https://bugs.webkit.org/show_bug.cgi?id=44362

        No new tests until the delegate class has an implementation; bug logged.

        Build file additions.
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        The AsyncFileWriter is an abstract interface to which FileWriter delegates all the hard work.
        * html/AsyncFileWriter.h: Added.

        The FileWriterClient is the interface for communications back from the AsyncFileWriter [success/failure, progress events].
        * html/FileWriterClient.h: Added.
        (WebCore::FileWriterClient::~FileWriterClient):

        Added all delegation, state tracking, and progress event processing.
        * html/FileWriter.cpp:
        (WebCore::FileWriter::FileWriter):
        (WebCore::FileWriter::initialize):
        (WebCore::FileWriter::~FileWriter):
        ActiveDomObject stuff
        (WebCore::FileWriter::hasPendingActivity):
        (WebCore::FileWriter::stop):
        (WebCore::FileWriter::write):
        FileWriter public interface
        (WebCore::FileWriter::seek):
        (WebCore::FileWriter::truncate):
        (WebCore::FileWriter::abort):
        FileWriterClient interface
        (WebCore::FileWriter::didWrite):
        (WebCore::FileWriter::didTruncate):
        (WebCore::FileWriter::didFail):
        Progress events
        (WebCore::FileWriter::fireEvent):
        * html/FileWriter.h:

2010-08-28  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Dimitri Glazkov.

        Preparatory patch to split libwebcore in multiple libraries.

        Start with a webcore_prerequisites pseudo-target what will be the common
        target for all the other ones.

        * WebCore.gyp/WebCore.gyp:

2010-08-28  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Dan Bernstein.

        Add an ENABLE define for purgeable memory support
        https://bugs.webkit.org/show_bug.cgi?id=44777

        * platform/PurgeableBuffer.h:
        * platform/mac/PurgeableBufferMac.cpp:

2010-08-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Fix error message when theme loading fails
        https://bugs.webkit.org/show_bug.cgi?id=44775

        Parameters for logging were in the wrong order.

        No new functionality so no new tests.

        * platform/efl/ScrollbarEfl.cpp:
        (ScrollbarEfl::setParent): exchange argument order in log function
        call

2010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        REGRESSION: some tests no longer painting
        https://bugs.webkit.org/show_bug.cgi?id=44773

        Fix regression from the RenderImageResource introduction, fast/canvas/canvas-as-image.html
        and fast/canvas/canvas-as-image-incremental-repaint.html pixel tests did not work anymore.

        * rendering/RenderImageResource.h:
        (WebCore::RenderImageResource::hasImage): Make hasImage virtual.
        * rendering/RenderImageResourceStyleImage.h:
        (WebCore::RenderImageResourceStyleImage::hasImage): Always return true, just like RenderImageGeneratedContent did.

2010-08-27  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Cache plugin info to a persistent database

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

        Implement a cache of NPAPI plugin metadata. Write the metadata to aa
        file that gets rewritten if any plugin is added / removed.  Compilation
        of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)

        Currently only enabled for Qt UNIX flavors.

        * WebCore.pro:  Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
        * platform/qt/FileSystemQt.cpp:
        (WebCore::openFile): Added.
        (WebCore::readFromFile): Added.
        * plugins/PluginDatabase.cpp:
        (WebCore::persistentPluginMetadataCachePath): Static accessor for the path
        (WebCore::PluginDatabase::PluginDatabase): Add instance variable.
        (WebCore::PluginDatabase::refresh):
        (WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
        (WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
        (WebCore::PluginDatabase::clear):
        (WebCore::fillBufferWithContentsOfFile): Static helper function.
        (WebCore::readUTF8String): Static helper function.
        (WebCore::readTime): Static helper function.
        (WebCore::PluginDatabase::loadPersistentMetadataCache):
        (WebCore::writeUTF8String): Static helper function.
        (WebCore::writeTime): Static helper function.
        (WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
        (WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
        (WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
        (WebCore::PluginDatabase::persistentMetadataCachePath): Added.
        (WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
        * plugins/PluginDatabase.h:
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::PluginPackage): Add instance variable.
        (WebCore::PluginPackage::createPackageFromCache): Added.
        (WebCore::PluginPackage::ensurePluginLoaded): Added.
        * plugins/PluginPackage.h:
        (WebCore::PluginPackage::fullMIMEDescription): Added.
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::fetchInfo): Split mime parsing.
        (WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.

2010-08-27  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        Implement symbolic CSS3 list-style-types
        https://bugs.webkit.org/show_bug.cgi?id=36734

        Implements all of the symbolic CSS3 list-style-types as per
        section 4.5 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#symbolic>.

        Test: fast/lists/w3-css3-list-styles-symbolic.html

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added list style types Asterisks and Footnotes.
        * css/CSSValueKeywords.in: Ditto.
        * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
        * rendering/RenderListMarker.cpp:
        (WebCore::toAlphabeticOrNumeric): Changed type of parameter sequenceSize from int to unsigned.
        (WebCore::toSymbolic): Added.
        (WebCore::toAlphabetic): Changed type of parameter alphabetSize from int to unsigned.
        (WebCore::toNumeric): Changed type of parameter numeralsSize from int to unsigned.
        (WebCore::effectiveListMarkerType): Added.
        (WebCore::listMarkerSuffix): Added list style types Asterisks and Footnotes.
        (WebCore::listMarkerText): Ditto.
        (WebCore::RenderListMarker::paint): Ditto.
        (WebCore::RenderListMarker::calcPrefWidths): Ditto.
        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
        * rendering/style/RenderStyleConstants.h: Ditto.
        (WebCore::):

2010-08-27  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Darin Fisher.

        CanvasRenderingContext2D::willDraw changed to didDraw

        Solves issue with canvas to canvas draw calls, and simplifies
        mixed software and GPU acceleration of GraphicsContext implementations
        which must track dirty rects for backing stores.

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

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::didDraw):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::stroke):
        (WebCore::CanvasRenderingContext2D::clearRect):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::strokeRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
        (WebCore::CanvasRenderingContext2D::didDraw):
        (WebCore::CanvasRenderingContext2D::putImageData):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged):

2010-08-27  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Add new WebClipboard method for setting generic data in copy/cut handlers.
        https://bugs.webkit.org/show_bug.cgi?id=42121

        No new tests.

        * platform/chromium/ChromiumBridge.h:

2010-08-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Remove unnecessary AlphaBlend in PasteboardWin.
        https://bugs.webkit.org/show_bug.cgi?id=44720

        Replacing AlphaBlend with BitBlt is safe because testing showed that alpha
        never survives copy-and-paste on Windows in any browser, and StretchBlt 
        was a overkill since the source and destination size are always equal.

        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):

2010-08-26  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
        https://bugs.webkit.org/show_bug.cgi?id=38282

        * platform/graphics/skia/GraphicsContext3DSkia.cpp: Dealing with the case of texImage2D with HTMLCanvasElement input.
        (WebCore::GraphicsContext3D::getImageData):

2010-08-26  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Working around compile issue in LayerRendererChromium.cpp
        when DEBUG_GL_CALLS=1
        https://bugs.webkit.org/show_bug.cgi?id=44739

        No new functionality, no new tests.

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

2010-08-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Port SoftLinking to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=44693

        WinCE provides GetProcAddressW and GetProcAddressA for softlinking.
        Unfortunately WinNT provides only GetProcAddress (without A or W).

        Add a platform dependent macro for GetProcAddress.

        * platform/win/SoftLinking.h:

2010-08-27  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] ScrollbarThemeGtk should account for the trough_under_steppers property
        https://bugs.webkit.org/show_bug.cgi?id=44742

        No new tests until this code is activated, at which point pixel tests will
        test the scrollbar rendering.

        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Only inflate the track background
        if the style specifies trough_under_steppers.
        (WebCore::ScrollbarThemeGtk::paint): If the theme specifies trough_under_steppers,
        a dirty stepper also triggers a repaint of the trough region.

2010-08-27  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Extra Events triggered by <input> on focus
        https://bugs.webkit.org/show_bug.cgi?id=44731

        Tests: fast/events/input-focus-no-duplicate-events.html
               fast/events/input-tab-focus-no-duplicate-events.html

        * dom/Element.cpp:
        (WebCore::Element::focus): do not continue and update the appearance of the element if it was not focused.
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode): respect the return value of Document::setFocusedNode.

2010-08-26  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        Web Inspector: attribute nodes don't get rendered in the console
        https://bugs.webkit.org/show_bug.cgi?id=44736

        Extended Test: inspector/console-format.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode): add "name" and "value" properties for Attribute nodes.
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode): add "name" and "value" properties for Attribute nodes.
        * inspector/front-end/ElementsTreeOutline.js: display html for Attribute nodes.

2010-08-27  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Finshing moving the HTML parser into WebCore/html/parser.

        * Android.derived.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CSSPreloadScanner.cpp: Removed.
        * html/CSSPreloadScanner.h: Removed.
        * html/HTMLConstructionSite.cpp: Removed.
        * html/HTMLConstructionSite.h: Removed.
        * html/HTMLDocumentParser.cpp: Removed.
        * html/HTMLDocumentParser.h: Removed.
        * html/HTMLEntityNames.json: Removed.
        * html/HTMLEntityParser.cpp: Removed.
        * html/HTMLEntityParser.h: Removed.
        * html/HTMLEntitySearch.cpp: Removed.
        * html/HTMLEntitySearch.h: Removed.
        * html/HTMLEntityTable.h: Removed.
        * html/HTMLFormattingElementList.cpp: Removed.
        * html/HTMLFormattingElementList.h: Removed.
        * html/HTMLParserScheduler.cpp: Removed.
        * html/HTMLParserScheduler.h: Removed.
        * html/HTMLPreloadScanner.cpp: Removed.
        * html/HTMLPreloadScanner.h: Removed.
        * html/HTMLScriptRunner.cpp: Removed.
        * html/HTMLScriptRunner.h: Removed.
        * html/HTMLScriptRunnerHost.h: Removed.
        * html/HTMLTokenizer.cpp: Removed.
        * html/HTMLTokenizer.h: Removed.
        * html/HTMLViewSourceParser.cpp: Removed.
        * html/HTMLViewSourceParser.h: Removed.
        * html/parser/CSSPreloadScanner.cpp: Copied from WebCore/html/CSSPreloadScanner.cpp.
        * html/parser/CSSPreloadScanner.h: Copied from WebCore/html/CSSPreloadScanner.h.
        * html/parser/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLConstructionSite.cpp.
        * html/parser/HTMLConstructionSite.h: Copied from WebCore/html/HTMLConstructionSite.h.
        * html/parser/HTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
        * html/parser/HTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
        * html/parser/HTMLEntityNames.json: Copied from WebCore/html/HTMLEntityNames.json.
        * html/parser/HTMLEntityParser.cpp: Copied from WebCore/html/HTMLEntityParser.cpp.
        * html/parser/HTMLEntityParser.h: Copied from WebCore/html/HTMLEntityParser.h.
        * html/parser/HTMLEntitySearch.cpp: Copied from WebCore/html/HTMLEntitySearch.cpp.
        * html/parser/HTMLEntitySearch.h: Copied from WebCore/html/HTMLEntitySearch.h.
        * html/parser/HTMLEntityTable.h: Copied from WebCore/html/HTMLEntityTable.h.
        * html/parser/HTMLFormattingElementList.cpp: Copied from WebCore/html/HTMLFormattingElementList.cpp.
        * html/parser/HTMLFormattingElementList.h: Copied from WebCore/html/HTMLFormattingElementList.h.
        * html/parser/HTMLParserScheduler.cpp: Copied from WebCore/html/HTMLParserScheduler.cpp.
        * html/parser/HTMLParserScheduler.h: Copied from WebCore/html/HTMLParserScheduler.h.
        * html/parser/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTMLPreloadScanner.cpp.
        * html/parser/HTMLPreloadScanner.h: Copied from WebCore/html/HTMLPreloadScanner.h.
        * html/parser/HTMLScriptRunner.cpp: Copied from WebCore/html/HTMLScriptRunner.cpp.
        * html/parser/HTMLScriptRunner.h: Copied from WebCore/html/HTMLScriptRunner.h.
        * html/parser/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTMLScriptRunnerHost.h.
        * html/parser/HTMLTokenizer.cpp: Copied from WebCore/html/HTMLTokenizer.cpp.
        * html/parser/HTMLTokenizer.h: Copied from WebCore/html/HTMLTokenizer.h.
        * html/parser/HTMLViewSourceParser.cpp: Copied from WebCore/html/HTMLViewSourceParser.cpp.
        * html/parser/HTMLViewSourceParser.h: Copied from WebCore/html/HTMLViewSourceParser.h.

2010-08-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Tony Chang.

        Insertion point does not show when dragging text into an editable area
        https://bugs.webkit.org/show_bug.cgi?id=44295
        
        r65681 caused the caret to use the last-computed caret rect when
        painting, rather than forcing a style update. Because of this,
        we now need to eagerly update the caret rect when changing
        the drag selection.
        
        Not testable in DRT because the drag selection is always cleared
        before EventSender returns, so the drag caret can never show in
        the pixel results.

        Tested by running editing/selection/drag-in-iframe.html manually.

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

2010-08-27  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Windows build.

        * WebCore.vcproj/WebCoreCommon.vsprops:

2010-08-27  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Qt build.

        * WebCore.pro:

2010-08-27  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move HTMLTreeBuilder and HTMLElementStack to WebCore/html/parser.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementStack.cpp: Removed.
        * html/HTMLElementStack.h: Removed.
        * html/HTMLTreeBuilder.cpp: Removed.
        * html/HTMLTreeBuilder.h: Removed.
        * html/parser/HTMLElementStack.cpp: Copied from WebCore/html/HTMLElementStack.cpp.
        * html/parser/HTMLElementStack.h: Copied from WebCore/html/HTMLElementStack.h.
        * html/parser/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
        * html/parser/HTMLTreeBuilder.h: Copied from WebCore/html/HTMLTreeBuilder.h.

2010-08-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Create WebCore/html/parser
        https://bugs.webkit.org/show_bug.cgi?id=44792

        This patch begins the process of moving the HTML parser code to the
        WebCore/html/parser directory.  This patch moves a single header file.
        More files will follow in future patches.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLToken.h: Renamed from WebCore/html/HTMLToken.h.

2010-08-27  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=42862
        WebGL in CSS Canvas crashes

        This fixes the crash, which was a simple null pointer deref. But this
        revealed that -webkit-canvas no longer works for WebGL. I believe this
        is due to the recent ImageBuffer optimizations done by Dave Hyatt
        (https://bugs.webkit.org/show_bug.cgi?id=43507). This changed ImageBuffer
        from always keeping a copy of the pixels to doing a copy to get them
        when needed. Since We need to get pixels out of the WebGL drawing buffer
        to use them as a CSS background, I had to change when I return those
        pixels to the ImageBuffer.

        Tests: fast/canvas/webgl/css-webkit-canvas-repaint.html
               fast/canvas/webgl/css-webkit-canvas.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::copiedImage): Add logic to get image from WebGL so it works with new ImageBuffer logic (see above)
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create): Fixed null pointer deref

2010-08-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        Move Shader class from platform/graphics/chromium to platform/graphics/gpu
        https://bugs.webkit.org/show_bug.cgi?id=44793

        The Shader class and its subclasses are not chromium-specific.  This moves
        them to a common location so they can be re-used on all platforms.  Also
        moves the Shader subclasses into their own .h/.cpp files.

        Refactor, no new tests.

        * WebCore.gypi:
        * platform/graphics/chromium/GLES2Canvas.cpp:
        * platform/graphics/chromium/Shader.cpp: Removed.
        * platform/graphics/chromium/Shader.h: Removed.
        * platform/graphics/gpu/Shader.cpp: Added.
        (WebCore::Shader::affineTo3x3):
        (WebCore::Shader::loadShader):
        (WebCore::Shader::loadProgram):
        (WebCore::Shader::Shader):
        (WebCore::Shader::~Shader):
        * platform/graphics/gpu/Shader.h: Added.
        * platform/graphics/gpu/SolidFillShader.cpp: Added.
        (WebCore::SolidFillShader::SolidFillShader):
        (WebCore::SolidFillShader::create):
        (WebCore::SolidFillShader::use):
        * platform/graphics/gpu/SolidFillShader.h: Added.
        * platform/graphics/gpu/TexShader.cpp: Added.
        (WebCore::TexShader::TexShader):
        (WebCore::TexShader::create):
        (WebCore::TexShader::use):
        * platform/graphics/gpu/TexShader.h: Added.

2010-08-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Darin Fisher.

        Add AsyncFileSystem interface for platform-dependent FileSystem API implementation
        https://bugs.webkit.org/show_bug.cgi?id=44433

        No new tests; tests will be added later.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/AsyncFileSystem.cpp: Added.
        * platform/AsyncFileSystem.h: Added.
        * platform/AsyncFileSystemCallbacks.h: Added.
        * storage/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::DOMFileSystem):
        (WebCore::DOMFileSystem::~DOMFileSystem):
        (WebCore::DOMFileSystem::stop):
        (WebCore::DOMFileSystem::hasPendingActivity):
        (WebCore::DOMFileSystem::contextDestroyed):
        * storage/DOMFileSystem.h:
        (WebCore::DOMFileSystem::create):
        * storage/FileSystemCallbacks.cpp:
        (WebCore::FileSystemCallbacksBase::didFail):
        (WebCore::FileSystemCallbacks::FileSystemCallbacks):
        (WebCore::FileSystemCallbacks::didOpenFileSystem):
        * storage/FileSystemCallbacks.h:
        * storage/LocalFileSystem.cpp: Added.
        * storage/LocalFileSystem.h: Added.

        * storage/Flags.h: Nits fix.

2010-07-27  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Add JavaScript API to allow a page to go fullscreen.
        rdar://problem/6867795
        https://bugs.webkit.org/show_bug.cgi?id=43099
        
        Mozilla has proposed a new set of JavaScript APIs which allow any element in
        a document to go full-screen.  The current revision of their proposal can be 
        found here:
        <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429>
        
        The proposed specification includes the following:
        
        Document:
        - Three new methods on Document:
            + void requestFullScreen()
            + void requestFullScreenWithKeys()
            + void cancelFullScreen()
        - Three new attributes of Document:
            + readonly attribute boolean fullScreen
            + readonly attribute boolean fullScreenWithKeys
            + (optional) readonly attribute Element currentFullScreenElement
            
        Element:
        - Two new methods on Element:
            + void requestFullScreen()
            + void requestFullScreenWithKeys()
        
        Events:
        - One new event:
            + fullScreenChange
        
        CSS Pseudo-classes:
        - Three new Pseudo-classes:
            + :full-screen
            + :full-screen-doc
            + :full-screen-root-with-target
        
        For WebKit's initial implementation, all the above new APIs will be prefixed with 
        "webkit" or "-webkit" where appropriate.
        
        New tests:
        LayoutTests/fullscreen/full-screen-api.html
        LayoutTests/fullscreen/full-screen-css.html
        LayoutTests/fullscreen/full-screen-request.html

        Project file changes:
        * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry.
        * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp.
        * WebCore.FullScreen.exp: Added export symbols for Document and Element functions.
        * WebCore.xcodeproj/project.pbxproj: New source files added to the project.

        IDL changes:
        * dom/Document.idl: Added the new full-screen API to the Document's javascript interface.
        * dom/Element.idl: Added the new full-screen API to the Element's javascript interface.

        Source changes:
        * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes.
        * css/CSSSelector.cpp: Added new FullScreen pseudo-classes.
        * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum.
        * css/CSSStyleSelector.cpp: 
        (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets.
        (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes.
        * dom/Document.cpp:
        (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event.
        (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent"
        (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode.
        (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode.
        (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document.
        (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op.
        (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op.
        (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document.
        * dom/Document.h: Added const accessors for new full-screen instance variables.
        (WebCore::Document::):
        (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen.
        (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled.
        (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement.
        * dom/Element.cpp:
        (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. 
        * dom/Element.h:
        * dom/EventNames.h: Add a webkitfullscreenchange event name.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate.
        (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
        (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off)
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered).
        * rendering/style/RenderStyleConstants.h: Added new style constants.

2010-08-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Move Texture class from p/g/chromium to p/g/gpu
        https://bugs.webkit.org/show_bug.cgi?id=44783

        This class and its support were developed in platform/graphics/chromium but are not chromium-specific
        in any way.  This patch moves them to a common location so they can be shared by all platforms.

        Pure refactor, so no new tests.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::drawTexturedRectTile):
        (WebCore::GLES2Canvas::createTexture):
        (WebCore::GLES2Canvas::getTexture):
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/chromium/GLES2Texture.cpp: Removed.
        * platform/graphics/chromium/GLES2Texture.h: Removed.
        * platform/graphics/gpu/Texture.cpp: Added.
        (WebCore::Texture::Texture):
        (WebCore::Texture::~Texture):
        (WebCore::convertFormat):
        (WebCore::Texture::create):
        (WebCore::copySubRect):
        (WebCore::Texture::load):
        (WebCore::Texture::bindTile):
        * platform/graphics/gpu/Texture.h: Added.
        (WebCore::Texture::):
        (WebCore::Texture::format):
        (WebCore::Texture::tiles):
        * platform/graphics/gpu/TilingData.cpp: Renamed from WebCore/platform/graphics/chromium/TilingData.cpp.
        (WebCore::computeNumTiles):
        (WebCore::TilingData::TilingData):
        (WebCore::TilingData::tileXIndexFromSrcCoord):
        (WebCore::TilingData::tileYIndexFromSrcCoord):
        (WebCore::TilingData::tileBounds):
        (WebCore::TilingData::tileBoundsWithBorder):
        (WebCore::TilingData::tileBoundsNormalized):
        (WebCore::TilingData::tilePositionX):
        (WebCore::TilingData::tilePositionY):
        (WebCore::TilingData::tileSizeX):
        (WebCore::TilingData::tileSizeY):
        (WebCore::TilingData::overlappedTileIndices):
        (WebCore::TilingData::intersectDrawQuad):
        * platform/graphics/gpu/TilingData.h: Renamed from WebCore/platform/graphics/chromium/TilingData.h.
        (WebCore::TilingData::maxTextureSize):
        (WebCore::TilingData::totalSizeX):
        (WebCore::TilingData::totalSizeY):
        (WebCore::TilingData::numTiles):
        (WebCore::TilingData::numTilesX):
        (WebCore::TilingData::numTilesY):
        (WebCore::TilingData::tileIndex):
        (WebCore::TilingData::tileXIndex):
        (WebCore::TilingData::tileYIndex):
        (WebCore::TilingData::TilingData):
        (WebCore::TilingData::assertTile):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawBitmapGLES2):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        * platform/graphics/skia/PlatformContextSkia.h:

2010-08-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.

        Rename the various modes to match the HTML5 specification:
            ParseMode -> CompatibilityMode
            CompatMode -> QuirksMode
            AlmostStrictMode -> LimitedQuirksMode
            StrictMode -> NoQuirksMode
            
        Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
        instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
        
        Clean up user stylesheets to minimize style recalculation when the mode is switched.
        
        Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
        dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
        Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
        a doctype token.
        
        determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
        precisely.
        
        * WebCore.exp.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::fontSizeForKeyword):
        * dom/ClassNodeList.cpp:
        (WebCore::ClassNodeList::ClassNodeList):
        * dom/DecodedDataDocumentParser.cpp:
        (WebCore::DecodedDataDocumentParser::appendBytes):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setCompatibilityMode):
        (WebCore::Document::setDocType):
        (WebCore::Document::unscheduleStyleRecalc):
        (WebCore::Document::recalcStyle):
        (WebCore::Document::updateStyleIfNeeded):
        (WebCore::Document::createStyleSelector):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::pageUserSheet):
        (WebCore::Document::clearPageUserSheet):
        (WebCore::Document::updatePageUserSheet):
        (WebCore::Document::pageGroupUserSheets):
        (WebCore::Document::clearPageGroupUserSheets):
        (WebCore::Document::updatePageGroupUserSheets):
        (WebCore::Document::findAnchor):
        * dom/Document.h:
        (WebCore::Document::):
        (WebCore::Document::setCompatibilityModeFromDoctype):
        (WebCore::Document::lockCompatibilityMode):
        (WebCore::Document::compatibilityMode):
        (WebCore::Document::inQuirksMode):
        (WebCore::Document::inLimitedQuirksMode):
        (WebCore::Document::inNoQuirksMode):
        * dom/Element.cpp:
        (WebCore::Element::clientWidth):
        (WebCore::Element::clientHeight):
        (WebCore::Element::webkitMatchesSelector):
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setClass):
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):
        * dom/OptionElement.cpp:
        (WebCore::OptionElement::collectOptionLabelOrText):
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::parseMappedAttribute):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::createLinkDecl):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertDoctype):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        (WebCore::HTMLDocument::compatMode):
        (WebCore::HTMLDocument::setCompatibilityModeFromDoctype):
        * html/HTMLDocument.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::defaultForInitial):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        (WebCore::DocumentWriter::reportDataReceived):
        * loader/DocumentWriter.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::ImageDocument):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::MediaDocument):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::PluginDocument):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::SinkDocument):
        * loader/TextDocument.cpp:
        (WebCore::TextDocument::TextDocument):
        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode):
        * page/Settings.h:
        (WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcPrefWidths):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        (WebCore::InlineFlowBox::paintTextDecorations):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelfCollapsingBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::handleBottomOfBlock):
        (WebCore::RenderBlock::calcInlinePrefWidths):
        (WebCore::RenderBlock::calcBlockPrefWidths):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::createInlineBoxForRenderer):
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcPercentageHeight):
        (WebCore::RenderBox::calcAbsoluteHorizontal):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::stretchesToViewHeight):
        * rendering/RenderListItem.cpp:
        (WebCore::getParentOfFirstLineBox):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowHeight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticallyAlignBoxes):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::):
        (WebCore::InheritedFlags::setBitDefaults):

2010-08-27  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 44745 - Number.toFixed/toExponential/toPrecision are inaccurate.

        These methods should be using a version of dtoa that can generate results accurate
        to the requested precision, whereas our version of dtoa is only currently able to
        support producing results sufficiently accurate to distinguish the value from any
        other IEEE-754 double precision number.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::serializeForNumberType):
            doubleToStringInJavaScriptFormat renamed to numberToString.

2010-08-27  Michael Nordman  <michaeln@google.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=44133
        IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
        Adds two new attributes, asBlob and responseBlob.
        Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
        
        No new tests, just adding some stubs.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
        (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
        (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
        (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
        (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
        (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
        (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
        (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
        (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
        (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::asBlob):
        * xml/XMLHttpRequest.idl:

2010-08-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Tony Chang.

        Crash in CSSStyleSelector.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44780
        
        Need to null-check the images when replacing pending images, because a later
        rule may have replaced an image with 'none'.

        Test: fast/css/pending-images-crash.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::loadPendingImages):
        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents): Fix unrelated log message.

2010-08-27  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed. Revert r66218 & r66220 due to GTK test failures.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.categorySortFunction):
        (WebInspector.AuditLauncherView):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
        (WebInspector.AuditLauncherView.prototype._categoryClicked):
        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditCategory.prototype.runRules):
        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI):
        (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
        (injectedExtensionAPI.EventSinkImpl.prototype._fire):
        (injectedExtensionAPI.EventSink):
        (injectedExtensionAPI.InspectorExtensionAPI):
        (injectedExtensionAPI.Panels.prototype.create):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._postNotification):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionStatus):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        ():

2010-08-27  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        Crash in HistoryController::recursiveGoToItem when navigating in a frame
        while another frame has a custom window name
        https://bugs.webkit.org/show_bug.cgi?id=44183
        
        Fix up HistoryController::recursiveGoToItem to better check whether the
        current document frames, the curent history item frames, and the
        destination history frames match up.
        
        Test: fast/history/history-subframe-with-name.html

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::childItemWithDocumentSequenceNumber): Add linear
        lookup of child by document sequence number
        (WebCore::HistoryItem::hasSameDocuments): Remove assumption that the
        other item has the children in the same order (it doesn't seem to be
        true)
        (WebCore::HistoryItem::hasSameFrames): Add recursive comparison of child
        frames.
        * history/HistoryItem.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadItem): Compare full set of documents in 
        history items, not just the topmost ones. Otherwise when going between
        framesets where only one of the subframes changed we wouldn't trigger a
        load.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::recursiveGoToItem): Also check that the
        two history items have the same frames
        (WebCore::HistoryController::currentFramesMatchItem): Refactor 
        childFramesMatchItem to also check the top-most frame, to make 
        recursiveGoToItem easier to read.
        * loader/HistoryController.h:

2010-08-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        [WINCE] Buildfix for graphics code after r65449
        https://bugs.webkit.org/show_bug.cgi?id=44510

        * platform/graphics/wince/GraphicsContextWince.cpp:
        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::clip):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):

2010-08-27  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Simon Hausmann.

        [Qt] Search the Windows registry for the location of the Java plugin DLL.
        https://bugs.webkit.org/show_bug.cgi?id=38911

        This change, in addition to the ones 34539 and 38911, is needed to
        make Java applet work in QtWebKit on the Windows platform.

        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::addJavaPluginDirectory):
        (WebCore::PluginDatabase::defaultPluginDirectories):

2010-08-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: color-code property values in object notation.
        https://bugs.webkit.org/show_bug.cgi?id=44766

        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):

2010-08-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        [WINCE] Buildfix for FontPlatformData after r65021
        https://bugs.webkit.org/show_bug.cgi?id=44467

        * platform/graphics/wince/FontPlatformData.h:

2010-08-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        RenderImage::imageChanged invalidates wrong area
        https://bugs.webkit.org/show_bug.cgi?id=43779

        At the moment RenderSVGImage inherits from RenderImage, which makes non-SVG compatible
        assumptions about repainting, and thus has to be fixed to inherit from RenderSVGModelObject.

        This patch moves the CachedImage from RenderImage into a separate class.
        The new class contains the common behavior of RenderImage and RenderSVGImage.
        An additional patch will remove the inheritance of RenderImage at RenderSVGImage.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::createRenderer):
        (WebCore::HTMLEmbedElement::attach):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::createRenderer):
        (WebCore::HTMLImageElement::attach):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createRenderer):
        (WebCore::HTMLInputElement::attach):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::createRenderer):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::attach):
        (WebCore::HTMLVideoElement::parseMappedAttribute):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::setImage):
        (WebCore::ImageLoader::updateFromElement):
        (WebCore::ImageLoader::renderImageResource):
        (WebCore::ImageLoader::updateRenderer):
        * loader/ImageLoader.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        (WebCore::RenderImage::~RenderImage):
        (WebCore::RenderImage::setImageResource):
        (WebCore::RenderImage::imageChanged):
        (WebCore::RenderImage::notifyFinished):
        (WebCore::RenderImage::paintReplaced):
        (WebCore::RenderImage::paintIntoRect):
        (WebCore::RenderImage::minimumReplacedHeight):
        (WebCore::RenderImage::calcReplacedWidth):
        (WebCore::RenderImage::calcReplacedHeight):
        (WebCore::RenderImage::calcAspectRatioWidth):
        (WebCore::RenderImage::calcAspectRatioHeight):
        * rendering/RenderImage.h:
        (WebCore::RenderImage::imageResource):
        (WebCore::RenderImage::cachedImage):
        (WebCore::RenderImage::intrinsicSizeChanged):
        (WebCore::toRenderImage):
        * rendering/RenderImageGeneratedContent.cpp: Removed.
        * rendering/RenderImageGeneratedContent.h: Removed.
        * rendering/RenderImageResource.cpp: Added.
        (WebCore::RenderImageResource::RenderImageResource):
        (WebCore::RenderImageResource::~RenderImageResource):
        (WebCore::RenderImageResource::initialize):
        (WebCore::RenderImageResource::shutdown):
        (WebCore::RenderImageResource::setCachedImage):
        (WebCore::RenderImageResource::resetAnimation):
        (WebCore::RenderImageResource::setImageContainerSize):
        (WebCore::RenderImageResource::nullImage):
        * rendering/RenderImageResource.h: Added.
        (WebCore::RenderImageResource::create):
        (WebCore::RenderImageResource::cachedImage):
        (WebCore::RenderImageResource::hasImage):
        (WebCore::RenderImageResource::image):
        (WebCore::RenderImageResource::errorOccurred):
        (WebCore::RenderImageResource::usesImageContainerSize):
        (WebCore::RenderImageResource::imageHasRelativeWidth):
        (WebCore::RenderImageResource::imageHasRelativeHeight):
        (WebCore::RenderImageResource::imageSize):
        (WebCore::RenderImageResource::imagePtr):
        * rendering/RenderImageResourceStyleImage.cpp: Added.
        (WebCore::RenderImageResourceStyleImage::RenderImageResourceStyleImage):
        (WebCore::RenderImageResourceStyleImage::~RenderImageResourceStyleImage):
        (WebCore::RenderImageResourceStyleImage::initialize):
        (WebCore::RenderImageResourceStyleImage::shutdown):
        * rendering/RenderImageResourceStyleImage.h: Added.
        (WebCore::RenderImageResourceStyleImage::create):
        (WebCore::RenderImageResourceStyleImage::image):
        (WebCore::RenderImageResourceStyleImage::errorOccurred):
        (WebCore::RenderImageResourceStyleImage::setImageContainerSize):
        (WebCore::RenderImageResourceStyleImage::usesImageContainerSize):
        (WebCore::RenderImageResourceStyleImage::imageHasRelativeWidth):
        (WebCore::RenderImageResourceStyleImage::imageHasRelativeHeight):
        (WebCore::RenderImageResourceStyleImage::imageSize):
        (WebCore::RenderImageResourceStyleImage::imagePtr):
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::RenderSVGImage):
        (WebCore::RenderSVGImage::layout):
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::calculateIntrinsicSize):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::attach):
        * wml/WMLImageElement.cpp:
        (WebCore::WMLImageElement::createRenderer):

2010-08-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Elements panel breaks after calling "Edit as HTML" on <body>
        https://bugs.webkit.org/show_bug.cgi?id=44765

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):

2010-08-25  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add setVersion to IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=44630

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setVersion):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:

2010-08-26  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use context menu items with checkbox for setting and removing DOM breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=44687

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointItem):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMBreakpointManager.prototype.findBreakpoint):
        (WebInspector.DOMBreakpoint.labelForType):
        (WebInspector.DOMBreakpoint.contextMenuLabelForType):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector.pausedScript):

2010-08-27  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Calls to IndexedDB methods from V8Proxy::didLeaveScriptContext() are missing enable guards
        https://bugs.webkit.org/show_bug.cgi?id=44760

        No new tests, build fix only.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::didLeaveScriptContext):

2010-08-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        getPointAtLength returns incorrect values for paths closed with the closepath command
        https://bugs.webkit.org/show_bug.cgi?id=44197
        
        The closepath segment was traversed by the wrong direction. Swap starting point and
        end point for closeSubpath.

        Test: svg/dom/path-pointAtLength.html

        * platform/graphics/PathTraversalState.cpp:
        (WebCore::PathTraversalState::closeSubpath):

2010-08-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Filter with wrong results on repaint for non-CG platforms
        https://bugs.webkit.org/show_bug.cgi?id=44706
        
        The result of SVG Filter is transformed to linearRGB on every repaint. 
        Transform the result just once, right after creating it.

        Test: svg/repaint/filter-repaint.svg

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource):

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

        Reviewed by Pavel Feldman.

        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
        https://bugs.webkit.org/show_bug.cgi?id=44230

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
        that frontend closes if InspectorController triggered the action.
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromBackend):

2010-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r66188.
        http://trac.webkit.org/changeset/66188
        https://bugs.webkit.org/show_bug.cgi?id=44756

        "Graphic libraries handle segement length differently. Fixing
        one platform might break another one. Rolling out this patch
        and think about another solution to get getPointAtLength"
        (Requested by krit on #webkit).

        * platform/graphics/PathTraversalState.cpp:
        (WebCore::PathTraversalState::closeSubpath):

2010-08-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Nikolas Zimmermann.

        r66141 caused fast/forms/select-style.html to fail on mac:
        https://bugs.webkit.org/show_bug.cgi?id=44737

        Handle the fact that a CSSImageValue may have a value of CSSValueNone,
        in which case we should not return a pending image.

        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedOrPendingImage):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::cachedOrPendingFromValue):

2010-08-27  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Dan Bernstein.

        drawGDIGlyphs checks if the offset is empty incorrectly causing
        problems with the shadow
        https://bugs.webkit.org/show_bug.cgi?id=44619

        Removed the offset empty condition, now we just check if we have
        offset or blur.

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):

2010-08-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        getPointAtLength returns incorrect values for paths closed with the closepath command
        https://bugs.webkit.org/show_bug.cgi?id=44197
        
        The closepath segment was traversed by the wrong direction. Swap starting point and
        end point for closeSubpath.

        Test: svg/dom/path-pointAtLength.html

        * platform/graphics/PathTraversalState.cpp:
        (WebCore::PathTraversalState::closeSubpath):

2010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGLocatable.getScreenCTM ignores scrolling
        https://bugs.webkit.org/show_bug.cgi?id=44083

        getScreenCTM needs to include the FrameViews scrollOffset in the e/f parameters of the AffineTransform.
        Adding three new tests, which cover scrolling & getScreenCTM in large svgs with scrollbars, and with (nested) divs in overflow="scroll" mode.

        Tests: svg/custom/getscreenctm-in-scrollable-div-area-nested.xhtml
               svg/custom/getscreenctm-in-scrollable-div-area.xhtml
               svg/custom/getscreenctm-in-scrollable-svg-area.xhtml

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):

2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle, and removeHTMLBidiEmbeddingStyle should be merged
        https://bugs.webkit.org/show_bug.cgi?id=44622

        Merged shouldRemoveTextDecorationTag, implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle,
        and removeHTMLBidiEmbeddingStyle into removeImplicitlyStyledElement.  New function uses CSSPropertyElementMapping to
        support all different cases dealt separately in each function.

        No new tests are added since this is a cleanup.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls removeImplicitlyStyledElement.
        (WebCore::):
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added.
        * editing/ApplyStyleCommand.h:

2010-08-26  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.
        
        Based on a patch by Mihnea Ovidenie <mihnea@adobe.com>.

        Percentage top value on position:relative descendant not resolved
        correctly if containing block height is not specified explicitly.
        https://bugs.webkit.org/show_bug.cgi?id=26396

        If the containing block height is auto and the element is positioned
        relatively, and if the element's top/bottom is percent, then resolve the
        top/bottom as auto.

        Test: fast/css/percent-top-relative-container-height-unspecified.html

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

2010-08-26  James Robinson  <jamesr@chromium.org>

        Another chromium mac build fix. What a dumb version of GCC.

        * platform/graphics/chromium/GLES2Texture.cpp:
        (WebCore::GLES2Texture::create):

2010-08-26  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for Chromium-mac.

        * platform/graphics/chromium/Shader.cpp:
        (WebCore::loadShader):

2010-08-26  James Robinson  <jamesr@chromium.org>

        Fix chromium mac build. Unreviewed.

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

2010-08-26  Mark Rowe  <mrowe@apple.com>

        Darin pointed out that the braces are unnecessary in an Objective-C interface
        declaration when there are no data members.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Begone, evil braces!

2010-08-26  Gavin Barraclough  <barraclough@apple.com>

        Rubber Stamped by Oliver Hunt.

        Partially revert r65959. The toString changes regressed the v8 tests,
        but keep the toFixed/toExponential/toPrecision changes.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::serializeForNumberType):

2010-08-26  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adam Roben.

        Fix two build issues that are revealed when building with clang.

        * platform/mac/PopupMenuMac.h: Forward-declare as an Objective-C class when compiling for Objective-C.
        * platform/network/BlobResourceHandle.h: Forward-declare as a struct to match the real declaration.

2010-08-26  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
        Since the message was being sent to a receiver of type id the compiler cannot accurately
        determine the return type. Typically this would be resolved by using a more specific type
        for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
        unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
        with the correct type of the method we care about (-delegate) and cast to that type instead.

2010-08-26  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        If an <embed> is part of an <object> element's fallback content, WebKit
        should only render the <embed> if the <object> fails to load.
        https://bugs.webkit.org/show_bug.cgi?id=44567
        <rdar://problem/7699852>
        
        Tests: fast/replaced/invalid-object-with-fallback.html
               fast/replaced/object-with-embed-url-param.html

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::rendererIsNeeded): An <embed> now needs a
        renderer if its parent is an <object> but the <object> is using fallback
        content.
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::useFallbackContent): Add a public getter
        for m_useFallbackContent for use in HTMLEmbedElement::rendererIsNeeded.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::updateWidget): Change the logic that
        determines the plug-in parameters to pass to the loader. Do not override
        parameters from <object> with those from a child <embed>.

2010-08-26  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Remove the USE(GLES2_RENDERING) define and associated code
        https://bugs.webkit.org/show_bug.cgi?id=43761

        USE(GLES2_RENDERING) will not be useful since we'll be coding to GraphicsContext3D
        instead of OpenGL and can use ENABLE(ACCELERATED_2D_CANVAS) for canvas 2d specific
        changes.  This deletes the macro and deletes the ChromeClient API to query
        GLES2Contexts since we'll never need one of these outside of the compositor, which
        is created in platform-specific code.

        * loader/EmptyClients.h:
        * page/ChromeClient.h:
        * platform/graphics/chromium/GLES2Canvas.cpp:
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/chromium/GLES2Texture.cpp:
        * platform/graphics/chromium/GLES2Texture.h:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::setGraphicsContext3D):
        (WebCore::GraphicsContext::syncSoftwareCanvas):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawBitmapGLES2):
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImageSingleFrameSkia::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        * platform/graphics/skia/PlatformContextSkia.h:

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

        Build fix for GTK+, after a bad merge.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMozillaGtkWidget):

2010-08-23  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] ScrollbarThemeGtk is incomplete
        https://bugs.webkit.org/show_bug.cgi?id=44471

        Add theme drawing code for GTK+ scrollbars. Turn RenderThemeGtk::paintMozillaWidget
        into a public method so that ScrollbarThemeGtk can access Mozilla theme API properly.

        Tests for this issue will be activated in the form of pixel tests, but
        only after fully-fake scrollbars are activated.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMozillaGtkWidget): Added this public method which takes
        the proper widget state, widget type, graphics context and rectangle and renders a
        widget using the Mozilla theming API.
        (WebCore::RenderThemeGtk::paintRenderObject): Added this method which first calculates
        the widget state before passing the information on to paintMozillaGtkWidget.
        (WebCore::RenderThemeGtk::paintCheckbox): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintRadio): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintButton): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintMenuList): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintTextField): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintSliderTrack): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintSliderThumb): Switch to use paintRenderObject.
        (WebCore::RenderThemeGtk::paintProgressBar): Switch to use paintRenderObject.
        * platform/gtk/RenderThemeGtk.h: Added new method declarations.
        * platform/gtk/ScrollbarThemeGtk.cpp: Added code which can render GTK+ scrollbars.
        (WebCore::ScrollbarThemeGtk::hasThumb): Added.
        (WebCore::ScrollbarThemeGtk::backButtonRect): Added.
        (WebCore::ScrollbarThemeGtk::forwardButtonRect): Added.
        (WebCore::ScrollbarThemeGtk::trackRect): Added.
        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Added.
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Added.
        (WebCore::ScrollbarThemeGtk::paintThumb): Added.
        (WebCore::ScrollbarThemeGtk::thumbRect): Added.
        (WebCore::ScrollbarThemeGtk::paint): Added.
        (WebCore::ScrollbarThemeGtk::paintButton): Added.
        (WebCore::ScrollbarThemeGtk::paintScrollCorner): Added.
        (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb): Added.
        (WebCore::ScrollbarThemeGtk::scrollbarThickness): Always get the metrics from the
        theme drawing API so that it stays up to date with theme changes.
        (WebCore::ScrollbarThemeGtk::buttonSize): Added.
        (WebCore::ScrollbarThemeGtk::minimumThumbLength): Added.
        * platform/gtk/ScrollbarThemeGtk.h:
        (WebCore::ScrollbarThemeGtk::hasButtons): Added.
        (WebCore::ScrollbarThemeGtk::initialAutoscrollTimerDelay): Added.
        (WebCore::ScrollbarThemeGtk::autoscrollTimerDelay): Added.

2010-08-26  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=44726
        <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::closeAndRemoveChild):
        (WebCore::FrameLoader::detachFromParent):
        Added a few FIXME comments. The logic we have to track frames is extremely convoluted.

2010-08-26  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed; build fix.

        Speculative chromium mac fix by including "Color.h".

        * platform/graphics/chromium/Shader.cpp:

2010-08-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        CSS downloads all background images related to element, instead of just final rule
        https://bugs.webkit.org/show_bug.cgi?id=24223
        
        We used to kick off image loads at the point where the style selector
        applies a CSS rule to an element, even if that rule was overridden
        by a rule in a later block of rules. This caused loads of images that
        weren't actually used.
        
        Fix this by delaying image loads until the style has been fully
        resolved. This is achieved by inserting a StylePendingImage into
        the RenderStyle for duration of the style resolution, and keeping
        an entry in a hash for the relevant CSS property.
        
        At the end of style resolution, we iterate through the hash, and
        replace the StylePendingImage with StyleCachedImages, which
        causes the loads to happen only for images that are in the final style.        

        Tests: http/tests/css/border-image-loading.html
               http/tests/css/mask-image-loading.html
               http/tests/css/reflection-mask-image-loading.html

        * GNUmakefile.am: Add StylePendingImage.h
        * WebCore.gypi: Ditto
        * WebCore.vcproj/WebCore.vcproj: Ditto

        * css/CSSImageValue.h: Change m_image to a RefPtr<StyleImage>,
        since it may be a StylePendingImage or StyleCachedImage.
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::~CSSImageValue): Only call removeClient if it's a cachedImage.
        (WebCore::CSSImageValue::cachedOrPendingImage): If we have an image (pending or cached),
        return it. Otherwise make a pending image and return it.
        (WebCore::CSSImageValue::cachedImage): Only return the image if it's a cached image.
        (WebCore::CSSImageValue::cachedImageURL):
        (WebCore::CSSImageValue::clearCachedImage):

        * css/CSSStyleSelector.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve): Clear m_pendingImageProperties.
        (WebCore::CSSStyleSelector::styleForElement): Load pending images.
        (WebCore::CSSStyleSelector::styleForKeyframe): Ditto.
        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
        (WebCore::CSSStyleSelector::styleForPage): Ditto.
        (WebCore::CSSStyleSelector::applyProperty): Pull property into a local variable
        so we can use it in macros.
        (WebCore::CSSStyleSelector::mapFillAttachment): Pass the property down (needed to avoid
        additional macro complexity).
        (WebCore::CSSStyleSelector::mapFillClip): Ditto
        (WebCore::CSSStyleSelector::mapFillComposite): Ditto
        (WebCore::CSSStyleSelector::mapFillOrigin): Ditto
        (WebCore::CSSStyleSelector::styleImage): Call cachedOrPendingFromValue()
        (WebCore::CSSStyleSelector::cachedOrPendingFromValue): Get the cachedOrPendingImage()
        from the CSSValue, and if it's a pending image, record the property.
        (WebCore::CSSStyleSelector::mapFillImage): Pass the property down (needed to avoid
        additional macro complexity).
        (WebCore::CSSStyleSelector::mapFillRepeatX): Ditto
        (WebCore::CSSStyleSelector::mapFillRepeatY): Ditto
        (WebCore::CSSStyleSelector::mapFillSize): Ditto
        (WebCore::CSSStyleSelector::mapFillXPosition): Ditto
        (WebCore::CSSStyleSelector::mapFillYPosition): Ditto
        (WebCore::CSSStyleSelector::mapNinePieceImage): Ditto
        (WebCore::CSSStyleSelector::loadPendingImages): Iterate through the m_pendingImageProperties
        hash, and replace the pending images with cached images.

        * rendering/style/StyleCachedImage.h: Make cssValue() const.
        * rendering/style/StyleCachedImage.cpp:
        (WebCore::StyleCachedImage::cssValue):

        * rendering/style/StyleGeneratedImage.h:  Make cssValue() const.
        * rendering/style/StyleGeneratedImage.cpp:
        (WebCore::StyleGeneratedImage::cssValue):

        * rendering/style/StyleImage.h:
        (WebCore::StyleImage::operator==): Make const.
        (WebCore::StyleImage::isPendingImage):
        * rendering/style/StylePendingImage.h: Added.

2010-08-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Add PassOwnArrayPtr
        https://bugs.webkit.org/show_bug.cgi?id=44627

        Add new forwarding headers.

        * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
        * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.

2010-08-26   Stanislav Brabec  <sbrabec@suse.cz>

        Reviewed by Martin Robinson.

        [GTK] [PATCH] plugin loading invalid symlink evaluation deadlock
        https://bugs.webkit.org/show_bug.cgi?id=44683

        Fix symlink resolution in PluginPackageGtk.

        * plugins/gtk/PluginPackageGtk.cpp:
        (WebCore::PluginPackage::load): g_file_resolve_relative_path must be called with a
        a directory, not a file.

2010-08-26  Andy Estes  <aestes@apple.com>

        Reviewed by Eric Carlson.

        A URL in a <param> should be parsed the same as if it were specified as
        the data attribute of an <object>.
        https://bugs.webkit.org/show_bug.cgi?id=44671

        Test: fast/replaced/object-param-url-control-char.html

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::updateWidget): Call deprecatedParseURL()
        on <param> values of names that we treat as URLs ("src", "movie", "code"
        and "url").

2010-08-26  Stephen White  <senorblanco@chromium.org>

        Unreviewed; build fix.

        Fix for Chromium/Mac.

        * platform/graphics/chromium/Shader.cpp:

2010-08-26  Tony Chang  <tony@chromium.org>

        Reviewed by David Hyatt.

        crash when rendering scrollbar gradient
        https://bugs.webkit.org/show_bug.cgi?id=44549

        Test: scrollbars/scrollbar-gradient-crash.html

        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::getImage): Keep this alive.

2010-08-26  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        [CHROMIUM] Give <canvas> 2D shaders their own class hierarchy.
        https://bugs.webkit.org/show_bug.cgi?id=44682

        Covered by fast/canvas layout tests.

        * WebCore.gypi:
        Add Shader.cpp, Shader.h to chromium build.
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::GLES2Canvas):
        (WebCore::GLES2Canvas::~GLES2Canvas):
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::drawTexturedRectTile):
        Rip out all shader initialization and compilation code.
        Instantiate specialized shaders instead.
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/chromium/Shader.cpp: Added.
        (WebCore::affineTo3x3):
        (WebCore::Shader::Shader):
        (WebCore::Shader::~Shader):
        Implement Shader base class.
        (WebCore::loadShader):
        (WebCore::loadProgram):
        Utility functions refactored from GLES2Canvas.
        (WebCore::SolidFillShader::SolidFillShader):
        (WebCore::TexShader::TexShader):
        (WebCore::SolidFillShader::create):
        (WebCore::SolidFillShader::use):
        (WebCore::TexShader::create):
        (WebCore::TexShader::use):
        * platform/graphics/chromium/Shader.h: Added.

2010-08-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        User scripts injected at start are not run for plugin and media documents
        <https://bugs.webkit.org/show_bug.cgi?id=44711>
        <rdar://problem/8359288>
        
        http://trac.webkit.org/changeset/61271 made scripts injected at start run on ImageDocuments,
        but didn't implement this behavior for MediaDocuments and PluginDocuments.

        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::createDocumentStructure): Make sure we fire dispatchDocumentElementAvailable.
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::createDocumentStructure): Ditto.

2010-08-26  Peter Kasting  <pkasting@google.com>

        Reviewed by Dimitri Glazkov.

        Misc. cleanup split off from bug 32356.
        https://bugs.webkit.org/show_bug.cgi?id=44696

        * WebCore.gyp/WebCore.gyp:
        * dom/Element.cpp:
        (WebCore::localZoomForRenderer):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::scroll):
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::isScrollbar):
        * platform/ScrollbarClient.h:
        (WebCore::ScrollbarClient::~ScrollbarClient):
        * platform/qt/ScrollbarQt.cpp:
        (WebCore::Scrollbar::contextMenu):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scroll):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.h:
        * rendering/RenderTextControlSingleLine.h:

2010-08-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=39647, font face loads do a synchronous recalcStyle(Force)
        on the whole document.  Change these calls to do async recalcStyles instead.

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::fontLoaded):
        (WebCore::CSSFontSelector::fontCacheInvalidated):
        * dom/Document.cpp:
        (WebCore::Document::scheduleForcedStyleRecalc):
        (WebCore::Document::styleSelectorChanged):
        * dom/Document.h:

2010-08-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Fix double free (we were passing const memory to a GOwnPtr) by
        getting rid of unneeded temp variable.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::directoryName):

2010-08-26  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Store heap snapshots in InspectorProfilerAgent.

        Change the way heap snapshots are transported to Inspector
        to be aligned with CPU profiles. As a result, the Heap snapshots
        view of Profiles panel was upstreamed into WebCore.

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

        * English.lproj/localizedStrings.js:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptHeapSnapshot.h: Added.
        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
        (WebCore::ScriptHeapSnapshot::title):
        (WebCore::ScriptHeapSnapshot::uid):
        (WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
        (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptHeapSnapshot.cpp: Added.
        (WebCore::ScriptHeapSnapshot::title):
        (WebCore::ScriptHeapSnapshot::uid):
        (WebCore::buildInspectorObjectFor):
        (WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
        * bindings/v8/ScriptHeapSnapshot.h: Added.
        (WebCore::ScriptHeapSnapshot::create):
        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
        (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
        * bindings/v8/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorBackend.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore::InspectorProfilerAgent::getProfile):
        (WebCore::InspectorProfilerAgent::removeProfile):
        (WebCore::InspectorProfilerAgent::resetState):
        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
        * inspector/InspectorProfilerAgent.h:
        * inspector/front-end/HeapSnapshotView.js: Added.
        (WebInspector.HeapSnapshotView.profileCallback):
        (WebInspector.HeapSnapshotView.resetCompleted):
        (WebInspector.HeapSnapshotView):
        (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
        (WebInspector.HeapSnapshotView.prototype.get profile):
        (WebInspector.HeapSnapshotView.prototype.set profile):
        (WebInspector.HeapSnapshotView.prototype.show):
        (WebInspector.HeapSnapshotView.prototype.hide):
        (WebInspector.HeapSnapshotView.prototype.resize):
        (WebInspector.HeapSnapshotView.prototype.refresh):
        (WebInspector.HeapSnapshotView.prototype.refreshShowAsPercents):
        (WebInspector.HeapSnapshotView.prototype._deleteSearchMatchedFlags):
        (WebInspector.HeapSnapshotView.prototype.searchCanceled):
        (WebInspector.HeapSnapshotView.prototype.performSearch):
        (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult.WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult.jumpToLastSearchResult.WebInspector.CPUProfileView.prototype.jumpToLastSearchResult.jumpToNextSearchResult.WebInspector.CPUProfileView.prototype.jumpToNextSearchResult.jumpToPreviousSearchResult.WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult.showingFirstSearchResult.WebInspector.CPUProfileView.prototype.showingFirstSearchResult.showingLastSearchResult.WebInspector.CPUProfileView.prototype.showingLastSearchResult._jumpToSearchResult.WebInspector.CPUProfileView.prototype._jumpToSearchResult.refreshVisibleData):
        (WebInspector.HeapSnapshotView.prototype._changeBase.resetCompleted):
        (WebInspector.HeapSnapshotView.prototype._changeBase):
        (WebInspector.HeapSnapshotView.prototype._createSnapshotDataGridList):
        (WebInspector.HeapSnapshotView.prototype._getProfiles):
        (WebInspector.HeapSnapshotView.prototype._loadProfile.loadedCallback):
        (WebInspector.HeapSnapshotView.prototype._loadProfile):
        (WebInspector.HeapSnapshotView.prototype._mouseDownInDataGrid):
        (WebInspector.HeapSnapshotView.prototype.get _isShowingAsPercent):
        (WebInspector.HeapSnapshotView.prototype._percentClicked):
        (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
        (WebInspector.HeapSnapshotView.prototype._prepareProfile):
        (WebInspector.HeapSnapshotView.prototype._resetDataGridList.profileLoaded):
        (WebInspector.HeapSnapshotView.prototype._resetDataGridList):
        (WebInspector.HeapSnapshotView.prototype._sortData):
        (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
        (WebInspector.HeapSnapshotView.prototype._updatePercentButton):
        (WebInspector.HeapSnapshotView.prototype._updateSummaryGraph):
        (WebInspector.HeapSnapshotView.SearchHelper.operations.LESS):
        (WebInspector.HeapSnapshotView.SearchHelper.operations.LESS_OR_EQUAL):
        (WebInspector.HeapSnapshotView.SearchHelper.operations.EQUAL):
        (WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER_OR_EQUAL):
        (WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER):
        (WebInspector.HeapSnapshotView.SearchHelper.parseOperationAndNumber):
        (WebInspector.HeapSummaryCalculator):
        (WebInspector.HeapSummaryCalculator.prototype.computeSummaryValues):
        (WebInspector.HeapSummaryCalculator.prototype.formatValue):
        (WebInspector.HeapSummaryCalculator.prototype.get showAsPercent):
        (WebInspector.HeapSummaryCalculator.prototype.set showAsPercent):
        (WebInspector.HeapSummaryCountCalculator):
        (WebInspector.HeapSummaryCountCalculator.prototype._highFromLow):
        (WebInspector.HeapSummaryCountCalculator.prototype._valueToString):
        (WebInspector.HeapSummarySizeCalculator):
        (WebInspector.HeapSummarySizeCalculator.prototype._highFromLow):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _hasRetainers):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _parent):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype._populate):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.produceDiff):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.sort):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.signForDelta):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.showDeltaAsPercent):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalCount):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalSize):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countPercent):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizePercent):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countDeltaPercent):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizeDeltaPercent):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get data):
        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.createCell):
        (WebInspector.HeapSnapshotDataGridNode):
        (WebInspector.HeapSnapshotDataGridList):
        (WebInspector.HeapSnapshotDataGridList.prototype.appendChild):
        (WebInspector.HeapSnapshotDataGridList.prototype.insertChild):
        (WebInspector.HeapSnapshotDataGridList.prototype.removeChildren):
        (WebInspector.HeapSnapshotDataGridList.prototype.populateChildren):
        (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
        (WebInspector.HeapSnapshotDataGridList.propertyComparator):
        (WebInspector.HeapSnapshotDataGridRetainerNode):
        (WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizePercent):
        (WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizeDeltaPercent):
        (WebInspector.HeapSnapshotDataGridRetainerNode.prototype._calculateRetainers):
        (WebInspector.HeapSnapshotProfileType):
        (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
        (WebInspector.HeapSnapshotProfileType.prototype.get buttonStyle):
        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
        (WebInspector.HeapSnapshotProfileType.prototype.get welcomeMessage):
        (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
        (WebInspector.HeapSnapshotProfileType.prototype.createView):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView):
        (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
        (WebInspector.ProfilesPanel.prototype.getProfiles):
        (WebInspector.ProfilesPanel.prototype.updateProfile):
        (WebInspector.ProfileSidebarTreeElement):
        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.heap-snapshot-sidebar-tree-item .icon):
        (.heap-snapshot-sidebar-tree-item.small .icon):
        (.heap-snapshot-view):
        (.heap-snapshot-view.visible):
        (.heap-snapshot-view .data-grid):
        (.heap-snapshot-view .data-grid th.count-column):
        (.heap-snapshot-view .data-grid td.count-column):
        (.heap-snapshot-view .data-grid th.size-column):
        (.heap-snapshot-view .data-grid td.size-column):
        (.heap-snapshot-view .data-grid th.countDelta-column):
        (.heap-snapshot-view .data-grid td.countDelta-column):
        (.heap-snapshot-view .data-grid th.sizeDelta-column):
        (.heap-snapshot-view .data-grid td.sizeDelta-column):
        (#heap-snapshot-summary-container):
        (.heap-snapshot-summary):
        (.heap-snapshot-summary canvas.summary-graph):
        (.heap-snapshot-summary-label):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2010-08-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8302217> recalcStyles called immediately on each change when updating document-level stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=36303

        Parameterize updateStyleSelector to optionally defer the forced style recalc following the rebuilding of the
        sheets used by the CSSStyleSelector.  Rename the method to styleSelectorChanged().  Add the capability to do 
        a forced style recalc to the style recalc timer.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::styleSheetChanged):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::scheduleStyleRecalc):
        (WebCore::Document::updateStyleIfNeeded):
        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
        (WebCore::Document::clearPageUserSheet):
        (WebCore::Document::clearPageGroupUserSheets):
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::setSelectedStylesheetSet):
        (WebCore::Document::removePendingSheet):
        (WebCore::Document::styleSelectorChanged):
        (WebCore::Document::setInPageCache):
        * dom/Document.h:
        (WebCore::):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::removedFromDocument):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::removedFromDocument):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::end):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doEnd):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::determineParseMode):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setDisabledState):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::removedFromDocument):
        * page/Frame.cpp:
        (WebCore::Frame::setPrinting):
        (WebCore::Frame::reapplyStyles):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * page/Page.cpp:
        (WebCore::Page::setViewMode):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):

2010-08-24  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Implementing clipping for composited layers. Two
        types of clipping are added: Scissoring for layers that don't
        contain any rotations and stencil-buffer based clipping for
        all other layers.
        https://bugs.webkit.org/show_bug.cgi?id=44573

        Tests: Compositor layout tests that test clipping such as
        compositing/geometry/{clip.html, clipping-foreground.html} now
        work properly.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::SharedValues::SharedValues):
        (WebCore::LayerChromium::getDrawRect):
        (WebCore::LayerChromium::drawAsMask):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
        (WebCore::LayerRendererChromium::drawLayersRecursive):
        (WebCore::LayerRendererChromium::scissorToRect):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-08-25  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Expose Vector3 and associated operations
        https://bugs.webkit.org/show_bug.cgi?id=44666

        No new tests; ran several 3D CSS demos and did full layout test
        run. New code paths have also been tested by new calling code
        which will be checked in soon.

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::decompose):
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::Vector3::Vector3):
        (WebCore::Vector3::x):
        (WebCore::Vector3::y):
        (WebCore::Vector3::z):
        (WebCore::Vector3::setX):
        (WebCore::Vector3::setY):
        (WebCore::Vector3::setZ):
        (WebCore::Vector3::set):
        (WebCore::Vector3::operator =):
        (WebCore::Vector3::operator +):
        (WebCore::Vector3::operator -):
        (WebCore::Vector3::operator[]):
        (WebCore::Vector3::length):
        (WebCore::Vector3::lengthSquared):
        (WebCore::Vector3::scaleTo):
        (WebCore::Vector3::normalize):
        (WebCore::Vector3::dot):
        (WebCore::Vector3::combine):
        (WebCore::Vector3::cross):

2010-08-26  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: fix CPU profile header entries doubling on Inspector re-opening.

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

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.show):

2010-08-26  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler and Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=44013
        HTMLMediaElement should delay document load event

        Test: media/video-delay-load-event.html

        * dom/Document.cpp:
        (WebCore::Document::Document): Initialize incrementLoadEventDelayCount.
        (WebCore::Document::decrementLoadEventDelayCount): New, decrement incrementLoadEventDelayCount 
        and call loader->checkCompleted() when it reaches zero.
        * dom/Document.h:
        (WebCore::Document::incrementLoadEventDelayCount): New.
        (WebCore::Document::isDelayingLoadEvent): New.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Stop delaying the load event if necessary.
        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Ditto.
        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Delay the load event if we don't the
        meta data for the movie yet.
        (WebCore::HTMLMediaElement::prepareForLoad): Delay the load event.
        (WebCore::HTMLMediaElement::selectMediaResource): Don't delay the load event when there are 
        no more sources to consider. Don't change m_delayingTheLoadEvent directly, call 
        setShouldDelayLoadEvent() instead.
        (WebCore::HTMLMediaElement::waitForSourceChange): Stop delaying the load event.
        (WebCore::HTMLMediaElement::noneSupported): Ditto.
        (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
        (WebCore::HTMLMediaElement::setReadyState): Ditto.
        (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): New, increment/decrement the document's
        load event delay count.
        * html/HTMLMediaElement.h:

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkCompleted): See if the document wants to delay completion for 
        elements that don't go through a FrameLoader.
        (WebCore::FrameLoader::checkCallImplicitClose): Ditto
        * page/Frame.cpp:

2010-08-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Fix the same issue as https://bugs.webkit.org/show_bug.cgi?id=41585
        but this time for the -webkit-font-smoothing property.

        Updated fast/css/text-rendering-priority.html to cover all properties that
        affect the font.

        * css/CSSPropertyNames.in: Moved text-rendering to the â€œhigh priorityâ€ section at the top.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement): Assert that the font is not dirtied by
        applying any of the â€œlow priorityâ€ properties, but still handle the case that the assertion
        is false.
        (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.

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

        Reviewed by Xan Lopez.

        [GTK] The GNUmakefile.am files contain a myriad of confusing preprocessor and compiler flag definitions
        https://bugs.webkit.org/show_bug.cgi?id=44624

        Clean up GNUmakefile.am.

        * GNUmakefile.am: Remove some WebKit includes from webcore_cppflags. These
        includes are added to the build line by the top-level GNUmakefile.am, since
        WebCore isn't build as an intermediate library.

2010-08-26  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Revert r66103 since Qt tests are failing.

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/inspector.js:
        (WebInspector.inspectedPageDestroyed):

2010-08-26  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
        https://bugs.webkit.org/show_bug.cgi?id=44230

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::close):
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
        that frontend closes if InspectorController triggered the action.
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
        * inspector/front-end/inspector.js:
        (WebInspector.disconnectFromBackend):

2010-08-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: It would be better to have an explicit type check for the all
        arguments of InspectorBackend functions on front-end side.
        https://bugs.webkit.org/show_bug.cgi?id=44684

        * inspector/CodeGeneratorInspector.pm:

2010-08-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: It would be better to rename setBool, pushBool and asBool accessors
        to setBoolean, pushBoolean and asBoolean for better matching with the results of
        JS typeof operator.
        https://bugs.webkit.org/show_bug.cgi?id=44680

        * bindings/js/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        * bindings/v8/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::buildObjectForCookie):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorValue::asBoolean):
        (WebCore::InspectorBasicValue::asBoolean):
        (WebCore::InspectorBasicValue::asNumber):
        (WebCore::InspectorBasicValue::writeJSON):
        (WebCore::InspectorObject::getBoolean):
        * inspector/InspectorValues.h:
        (WebCore::InspectorValue::):
        (WebCore::InspectorBasicValue::InspectorBasicValue):
        (WebCore::InspectorObject::setBoolean):
        (WebCore::InspectorArray::pushBoolean):
        * inspector/ScriptBreakpoint.cpp:
        (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createTimerInstallData):
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):

2010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Simon Hausmann.

        [Qt] Set the clipRect correctly in windowed and windowless mode.
        In Windowed mode, the values are in page coordinates. In Windowless
        mode the values are in drawable coordinates. Setting these values is
        purely academic since they are not used by Flash. However, there is a
        possibility that plugins might infer a 'null' clipRect to mean 'invisible'.

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

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2010-08-26  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: enable debugger after resources are pushed to front-end
        https://bugs.webkit.org/show_bug.cgi?id=44673

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::populateScriptObjects):

2010-08-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        text-shadow is not respected in RenderSVGText::repaintRectInLocalCoordinates()
        https://bugs.webkit.org/show_bug.cgi?id=44616

        Centralize code to calculate the shadow extents in ShadowData.
        Respect textShadow() when calculating the repaint rect of RenderSVGText.

        Tests: svg/css/composite-shadow-text.svg
               transitions/svg-text-shadow-transition.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGRoot::computeRectForRepaint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeRectForRepaint):
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
        (WebCore::SVGRenderSupport::finishRenderSVGContent):
        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
        * rendering/style/SVGRenderStyle.cpp:
        * rendering/style/SVGRenderStyle.h:
        * rendering/style/ShadowData.cpp:
        (WebCore::calculateShadowExtent):
        (WebCore::ShadowData::adjustRectForShadow):
        * rendering/style/ShadowData.h:

2010-08-25  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Rework event definition in the DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=44597

        Define DOM events in the base classes that implement EventTarget,
        since theoretically you can dispatch any event to any of those
        classes whether it makes sense semantically or not.

        All the existing events in WebKit are not listed anywhere in the
        IDL files, so we need to have the list in the generator script.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-08-25  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: as far as we have 'seq' property in the each inspector message
        it would be better to remove explicit callId argument from Inspector.idl functions
        declarations.
        https://bugs.webkit.org/show_bug.cgi?id=44617

        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
        (WebInspector.CSSStyleModel.prototype.setCSSText):
        (WebInspector.CSSStyleModel.prototype.applyStyleText):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
        (WebInspector.DOMAgent.prototype.setAttributeAsync):
        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
        (WebInspector.ApplicationCache.getApplicationCachesAsync):
        (WebInspector.Cookies.getCookiesAsync):
        (WebInspector.EventListeners.getEventListenersForNodeAsync):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorage.prototype.getEntries):
        (WebInspector.DOMStorage.prototype.setItem):
        (WebInspector.DOMStorage.prototype.removeItem):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.getTableNames):
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.setDocument):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
        ():
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype.update):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView):
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.getResourceContent):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone):

2010-08-26  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Add ENABLE(INDEXED_DATABASE) guard
        https://bugs.webkit.org/show_bug.cgi?id=44659

        Build fix for ports with index database disabled.

        * storage/IDBKeyPathBackendImpl.cpp:

2010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Ariya Hidayat.

        [Qt] Replace QLibrary("libgdk-x11-2.0.so.0") with QLibrary("libgdk-x11-2.0", 0)
        https://bugs.webkit.org/show_bug.cgi?id=44618

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::getPluginDisplay):

2010-08-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Deploy adoptPtr to WebCore/loader
        https://bugs.webkit.org/show_bug.cgi?id=44591

        This patch covers the easy cases.  There are a handful of tougher cases
        that I'm leaving to a future patch.  I filed one bug about a possible
        memory leak and I emailed webkit-dev about some infrastructure we'll
        need to tackle some of the harder cases.

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::createAllowedCrossOriginResponseHeadersSet):
        (WebCore::isOnAccessControlResponseHeaderWhitelist):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestPreload):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::addAllArchiveResources):
        (WebCore::DocumentLoader::addArchiveResource):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::incrementProgress):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleRedirect):
        (WebCore::RedirectScheduler::scheduleLocationChange):
        (WebCore::RedirectScheduler::scheduleFormSubmission):
        (WebCore::RedirectScheduler::scheduleRefresh):
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
        * loader/icon/IconDatabase.cpp:
        (WebCore::readySQLiteStatement):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::create):

2010-08-26  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Dan Bernstein.

        shadowSize parameter is used to pass shadow offset in the
        GraphicsContext::setShadow and getShadow functions
        https://bugs.webkit.org/show_bug.cgi?id=44603

        Change the shadowSize parameter ot the functions getShadow and
        setShadow in GraphicsContext to shadowOffset which is the current
        use of that parameter in the code.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::getShadow):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):
        * platform/graphics/qt/GraphicsContextQt:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawText):

2010-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r66074.
        http://trac.webkit.org/changeset/66074
        https://bugs.webkit.org/show_bug.cgi?id=44660

        Chromium canary turned red (Requested by yuzo on #webkit).

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::responseText):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseText):
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::didFinishLoading):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequest.idl:

2010-08-25  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8205479> WebCore's icon database often prevents Safari from being killable via sudden termination

        We need to ensure that each call to disableSuddenTermination is balanced by a corresponding call to enableSuddenTermination.
        It's possbile for several calls to IconDatabase::wakeSyncThread to correspond to only a single iteration of the loop within
        IconDatabase::syncThreadMainLoop. This results in the sudden termination disable count growing without bound rather than
        being balanced when the work completes. We can prevent this by ensuring that we only disable sudden termination once for each
        corresponding iteration of the sync thread's main loop.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::wakeSyncThread): Only disable sudden termination if it has not yet been disabled for this iteration of
        the sync thread's main loop.
        (WebCore::IconDatabase::syncThreadMainLoop): Clear the flag indicating that sudden termination has been disabled after reenabling it
        so that future calls to wakeSyncThread disable sudden termination once more.
        * loader/icon/IconDatabase.h:

2010-08-25  Michael Nordman  <michaeln@google.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=44133
        IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
        Adds two new attributes, asBlob and responseBlob.
        Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
        
        No new tests, just adding some stubs.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
        (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
        (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
        (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
        (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
        (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
        (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
        (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
        (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
        (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::asBlob):
        * xml/XMLHttpRequest.idl:

2010-08-24  Victoria Kirst  <vrk@google.com>

        Reviewed by Darin Fisher.

        Adding a means of communication between WebKit/WebCore and
        chromium in order to share video frames. This adds the necessary
        WebKit-side classes and methods, but does not actually use them
        yet - that will be committed in a separate patch after the
        corresponding Chromium side is committed.

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

        No new tests, as these new classes/APIs are not yet used.

        * platform/graphics/chromium/VideoFrameChromium.h: Added.
        (WebCore::VideoFrameChromium::):
        * platform/graphics/chromium/VideoFrameProvider.h: Added.
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::create):
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        * platform/graphics/chromium/VideoLayerChromium.h:

2010-08-25  Kenneth Russell  <kbr@google.com>

        Reviewed by Simon Fraser.

        Source data passed to TypedArray creators should be const
        https://bugs.webkit.org/show_bug.cgi?id=44649

        Compiled and ran existing WebGL tests to verify.

        * html/canvas/Float32Array.cpp:
        (WebCore::Float32Array::create):
        * html/canvas/Float32Array.h:
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::create):

2010-08-25  Eric Seidel  <eric@webkit.org>

        Unreviewed, just removing a dead enum.

        Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
        https://bugs.webkit.org/show_bug.cgi?id=44626

        Remove HTMLTagStatus since it's not used anymore.

        * html/HTMLElement.h:

2010-08-25  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: CSS first letter text transform causes crash
        https://bugs.webkit.org/show_bug.cgi?id=44352

        Test: accessibility/first-letter-text-transform-causes-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::nextContinuation):

2010-08-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
        https://bugs.webkit.org/show_bug.cgi?id=44626

        Serialization is covered by a bunch of tests.  innerHTML behavior is sadly not.
        In either case, this is just moving code and should have no functional change.

        * editing/markup.cpp:
        (WebCore::elementCannotHaveEndTag):
        (WebCore::MarkupAccumulator::shouldSelfClose):
        (WebCore::MarkupAccumulator::appendEndMarkup):
        (WebCore::serializeNodesWithNamespaces):
        * html/HTMLAnchorElement.h:
        * html/HTMLAreaElement.h:
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.h:
        * html/HTMLBaseFontElement.h:
        * html/HTMLBlockquoteElement.h:
        * html/HTMLBodyElement.h:
        * html/HTMLCanvasElement.cpp:
        * html/HTMLCanvasElement.h:
        * html/HTMLDListElement.h:
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridColElement.h:
        * html/HTMLDirectoryElement.h:
        * html/HTMLDivElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::nodeName):
        (WebCore::HTMLElement::ieForbidsInsertHTML):
        (WebCore::HTMLElement::deprecatedCreateContextualFragment):
        (WebCore::HTMLElement::setInnerText):
        (WebCore::HTMLElement::setOuterText):
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.h:
        * html/HTMLFontElement.h:
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.h:
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.h:
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.h:
        * html/HTMLLIElement.h:
        * html/HTMLLinkElement.h:
        * html/HTMLMapElement.h:
        * html/HTMLMarqueeElement.h:
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.h:
        * html/HTMLModElement.h:
        * html/HTMLOListElement.h:
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.h:
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.h:
        * html/HTMLSourceElement.h:
        * html/HTMLStyleElement.h:
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.h:
        * html/HTMLUListElement.h:

2010-08-20  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        WebGL must enforce restrictions even if running on OpenGL ES 2.0
        https://bugs.webkit.org/show_bug.cgi?id=42908

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::getColorBufferFormat): Get format at given level instead of 0.
        * html/canvas/WebGLRenderingContext.cpp: Add two new flags and use them to replace the original isGLES2Compliant().
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::bindTexture):
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::generateMipmap):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isEnabled):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::texParameter):
        (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
        (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
        * html/canvas/WebGLRenderingContext.h: Declare two new flags.
        * html/canvas/WebGLTexture.cpp: Get format at given level instead of 0.
        (WebCore::WebGLTexture::getInternalFormat):
        * html/canvas/WebGLTexture.h: Ditto.
        * platform/graphics/GraphicsContext3D.h: Add three new flags.
        * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
        (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
        (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):

2010-08-25  Brent Fulgham  <bfulgham@webkit.org>

        Build correction, no review.

        * WebCore.vcproj/WebCore.vcproj: Add missing implementation
          for PlatformRefPtrCairo.

2010-08-25  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Adler.

        Added abort condition for RenderCounters when traversing a detached render tree.
        https://bugs.webkit.org/show_bug.cgi?id=43812

        Test: fast/css/counters/counter-traverse-object-crash.html

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):

2010-08-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=44629
        Add layer consistency checking and fix found crashing bug
        
        The crash was being caused by some of the calls which mutated
        the sublayer list leaving the list in an inconsistent state.
        This eventually lead to a crash. It would also lead to visual
        artifacts if the crash didn't occur. Added consistency checking
        to catch this and any other inconsistencies in the sublayer list.
        
        The particular bug in this case was caused by clamping an index
        for insertion to the current size of the sublayer list. CACF uses
        an index equal to the current length to indicate an append operation.
        With tiled layers the apparent size of the list is one less than its
        actual size (to accomodate the layer which holds the list of tiles)
        so this clamping was causing the new layer to get inserted before the
        tile parent. The tile parent was then mistaken for a WKCACFLayer and
        it eventually tried to deref that layer, causing the crash.
        
        I also added some protection when destroying a WKCACFLayer. The user data
        for the corresponding CACFLayer is now changed to 0xDeadBeef rather than 
        null. This allows dangling layers to be more easily identified. This
        value is checked and ASSERTed if seen. I also remove the sublayers
        on destruction to make the consistency checks work properly while
        a layer is being destroyed.

        Test: compositing/tiling/crash-reparent-tiled-layer.html

        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WebTiledLayer.cpp:
        * platform/graphics/win/WebTiledLayer.h:

2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        WebCore::InsertListCommand::modifyRange infinite loop (100% CPU usage)
        https://bugs.webkit.org/show_bug.cgi?id=33668

        The bug was caused by enclosingListChild returning a list child whose enclosing list is
        a sibling of the current list child. Fixed enclosingListChild to traverse upwards
        in the DOM to find the list child which is a sibling of the current list child.
        Also fixed adjacentEnclosingList to only returns the list that belongs to the same outer list.

        In doApplyForSingleParagraph, if the start or the end of currentSelection existed inside a list content
        moved by moveParagraphWithClones, either end could point to a wrong position after the move.
        Fixed this problem by checking this condition upfront and restoring later.

        In doApply, if moveParagraph or moveParagraphWithClones, endOfSelection or startOfLastParagraph
        could be null or orphaned, fixed this problem by indexForVisiblePosition.

        Test: editing/execCommand/insert-list-orphaned-item-with-nested-lists.html

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        (WebCore::enclosingListChild):
        (WebCore::InsertListCommand::doApplyForSingleParagraph):
        (WebCore::adjacentEnclosingList):
        (WebCore::InsertListCommand::listifyParagraph):

2010-08-25  Brent Fulgham  <bfulgham@webkit.org>

        Build corrections, no review.

        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
          Add include for new (missing) "CairoPath.h" class.
        * platform/graphics/cairo/PlatformRefPtrCairo.h: Correct
          include and compilation guards to match coding conventions.
        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
          Change implementation to match CG version, using the
          FontCustomPlatformData name, rather than the original
          FontCustomPlatformDataCairo.
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
          Same as for the .cpp file.

2010-08-25  Krzysztof Czech  <k.czech@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Crash while calling PopupMenuEfl destructor
        https://bugs.webkit.org/show_bug.cgi?id=44497

        Condition checks if m_view is defined
        before popup is hide

        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenuEfl::~PopupMenuEfl):

2010-08-24  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        Creating a link when selecting multiple nodes creates multiple links
        https://bugs.webkit.org/show_bug.cgi?id=30836

        The bug was caused by applyInlineStyleToRange calling addInlineStyleIfNeeded
        on each inline element. Modified applyInlineStyleToRange to call addInlineStyleIfNeeded
        once for all inline elements with the same style difference.

        Because this implies that anchor element may wrap other inline elements when added,
        modified pushDownInlineStyleAroundNode to push down styled elements.

        Removed pushPartiallySelectedAnchorElementsDown from CompositeEditCommand since
        ApplyStyleCommand now correctly pushes down anchors at the start and the end of the selection.

        Test: editing/execCommand/toggle-link.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::operator==): Added.
        (WebCore::StyleChange::operator!=): Added.
        (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Wraps inline elements with
        the same style difference by one element instead of wrapping each element separately.
        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Extracts styled element.
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Avoids adding styled element.
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Pushes down styled element.
        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): No longer checks inline-ness.
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds style even when m_removeOnly.
        Callers should set addStyledElement = DoNotAddStyledElement to avoid adding styled element.
        * editing/ApplyStyleCommand.h:
        * editing/CompositeEditCommand.cpp: Removed pushPartiallySelectedAnchorElementsDown.
        * editing/CompositeEditCommand.h: Removed pushPartiallySelectedAnchorElementsDown.
        * editing/CreateLinkCommand.cpp:
        (WebCore::CreateLinkCommand::doApply): used to call pushPartiallySelectedAnchorElementsDown.
        * editing/UnlinkCommand.cpp:
        (WebCore::UnlinkCommand::doApply): Used to call pushPartiallySelectedAnchorElementsDown.

2010-08-24  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
        https://bugs.webkit.org/show_bug.cgi?id=38282

        Test: fast/canvas/webgl/gl-teximage.html

        * platform/graphics/GraphicsContext3D.cpp: Fix a bug where alpha channel is ignored.
        * platform/graphics/ImageSource.cpp: Add premultiplyAlpha flag.
        (WebCore::ImageSource::ImageSource):
        (WebCore::ImageSource::setData):
        * platform/graphics/ImageSource.h: Ditto.
        * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
        (WebCore::ImageSource::ImageSource):
        * platform/graphics/qt/ImageDecoderQt.cpp: Ditto.
        (WebCore::ImageDecoder::create):
        (WebCore::ImageDecoderQt::ImageDecoderQt):
        (WebCore::ImageDecoderQt::frameCount):
        (WebCore::ImageDecoderQt::forceLoadEverything):
        * platform/graphics/qt/ImageDecoderQt.h: Ditto.
        * platform/graphics/skia/GraphicsContext3DSkia.cpp: Fix the premultiplyAlpha data loss issue in skia.
        (WebCore::GraphicsContext3D::getImageData):
        * platform/image-decoders/ImageDecoder.cpp: Add premultiplyAlpha flag.
        (WebCore::ImageDecoder::create):
        (WebCore::RGBA32Buffer::RGBA32Buffer):
        (WebCore::RGBA32Buffer::operator=):
        * platform/image-decoders/ImageDecoder.h: Ditto.
        (WebCore::RGBA32Buffer::premultiplyAlpha):
        (WebCore::RGBA32Buffer::setPremultiplyAlpha):
        (WebCore::RGBA32Buffer::setRGBA):
        (WebCore::ImageDecoder::ImageDecoder):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp: Ditto.
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        (WebCore::BMPImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/bmp/BMPImageDecoder.h: Ditto.
        * platform/image-decoders/gif/GIFImageDecoder.cpp: Ditto.
        (WebCore::GIFImageDecoder::GIFImageDecoder):
        (WebCore::GIFImageDecoder::frameCount):
        * platform/image-decoders/gif/GIFImageDecoder.h: Ditto.
        * platform/image-decoders/ico/ICOImageDecoder.cpp: Ditto.
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::frameCount):
        (WebCore::ICOImageDecoder::decodeAtIndex):
        * platform/image-decoders/ico/ICOImageDecoder.h: Ditto.
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h: Ditto.
        * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.
        (WebCore::PNGImageDecoder::PNGImageDecoder):
        (WebCore::PNGImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/png/PNGImageDecoder.h: Ditto.
        * platform/image-decoders/skia/ImageDecoderSkia.cpp: Ditto.
        (WebCore::RGBA32Buffer::RGBA32Buffer):
        (WebCore::RGBA32Buffer::operator=):

2010-08-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove XBL
        https://bugs.webkit.org/show_bug.cgi?id=44621

        This patch removes support for XBL.  XBL seems cool, but this code is
        old and pretty bitrotten.  If we decide to support XBL in the future,
        we can recover this code from this revision.  As it stands, it doesn't
        seem worth half-maintaining this code.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        * dom/Document.h:
        * loader/Cache.cpp:
        (WebCore::createResource):
        (WebCore::Cache::getStatistics):
        * loader/Cache.h:
        * loader/CachedResource.h:
        (WebCore::CachedResource::):
        * loader/CachedResourceClient.h:
        (WebCore::CachedResourceClient::setXSLStyleSheet):
        (WebCore::CachedResourceClient::fontLoaded):
        * loader/CachedXBLDocument.cpp: Removed.
        * loader/CachedXBLDocument.h: Removed.
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::canRequest):
        * loader/DocLoader.h:
        * loader/loader.cpp:
        (WebCore::cachedResourceTypeToTargetType):
        (WebCore::Loader::determinePriority):
        * rendering/style/BindingURI.cpp: Removed.
        * rendering/style/BindingURI.h: Removed.
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2010-08-25  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] GraphicsContext: Construct with the correct default LineJoin (MiterJoin)

        We weren't setting it explicitly which caused us to use Qt::MiterJoin when
        we actually want Qt::SvgMiterJoin.

        Fixes display glitches on the "Monster" chrome experiment among other things.

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

2010-08-25  Rafael Antognolli  <antognolli@profusion.mobi>

        Unreviewed build fix.

        [EFL] Build fix for revision 66024
        https://bugs.webkit.org/show_bug.cgi?id=44631

        No new features added, so no new tests.

        * CMakeListsEfl.txt: change GRefPtrCairo.cpp by PlatformRefPtrCairo.cpp.

2010-08-25  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Various designmode=&quot;on&quot;/&quot;off&quot; &amp; execCommand(&quot;Undo&quot;) NULL pointer crashes
        https://bugs.webkit.org/show_bug.cgi?id=32823

        The bug was caused by changeSelectionAfterCommand which updates the selection
        without checking the whether new selection is valid or not.

        Fixed changeSelectionAfterCommand so that it won't update the selection
        when either end of the new selection is orphaned. Also fixed various editing commands
        to exit early if either end of the selection is orphaned.

        Tests: editing/undo/orphaned-selection-crash-bug32823-1.html
               editing/undo/orphaned-selection-crash-bug32823-2.html
               editing/undo/orphaned-selection-crash-bug32823-3.html
               editing/undo/orphaned-selection-crash-bug32823-4.html

        * editing/Editor.cpp:
        (WebCore::Editor::changeSelectionAfterCommand): No longer sets orphaned selection.
        * editing/VisibleSelection.h:
        (WebCore::VisibleSelection::isNonOrphanedRange): Added.
        (WebCore::VisibleSelection::isNonOrphanedCaretOrRange): Added.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply): Added an early exist. See above.
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::doApply): Ditto.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::doApply): Ditto.
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Ditto.
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): Ditto.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Ditto.
        * editing/MoveSelectionCommand.cpp:
        (WebCore::MoveSelectionCommand::doApply): Ditto.
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Ditto.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::doApply): Ditto.
        * editing/UnlinkCommand.cpp:
        (WebCore::UnlinkCommand::doApply): Ditto.

2010-08-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Flash content draws in front of site's drop down menu at http://www.monster.com/
        https://bugs.webkit.org/show_bug.cgi?id=41330
        
        If an iframe with composited content became overlapped, we failed to
        consider that iframe for compositing if it had no RenderLayer, so the layering
        would be incorrect.
        
        Overlap is detected at painting time, but it's bad for FrameView::setIsOverlapped()
        to call setNeedsStyleRecalc(), because this would cause subsequent calls to
        FrameView::paintContents() in the same painting batch to bail with needsLayout().
        
        Instead, we do the setNeedsStyleRecalc() from RenderLayerCompositor::notifyIFramesOfCompositingChange(),
        so that the parent document has a chance to update style, and give the iframe a RenderLayer.
        Then setIsOverlapped() simply needs to schedule a layer update, which we do on a timer.
        
        When dumping layers via Frame::layerTreeAsText(), if a layer update is pending, then
        update the layers.
        
        Test: compositing/iframes/become-overlapped-iframe.html

        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):
        * page/FrameView.cpp:
        (WebCore::FrameView::setIsOverlapped):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::scheduleCompositingLayerUpdate):
        (WebCore::RenderLayerCompositor::compositingLayerUpdatePending):
        (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
        * rendering/RenderLayerCompositor.h:

2010-08-25  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        Cairo and EFL port shouldn't depend on glib.
        https://bugs.webkit.org/show_bug.cgi?id=44354

        No new tests as functionality has not changed.

        Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and
        adoptPlatformRef. Rename GRefPtrCairo to PlatformRefPtrCairo.

        * GNUmakefile.am:
        * platform/Cursor.h:
        * platform/graphics/cairo/GRefPtrCairo.cpp: Removed.
        * platform/graphics/cairo/GRefPtrCairo.h: Removed.
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added.
        (WTF::refPlatformPtr):
        (WTF::derefPlatformPtr):
        * platform/graphics/cairo/PlatformRefPtrCairo.h: Added.
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::declareAndWriteDragImage):
        * platform/gtk/CursorGtk.cpp:
        (WebCore::createNamedCursor):
        (WebCore::createCustomCursor):
        (WebCore::Cursor::ensurePlatformCursor):
        * platform/gtk/DataObjectGtk.h:
        * platform/gtk/GRefPtrGtk.cpp:
        (WTF::refPlatformPtr):
        (WTF::derefPlatformPtr):
        * platform/gtk/GRefPtrGtk.h:
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::dropAtomsForContext):
        * platform/gtk/PopupMenuGtk.h:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::paintMozillaGtkWidget):
        * platform/gtk/RenderThemeGtk.h:

2010-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Alexey Proskuryakov.

        HTMLMediaElement.canPlayType must be case insensitive for MIME type.
        https://bugs.webkit.org/show_bug.cgi?id=44577

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load):
        (WebCore::MediaPlayer::supportsType):

2010-08-25  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] CodeGeneratorGObject not picking up FEATURE_DEFINES
        https://bugs.webkit.org/show_bug.cgi?id=44608

        Move FEATURE_DEFINES declaration to the toplevel GNUmakefile.am,
        since it's used there now too.

        * GNUmakefile.am:

2010-08-25  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Ariya Hidayat.

        Proper workaround for missing Gtk initialization in Adobe's flash plugins.
        https://bugs.webkit.org/show_bug.cgi?id=44405

        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::initializeGtk):
        (WebCore::PluginPackage::load):

2010-08-25  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: InspectorBackendStub.js is not updated when Inspector.idl changes.
        https://bugs.webkit.org/show_bug.cgi?id=44604

        * WebCore.xcodeproj/project.pbxproj:

2010-08-25  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: don't stop on DOM breakpoints when all breakpoints are deactivated
        https://bugs.webkit.org/show_bug.cgi?id=44509

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::setBreakpointsActivated):
        (WebCore::ScriptDebugServer::breakProgram):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::create):

2010-08-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: lazily request frontend settings instead of pushing them on connect
        https://bugs.webkit.org/show_bug.cgi?id=44607

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getSettings):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::populateScriptObjects): this method is now called explicitely from the frontend,
        it should be gone eventually once all panels request initial data lazily.
        * inspector/InspectorController.h:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.show):
        (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
        (WebInspector.ProfilesPanel.prototype._reset):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.initialize.populateApplicationSettings):
        (WebInspector.Settings.initialize.populateSessionSettings):
        (WebInspector.Settings.initialize):
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone):

2010-08-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: support checked and disabled context menu items.
        https://bugs.webkit.org/show_bug.cgi?id=44612

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2010-08-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: support disabled and checked context menu items.
        https://bugs.webkit.org/show_bug.cgi?id=44601

        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextMenu.prototype.appendItem):

2010-08-25  Zaheer Ahmad <zaheer.mot@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] GTK port doesnt compile with video turned off
        https://bugs.webkit.org/show_bug.cgi?id=44236

        Generate the audio GObject DOM bindings only if video enabled
        * WebCore/GNUMakefile.am
        * WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
        Make the audio code invocation conditional


2010-08-24  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add "Attribute Modified" and "Node Removed" DOM breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=44532

        Test: inspector/dom-breakpoint.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):

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

        Reviewed by Jeremy Orlow.

        Pass the element's bounds to embedder during speech recognition.
        https://bugs.webkit.org/show_bug.cgi?id=44427

        The embedder would typically want to show a native UI with information, settings etc.
        By passing the display bounds of the html element, the embedder can position the
        native speech recognition UI appropriately.

        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::detach):

2010-08-25  Yongjun Zhang  <yongjun_zhang@apple.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=44461
        Assertion failure at WebCore/platform/network/CredentialStorage.cpp:85.

        Remove the assertion at CredentialStorage.cpp:85 since it is legal to have
        multiple forward slashes after the path component.

        No test needed.

        * platform/network/CredentialStorage.cpp:
        (WebCore::protectionSpaceMapKeyFromURL):

2010-08-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: search in Scripts panel brings ui back to original search view.
        https://bugs.webkit.org/show_bug.cgi?id=44516

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.searchCanceled):
        (WebInspector.Panel.prototype.jumpToNextSearchResult):
        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
        * inspector/front-end/ResourcesPanel.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.searchCanceled):
        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
        (WebInspector.ScriptsPanel.prototype.performSearch):
        (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):

2010-08-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Shinichiro Hamaji

        <input type=number>: Support auto-repeat by mouse press
        https://bugs.webkit.org/show_bug.cgi?id=44476

        Like arrow button of scrollbars, spinbuttons of <input
        type=number> should continue to increase/decrease their values
        while the mouse button is pressed.

        No new tests because the new behavior strongly depends on a timer.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::SpinButtonElement):
         Initializes the timer.
        (WebCore::SpinButtonElement::defaultEventHandler):
         Starts the timer by a mousedown event.
        (WebCore::SpinButtonElement::startRepeatingTimer):
        (WebCore::SpinButtonElement::stopRepeatingTimer):
        (WebCore::SpinButtonElement::repeatingTimerFired):
        * rendering/TextControlInnerElements.h:

2010-08-25  Gabor Loki  <loki@webkit.org>

        Reviewed by Gavin Barraclough.

        Avoid increasing required alignment of target type warning
        https://bugs.webkit.org/show_bug.cgi?id=43963

        Fix alignment warnings on Qt.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):
        * platform/text/qt/TextCodecQt.cpp:
        (WebCore::TextCodecQt::decode):

2010-08-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Shinichiro Hamaji

        Fix a bug that a spin-button doesn't release mouse capturing
        https://bugs.webkit.org/show_bug.cgi?id=44411

        - LeftButton should be checked only for clickEvent.
          Note that this change doesn't change the behavior because
          button() value is initialized with LeftButton even for
          mousemoveEvent.
        - Should pass a SpinButtonElement node to setCapturingMouseEventsNode().

        Test: fast/forms/input-spinbutton-capturing.html

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::defaultEventHandler):

2010-08-25  Gabor Loki  <loki@webkit.org>

        Reviewed by Gavin Barraclough.

        Avoid increasing required alignment of target type warning
        https://bugs.webkit.org/show_bug.cgi?id=43963

        Fix platform independent alignment warnings.

        * loader/CachedMetadata.h:
        (WebCore::CachedMetadata::readUnsigned):
        * platform/text/TextCodecLatin1.cpp:
        (WebCore::TextCodecLatin1::decode):

2010-08-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Add missing methods at ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=44453

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::willLoadFromCache):
        (WebCore::prefetchDNS):
        (WebCore::ResourceHandle::bufferedData):
        (WebCore::ResourceHandle::supportsBufferedData):
        (WebCore::ResourceHandle::loadsBlocked):
        (WebCore::ResourceHandle::platformSetDefersLoading):

2010-08-25  Adam Barth  <abarth@webkit.org>

        Second attempt to fix Qt build

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseDtd):

2010-08-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Remove more DTD junk now that the LegacyHTMLDocumentParser is gone
        https://bugs.webkit.org/show_bug.cgi?id=44588

        Just removing dead code, thus no tests.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::nodeName):
        * html/HTMLElement.h:

2010-08-24  Adam Barth  <abarth@webkit.org>

        Qt build fix.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Delete HTMLElement::checkDTD
        https://bugs.webkit.org/show_bug.cgi?id=44563

        This function existed to service the LegacyHTMLTreeBuilder.  The new
        HTMLTreeBuilder has this logic internalized.  Pulling on this thread
        caused me to remove a legacyParserAddChild and to discover some code
        that shouldn't be calling these parser-specific APIs.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::ContainerNode::deprecatedParserAddChild):
        * dom/ContainerNode.h:
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/Node.cpp:
        (WebCore::Node::deprecatedParserAddChild):
        * dom/Node.h:
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::enterText):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::internalSubset):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseCharacters):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):
        * html/HTMLDataGridElement.cpp:
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridRowElement.cpp:
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataListElement.cpp:
        * html/HTMLDataListElement.h:
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h:
        * html/HTMLElement.cpp:
        * html/HTMLElement.h:
        * html/HTMLFieldSetElement.cpp:
        * html/HTMLFieldSetElement.h:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLFrameSetElement.h:
        * html/HTMLHeadElement.cpp:
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.cpp:
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.cpp:
        * html/HTMLHtmlElement.h:
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLMapElement.cpp:
        * html/HTMLMapElement.h:
        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:
        * html/HTMLNoScriptElement.cpp:
        * html/HTMLNoScriptElement.h:
        * html/HTMLOptGroupElement.cpp:
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.cpp:
        * html/HTMLParagraphElement.h:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInElement.h:
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.cpp:
        * html/HTMLSelectElement.h:
        * html/HTMLStyleElement.h:
        * html/HTMLTableColElement.cpp:
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        * html/HTMLTableSectionElement.h:
        * html/HTMLTextAreaElement.h:
        * html/HTMLTitleElement.h:
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::attachToParent):
        (WebCore::MediaControlInputElement::attachToParent):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove tagPriority
        https://bugs.webkit.org/show_bug.cgi?id=44557

        This code used to be used by the old parser.  Now it's unused.

        * html/HTMLAnchorElement.h:
        * html/HTMLAppletElement.h:
        * html/HTMLAreaElement.h:
        * html/HTMLAudioElement.h:
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.h:
        * html/HTMLBaseFontElement.h:
        * html/HTMLBlockquoteElement.h:
        * html/HTMLBodyElement.h:
        * html/HTMLCanvasElement.cpp:
        * html/HTMLCanvasElement.h:
        * html/HTMLDListElement.h:
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDirectoryElement.h:
        * html/HTMLDivElement.h:
        * html/HTMLElement.cpp:
        * html/HTMLElement.h:
        * html/HTMLEmbedElement.h:
        * html/HTMLFieldSetElement.h:
        * html/HTMLFontElement.h:
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.h:
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.h:
        * html/HTMLIFrameElement.h:
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.h:
        * html/HTMLKeygenElement.h:
        * html/HTMLLIElement.h:
        * html/HTMLLabelElement.h:
        * html/HTMLLinkElement.h:
        * html/HTMLMapElement.h:
        * html/HTMLMarqueeElement.h:
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.h:
        * html/HTMLModElement.h:
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.h:
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.h:
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.h:
        * html/HTMLSourceElement.h:
        * html/HTMLStyleElement.h:
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.h:
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.h:

2010-08-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix one more html5lib test case for button scoping
        https://bugs.webkit.org/show_bug.cgi?id=44583

        I <3 test driven development.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-08-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Remove HTML5 parser testing infrastructure now that we don't need it
        https://bugs.webkit.org/show_bug.cgi?id=44581

        Just removing dead code, no tests.

        * dom/DocumentFragment.cpp:
        * dom/DocumentFragment.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove unneeded include in HTMLPreloadScanner
        https://bugs.webkit.org/show_bug.cgi?id=44552

        Slowly but steadily sweeping up the dust in the HTML parser.

        * html/HTMLPreloadScanner.cpp:
        * html/HTMLPreloadScanner.h:

2010-08-24  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Implement virtual path utilities for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=44132

        No new tests; tests will be added later. (Each DOMFilePath's method is briefly tested locally.)

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/DOMFilePath.cpp: Added.
        * storage/DOMFilePath.h: Added.

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLParserScheduler::create
        https://bugs.webkit.org/show_bug.cgi?id=44551

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLParserScheduler.h:
        (WebCore::HTMLParserScheduler::create):

2010-08-24  Daniel Bates  <dbates@rim.com>

        Fix code comment as per Darin Adler's suggestion in <https://bugs.webkit.org/show_bug.cgi?id=44486#c2>.
        I inadvertently did not update this comment when I landed changeset 65967 <http://trac.webkit.org/changeset/65967>.

        * rendering/RenderListMarker.cpp:
        (WebCore::listMarkerSuffix):

2010-08-24  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        Suffix for CSS alphabetic list style types should fallback to
        decimal for ordinals outside of their representable range
        https://bugs.webkit.org/show_bug.cgi?id=44486

        Test: fast/lists/w3-css3-list-styles-fallback-style.html

        Fixes an issue where the decimal suffix is not used for
        ordinals that cannot be represented by the alphabetic list
        style type.

        Currently, for ordinals that cannot be represented in the
        alphabetic list style we use the suffix associated with the
        list style. Instead, we should use the suffix for the decimal
        list style ('.'). For instance, when the list style type is
        Afar and the starting ordinal is 0, then we fallback to the
        decimal list style suffix '.' because 0 cannot be represented
        in Afar.

        * rendering/RenderListMarker.cpp:
        (WebCore::toRoman): Moved bounds check into WebCore::effectiveListMarkerType().
        (WebCore::toAlphabetic): Ditto.
        (WebCore::toHebrew): Ditto.
        (WebCore::toArmenian): Ditto.
        (WebCore::toGeorgian): Ditto.
        (WebCore::toCJKIdeographic): Ditto.
        (WebCore::effectiveListMarkerType): Added.
        (WebCore::listMarkerSuffix): Added value parameter to prototype.
        Modified to call WebCore::effectiveListMarkerType.
        (WebCore::listMarkerText): Modified to call WebCore::effectiveListMarkerType().
        (WebCore::RenderListMarker::paint): Modified to pass list item ordinal (i.e. m_listItem->value()) to WebCore::listMarkerSuffix().
        (WebCore::RenderListMarker::calcPrefWidths): Ditto.
        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.

2010-08-24  Gavin Barraclough  <barraclough@apple.com>

        Windows build fix.

        * ForwardingHeaders/wtf/DecimalNumber.h: Added.

2010-08-23  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

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

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::serializeForNumberType):
            Update function call to numberToString.

2010-08-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        XMLDocumentParser needs to implement DocumentParser::detach()
        https://bugs.webkit.org/show_bug.cgi?id=44533

        Test: fast/frames/set-parent-src-synchronously.xhtml

        In the example from the page we were accessing document()
        after DocumentParser::detach() was called.  To prevent this
        I added an ASSERT(m_document) to document(), causing many
        test cases to cover the bug shown in bug 44533.

        To fix the bug, I implemented XMLDocumentParser::detach()
        and had it call clearCurrentNodeStack(), thus making
        it impossible for XMLDocumentParser to still have the Document
        on the node stack after detach (which was what was causing this bug).

        While fixing this, I noticed that XMLDocumentParser may have the
        same trouble crashing that the HTMLDocumentParser did when
        synchronously deleted from JS (for example by an iframe navigation).
        I added a test case to cover this and protected the parser after
        the two places it executes scripts.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::document):
        (WebCore::DocumentParser::isDetached):
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::finish):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::append):
        (WebCore::XMLDocumentParser::detach):
        (WebCore::XMLDocumentParser::notifyFinished):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::resumeParsing):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::willPumpLexer):
        (WebCore::HTMLDocumentParser::didPumpLexer):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::script):
        * html/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::updateTokenizerState):
        * html/HTMLViewSourceParser.h:
        (WebCore::HTMLViewSourceParser::document):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::document):

2010-08-24  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Add SynchronousLoader for ResourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=44452

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
        (WebCore::WebCoreSynchronousLoader::didReceiveData):
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2010-08-24  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed.

        Replaced soft tab indentation by hard tab indentation for LegacyWebArchive.h.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-24  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Mark Rowe.

        Web Inspector: RemoteInspectorFrontend can be renamed to InspectorFrontend
        https://bugs.webkit.org/show_bug.cgi?id=44499

        Follow-up. No longer generate the RemoteInspectorFrontend files, just
        generate the required InspectorFrontend files.

        * DerivedSources.make:

2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Backend Should Provide Full Supported CSS Properties List
        https://bugs.webkit.org/show_bug.cgi?id=40886

        This allows the backend to send the front-end its complete list of
        supported CSS Properties. This is used in CSS Autocompletion and
        CSS Syntax Highlighting to show which styles are supported.

        * css/makeprop.pl: moved CSS properties to the header file.
        * inspector/Inspector.idl: expose getSupportedCSSProperties.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions._firstIndexOfPrefix): handle a possible error case before properties have loaded.
        (WebInspector.CSSCompletions._load): fill up the special array with the received properties.
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer): use the list of support properties from the backend.
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/inspector.js: request the list of supported CSS properties on load.
        (WebInspector.doLoadedDone):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Delete LegacyHTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=44554

        There were some free functions in LegacyHTMLTreeBuilder that needed a
        new home.  I've put them in HTMLTreeBuilder, but they'll probably need
        a better home eventually.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::shouldCreateImplicitHead):
        * dom/DocumentParser.h:
        * dom/ScriptableDocumentParser.h:
        * html/HTMLConstructionSite.cpp:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLInputElement.cpp:
        * html/HTMLMeterElement.cpp:
        * html/HTMLProgressElement.cpp:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::serializeForNumberType):
        (WebCore::parseToDoubleForNumberType):
        * html/HTMLTreeBuilder.h:
        * html/HTMLViewSourceParser.h:
        * html/LegacyHTMLTreeBuilder.cpp: Removed.
        * html/LegacyHTMLTreeBuilder.h: Removed.
        * html/StepRange.cpp:
        * html/ValidityState.cpp:
        * rendering/RenderSlider.cpp:

2010-08-24  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: show DOM breakpoints in sidebar pane
        https://bugs.webkit.org/show_bug.cgi?id=44424

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._setBreakpoint):
        (WebInspector.BreakpointManager.prototype._breakpointRemoved):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.set condition):
        (WebInspector.Breakpoint.prototype.remove):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
        (WebInspector.BreakpointItem):
        (WebInspector.BreakpointItem.prototype.element):
        (WebInspector.BreakpointItem.prototype.remove):
        (WebInspector.BreakpointItem.prototype._checkboxClicked):
        (WebInspector.BreakpointItem.prototype._enableChanged):
        (WebInspector.BreakpointItem.prototype._removed):
        (WebInspector.JSBreakpointItem):
        (WebInspector.JSBreakpointItem.prototype._textChanged):
        (WebInspector.DOMBreakpointItem):
        (WebInspector.DOMBreakpointItem.prototype.compareTo):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMBreakpointManager):
        (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
        (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
        (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
        (WebInspector.DOMBreakpoint):
        (WebInspector.DOMBreakpoint.prototype.get enabled):
        (WebInspector.DOMBreakpoint.prototype.set enabled):
        (WebInspector.DOMBreakpoint.prototype.remove):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.reset):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.set visible):
        (WebInspector.SourceFrame.prototype.addBreakpoint):
        (WebInspector.SourceFrame.prototype._breakpointRemoved):
        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
        (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
        (WebInspector.SourceFrame.prototype._contextMenu):
        (WebInspector.SourceFrame.prototype._mouseDown):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype.updateLocalContent):
        * inspector/front-end/inspector.js:
        (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createJSBreakpointsSidebarPane):
        (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
        (WebInspector.createDOMBreakpointsSidebarPane):
        (WebInspector.doLoadedDone):

2010-08-24  Stephen White  <senorblanco@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Speculative fix for layout test failures on Chrome/Linux.
        https://bugs.webkit.org/show_bug.cgi?id=44550

        Tests fast/canvas/arc-crash.html, fast/canvas/canvas-state-intact-after-putImageData.html, and fast/canvas/toDataURL-supportedTypes.html are failing on Chrome/Linux.  Can't repro the failure locally, but this fix can't hurt.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):

2010-08-24  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix the NodeFilter wrapper and the binding for acceptNode.
        https://bugs.webkit.org/show_bug.cgi?id=44542

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter): This function
        should always create a filter. V8NodeFilterCondition::acceptNode()
        will check if the given object can be used as a filter, and throw
        an exception if it can't.
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode): Update this binding
        to do the same thing that the JS binding does.

2010-08-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Tony Chang.

        After r65681, caret no longer displays promptly while editing form fields
        https://bugs.webkit.org/show_bug.cgi?id=44294
        
        The caret no longer eagerly updates its rect on every paint, so we have
        to manually update it after scrolling the selection into view when
        the selection changes.
        
        Tested by the pixel results of fast/forms/input-text-scroll-left-on-blur.html

        * page/Frame.cpp:
        (WebCore::Frame::revealSelection):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove redundant call to OwnPtr::clear
        https://bugs.webkit.org/show_bug.cgi?id=44548

        As pointed out by Darin, this call to clear is not needed.

        * editing/TextIterator.cpp:
        (WebCore::plainTextToMallocAllocatedBuffer):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTokenizer::create
        https://bugs.webkit.org/show_bug.cgi?id=44477

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLPreloadScanner.cpp:
        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
        (WebCore::HTMLPreloadScanner::scan):
        (WebCore::HTMLPreloadScanner::processToken):
        * html/HTMLPreloadScanner.h:
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::create):
        * html/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
        (WebCore::HTMLViewSourceParser::pumpTokenizer):
        (WebCore::HTMLViewSourceParser::updateTokenizerState):
        * html/HTMLViewSourceParser.h:

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove references to LegacyHTMLTreebuilder from HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=44544

        * html/HTMLDocumentParser.cpp:
        * html/HTMLDocumentParser.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::finished):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):

2010-08-24  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        Move GTK_API_VERSION_2 define out.

        * GNUmakefile.am:

2010-08-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        TreeWalker traversal order is wrong when skipping and rejecting
        https://bugs.webkit.org/show_bug.cgi?id=44377
        
        TreeWalker's nextSibling() and previousSibling() behaved incorrectly
        when traversing down a subtree where all nodes are skipped; it backed all
        the way up to the root of the subtree, then jump to the subtree's parentNode.
        This would skip later siblings.
        
        Fix by resetting 'node' when traversing to children so that node = node->parentNode()
        gets the correct node later.

        Test: fast/dom/TreeWalker/traversal-skip-most.html

        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::previousSibling):
        (WebCore::TreeWalker::nextSibling):

2010-08-24  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Remove null-checks from DeviceOrientationController
        https://bugs.webkit.org/show_bug.cgi?id=44504

        Remove checks for m_client being NULL from DeviceOrientationController.
        It will never be NULL, and this is checked by an ASSERT on construction.

        Will be covered by layout tests for device orientation.

        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::timerFired):
        (WebCore::DeviceOrientationController::addListener):
        (WebCore::DeviceOrientationController::removeListener):
        (WebCore::DeviceOrientationController::removeAllListeners):

2010-08-24  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        Fix accelerated 2d canvas with accelerated compositing off.
        https://bugs.webkit.org/show_bug.cgi?id=44525

        Tested by running with --enable-accelerated-2d-canvas with
        --enable-accelerated-compositing off.
        ImageBuffer::copyImage changes covered by
        LayoutTests/fast/canvas/canvas-pattern-*.html.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        Extend the accelerated compositing check and the readback for
        non-accelerated compositing to accelerated 2D canvas also.
        * html/canvas/CanvasRenderingContext.cpp:
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
        Move this logic from WebGL to common canvas context code.
        * html/canvas/WebGLRenderingContext.h:
        Remove implementation of paintsIntoCanvasBuffer.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::copyImage):
        When copying the image for patterns, sync the software canvas.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
        Use SkDevice::eraseColor() to clear the canvas for mixed mode rendering.

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Deploy adoptPtr in WebCore/editing
        https://bugs.webkit.org/show_bug.cgi?id=44501

        * editing/Editor.cpp:
        (WebCore::Editor::Editor):
        * editing/TextIterator.cpp:
        (WebCore::plainTextToMallocAllocatedBuffer):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Deploy adoptPtr in WebCore/history
        https://bugs.webkit.org/show_bug.cgi?id=44502

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::addRedirectURL):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Partial deployment of adoptPtr to WebCore/html
        https://bugs.webkit.org/show_bug.cgi?id=44507

        Deploy adoptPtr to some more places in WebCore/html.  The big chunk
        that I haven't done yet is createRenderer, but that's going to be a big
        patch unto itself.

        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::addElementAlias):
        * html/HTMLInputElement.cpp:
        (WebCore::createTypeMap):
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::attach):
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::attach):
        * html/HTMLToken.h:
        (WebCore::HTMLToken::beginDOCTYPE):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::attach):
        (WebCore::HTMLVideoElement::parseMappedAttribute):
        * html/ValidityState.h:
        (WebCore::ValidityState::create):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Partial deployment of adoptPtr to WebCore/html
        https://bugs.webkit.org/show_bug.cgi?id=44507

        There's a lot of places that need adoptPtr in WebCore/html.  This patch
        does some of them.  More will follow.

        * html/FileThreadTask.h:
        (WebCore::FileThreadTask0::create):
        (WebCore::FileThreadTask1::create):
        (WebCore::FileThreadTask2::create):
        (WebCore::FileThreadTask3::create):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::mapMouseEvent):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::insertAbove):
        (WebCore::HTMLElementStack::pushCommon):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::attach):

2010-08-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Simon Fraser.

        Improve comment for Simon.

        * editing/Editor.h:

2010-08-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Paste event fires twice for mac WebKit
        <rdar://problem/8094611>
        https://bugs.webkit.org/show_bug.cgi?id=44535

        The mac implementation of paste in WebKit was accidentally calling 
        Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
        in Editor::pasteAsPlainText (which is called by -[WebHTMLView paste:]).
        Use the new pasteAsPlainTextBypassingDHTML function to bypass the
        second call.

        Test: editing/pasteboard/paste-event-only-once.html

        * WebCore.exp.in:
        * editing/Editor.cpp:
        (WebCore::Editor::pasteAsPlainTextBypassingDHTML): 
        * editing/Editor.h:
        Expose a function which just pastes using from the general pasteboard,
        bypassing all the checking and DHTML pasting.

2010-08-24  Nate Chapin  <japhet@chromium.org>

        Unreviewed.

        Chromium build fix (add a #include missing in PingLoader.cpp)

        * loader/PingLoader.cpp:

2010-08-24  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Allow image loads triggered from unload handlers to run entirely
        independently of any other loads or navigations.

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

        Test: http/tests/navigation/image-load-in-unload-handler.html

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestImage): Use PingLoader for image
            loads in unload handlers.
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
        * loader/PingLoader.cpp: Added.
        (WebCore::PingLoader::loadImage): Set the appropriate
            headers for an image load in unload handler (since we're
            not using SubresourceLoader, we need to do this manually here).
        (WebCore::PingLoader::PingLoader):
        * loader/PingLoader.h: Added.
        (WebCore::PingLoader::~PingLoader):
        (WebCore::PingLoader::didReceiveResponse):
        (WebCore::PingLoader::didReceiveData):
        (WebCore::PingLoader::didFinishLoading):
        (WebCore::PingLoader::didFail):

2010-08-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Trace to the style that contributes to
        the computed styles panel.
        https://bugs.webkit.org/show_bug.cgi?id=44448

        Test: inspector/styles-computed-trace.html

        * English.lproj/localizedStrings.js:
        * inspector/front-end/Section.js:
        (WebInspector.Section.prototype.set subtitle):
        (WebInspector.Section.prototype.get subtitleAsTextForTest):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
        (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
        (WebInspector.StylePropertiesSection.linkifyUncopyable):
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.isPropertyDisabled):
        (WebInspector.StylePropertiesSection.prototype.update):
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.ComputedStylePropertiesSection):
        (WebInspector.ComputedStylePropertiesSection.prototype.collapse):
        (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
        (WebInspector.ComputedStylePropertiesSection.prototype.update):
        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
        (WebInspector.BlankStylePropertiesSection):
        * inspector/front-end/inspector.css:
        (.styles-section a::before):
        * inspector/front-end/inspector.js:
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):
        (WebInspector.linkifyResourceAsNode):

2010-08-24  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] Generate drag images for HTML elements and selections.
        https://bugs.webkit.org/show_bug.cgi?id=43449

        We weren't properly generating drag images if an HTML element was set
        as the drag feedback image. I also implemented dragImageForSelection
        while I was working on this part of the code.

        No new tests.

        * WebCore.exp.in:
        * bindings/objc/DOM.mm:
        (-[DOMNode renderedImage]):
        * page/Frame.h:
        * page/brew/FrameBrew.cpp:
        (WebCore::Frame::nodeImage):
        * page/chromium/FrameChromium.cpp:
        (WebCore::):
        (WebCore::Frame::nodeImage):
        (WebCore::Frame::dragImageForSelection):
        * page/efl/FrameEfl.cpp:
        (WebCore::Frame::nodeImage):
        * page/gtk/FrameGtk.cpp:
        (WebCore::Frame::nodeImage):
        * page/haiku/FrameHaiku.cpp:
        (WebCore::Frame::nodeImage):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::nodeImage):
        (WebCore::Frame::dragImageForSelection):
        * page/qt/FrameQt.cpp:
        (WebCore::Frame::nodeImage):
        (WebCore::Frame::dragImageForSelection):
        * page/win/FrameCGWin.cpp:
        (WebCore::Frame::nodeImage):
        * page/win/FrameCairoWin.cpp:
        (WebCore::Frame::nodeImage):
        * page/wince/FrameWince.cpp:
        (WebCore::Frame::nodeImage):
        * page/wx/FrameWx.cpp:
        (WebCore::Frame::nodeImage):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::createDragImage):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::selectionForegroundColor):

2010-08-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        IndexedDB needs to manually delete all objectStore data and indexes
        https://bugs.webkit.org/show_bug.cgi?id=44522

        Apparently it's only newer versions of SQLite that handle cascade
        delete.  The rest silently fail.  So do it manually.

        Test: storage/indexeddb/objectstore-removeobjectstore.html

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::doDelete):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        * storage/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::create):
        (WebCore::IDBObjectStoreBackendImpl::id):

2010-08-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        Fix for <rdar://problem/8153271> and <rdar://problem/8153288> 
        Change behavior of javascript: urls in <embed> and <object> back to 
        how they behaved before r50698.

        Tests: fast/loader/javascript-url-in-embed.html
               fast/loader/javascript-url-in-object.html

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestFrame):
        (WebCore::SubframeLoader::requestObject):
        (WebCore::SubframeLoader::loadOrRedirectSubframe):
        * loader/SubframeLoader.h:

2010-08-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Update code to compile with latest GTK+ 3.x.

        * platform/gtk/gtk2drawing.c:
        (TSOffsetStyleGCs):
        (moz_gtk_entry_paint):
        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_new):

2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        -webkit-svg-shadow doesn't repaint on changes
        https://bugs.webkit.org/show_bug.cgi?id=44521

        Trivial fix, to make -webkit-svg-shadow react on changes.

        Test: svg/css/shadow-changes.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff): If 'svgShadow' is not equal, cause a repaint.

2010-08-24  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Cg logs "<Error>: CGPathCloseSubpath: no current point. " in lots of tests
        https://bugs.webkit.org/show_bug.cgi?id=43026

        Check if the path is empty before closing it.

        * svg/SVGPathBuilder.cpp:
        (WebCore::SVGPathBuilder::moveTo):

2010-08-24  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Hooks IDBKeyPath with IDBObjectStorage::put.
        https://bugs.webkit.org/show_bug.cgi?id=44275

        Adds a mechanism to extract an IDBKey from SerializedScriptValue using IDBKeyPath
        during IDBObjectStorage::put.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/ChromiumBridge.h:
        * storage/IDBKeyPathBackendImpl.cpp: Added.
        (IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
        * storage/IDBKeyPathBackendImpl.h: Added.
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):
        * storage/chromium/IDBKeyPathBackendImpl.cpp: Added.
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):

2010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: RemoteInspectorFrontend can be renamed to InspectorFrontend.
        The old version of InspectorFrontend was removed some time ago and now
        it is possible to rename the new version of inspector frontend class to its
        original name.
        https://bugs.webkit.org/show_bug.cgi?id=44499

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
        (WebCore::InjectedScriptHost::frontend):
        * inspector/InjectedScriptHost.h:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::frontend):
        * inspector/InspectorBackend.h:
        * inspector/InspectorCSSStore.cpp:
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::focusNode):
        (WebCore::InspectorController::windowVisible):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::setSearchingForNode):
        (WebCore::InspectorController::setMonitoringXHR):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::show):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::pruneResources):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
        (WebCore::InspectorController::mainResourceFiredLoadEvent):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        (WebCore::InspectorController::postWorkerNotificationToFrontend):
        (WebCore::InspectorController::didCreateWorker):
        (WebCore::InspectorController::didDestroyWorker):
        (WebCore::InspectorController::selectDatabase):
        (WebCore::InspectorController::didOpenDatabase):
        (WebCore::InspectorController::didUseDOMStorage):
        (WebCore::InspectorController::selectDOMStorage):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::enableDebugger):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::evaluateForTestInFrontend):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::hasFrontend):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorDOMStorageResource.h:
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorDatabaseResource.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::create):
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        (WebCore::InspectorDebuggerAgent::failedToParseSource):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::didContinue):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::addProfile):
        (WebCore::InspectorProfilerAgent::disable):
        (WebCore::InspectorProfilerAgent::enable):
        (WebCore::InspectorProfilerAgent::resetState):
        (WebCore::InspectorProfilerAgent::toggleRecordButton):
        * inspector/InspectorProfilerAgent.h:
        (WebCore::InspectorProfilerAgent::setFrontend):
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::releaseScriptObject):
        * inspector/InspectorResource.h:
        * inspector/InspectorStorageAgent.cpp:
        (WebCore::InspectorStorageAgent::InspectorStorageAgent):
        * inspector/InspectorStorageAgent.h:
        (WebCore::InspectorStorageAgent::create):
        (WebCore::InspectorStorageAgent::frontend):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        * inspector/InspectorTimelineAgent.h:

2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
        https://bugs.webkit.org/show_bug.cgi?id=44511

        Make fillAndStrokePath a member function of RenderPath, to avoid having to pass the const Path& and this paramters.
        Don't leave the GraphicsContext mutated after applying non-scaling-stroke transformation, otherwhise markers will be renderer
        in the wrong coordinate space, and thus don't show up anymore.

        Test: svg/custom/non-scaling-stroke-markers.svg

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::fillAndStrokePath):
        (WebCore::RenderPath::paint):
        * rendering/RenderPath.h:

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        Remove wrong code from Qt that's dumping extra markup into the clipboard
        https://bugs.webkit.org/show_bug.cgi?id=44506

        I have no way of testing this patch, but hopefully it should fix a
        bunch of newly failing tests.  This code seems very confused.

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):

2010-08-24  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: fix gcc warnings introduced in 65731
        https://bugs.webkit.org/show_bug.cgi?id=44468

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::pauseOnBreakpoint):

2010-08-24  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Simon Hausmann.

        [Qt] Blur shadow for rectangle fill
        https://bugs.webkit.org/show_bug.cgi?id=44488

        Refactor fillRect() function to support blur radius in the shadow.

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

2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze

        clip-path does not work inside mask element
        https://bugs.webkit.org/show_bug.cgi?id=41428

        Add new tests covering nesting of clippers and maskers, with different unitTypes for the content coordinate system.
        Scale all ImageBuffer content to take into account that ImageBuffers use integer based sizes, where the content
        is floating-point sized. This compensates rounded errors, when scaling the document.

        Tests: svg/clip-path/clip-in-mask-objectBoundingBox.svg
               svg/clip-path/clip-in-mask-userSpaceOnUse.svg
               svg/clip-path/clip-in-mask.svg
               svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg
               svg/clip-path/deep-nested-clip-in-mask-panning.svg
               svg/clip-path/deep-nested-clip-in-mask.svg
               svg/clip-path/nested-clip-in-mask-image-based-clipping.svg
               svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
               svg/clip-path/nested-clip-in-mask-path-based-clipping.svg

        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyResource): Return the value of applyClippingToContext, instead of always true.
        (WebCore::RenderSVGResourceClipper::applyClippingToContext): Moved some code from createClipData, to avoid having to pass 5 arguments to createClipData.
        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Renamed from createClipData.
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): Pass absoluteTargetRect to createImageBuffer.
        (WebCore::clipToTextMask): Ditto.
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource): Ditto.
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Pass content transformation to renderSubtreeToImageBuffer, to support nesting objectBoundingBox resources.
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource): Adapt to calculateTransformationToOutermostSVGCoordinateSystem changes. AffineTransform is now passed as reference.
        (WebCore::RenderSVGResourcePattern::createTileImage): ImageBuffer content scaling is now handled by createImageBuffer.
        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): Renamed. Don't return an AffineTransform copy, but instead pass it as reference.
        (WebCore::SVGImageBufferTools::createImageBuffer): Always scale the ImageBuffer content, to compensate rounding effects (code was only present in patterns so far).
                                                           Now also needs the 'absoluteTargetRect' parameter, not only 'clampedAbsoluteTargetRect'.
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): Moved from SVGRenderSupport.
        (WebCore::SVGImageBufferTools::clipToImageBuffer): Pass ImageBuffer as OwnPtr reference, to allow to clear it under certain circumstances (see comment).
        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): Remove AffineTransform parameter, absoluteTargetRect is calculated before passing into this function.
        * rendering/SVGImageBufferTools.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Important change, respect the RenderSVGResourceClipper::applyResource() return value!
        * rendering/SVGRenderSupport.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build): renderSubtreeToImage now lives in SVGImageBufferTools, adapt code.

2010-08-24  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] IDBTransaction is missing the implementation for objectStore method
        https://bugs.webkit.org/show_bug.cgi?id=44446

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::create):
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::objectStore):
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionCoordinator.cpp:
        (WebCore::IDBTransactionCoordinator::createTransaction):
        * storage/IDBTransactionCoordinator.h:

2010-08-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Disallow setting Document.xmlVersion to unsupported versions
        https://bugs.webkit.org/show_bug.cgi?id=44494

        Added XMLDocumentParser::supportsXMLVersion() - only returns true for "1.0"
        in both implementations.

        * dom/Document.cpp:
        (WebCore::Document::setXMLVersion): Throw NOT_SUPPORTED_ERR
        if XMLDocumentParser::supportsXMLVersion() returns false for the version.
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::supportsXMLVersion):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::supportsXMLVersion):

2010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
        https://bugs.webkit.org/show_bug.cgi?id=31273

        On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
        WebKit headers are included before platform headers. On all other
        platforms continue to use INCLUDEPATH (as before).

        This patch also removed the workarounds that are put in place 
        now that we have a better solution.

        No new tests as there is no new functionality.

        * WebCore.pro:

2010-08-24  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Support text-shadow blur
        https://bugs.webkit.org/show_bug.cgi?id=19728

        Implement blur for text shadow using the shadow layer in r65782.

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):

2010-08-23  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
        https://bugs.webkit.org/show_bug.cgi?id=44432

        Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html

        * dom/Element.cpp:
        (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
        and the qualifiedName has a prefix.

2010-08-24  Adam Barth  <abarth@webkit.org>

        Build fix.  leakPtr doesn't exist, contrary to my dreams.

        * storage/IDBKeyTree.h:
        (WebCore::::put):
        * storage/IDBPendingTransactionMonitor.cpp:
        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):

2010-08-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Deploy adoptPtr in WebCore/storage
        https://bugs.webkit.org/show_bug.cgi?id=44491

        There are still some naked news for a future patch.  The next step is
        to make create methods.

        * storage/Database.cpp:
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DerefContextTask::create):
        (WebCore::DeliverPendingCallbackTask::create):
        * storage/DatabaseSync.cpp:
        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
        * storage/DatabaseTask.h:
        (WebCore::Database::DatabaseOpenTask::create):
        (WebCore::Database::DatabaseCloseTask::create):
        (WebCore::Database::DatabaseTransactionTask::create):
        (WebCore::Database::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::populateOrigins):
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/IDBKeyTree.h:
        (WebCore::::put):
        * storage/IDBPendingTransactionMonitor.cpp:
        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::createImport):
        (WebCore::LocalStorageTask::createSync):
        (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
        (WebCore::LocalStorageTask::createTerminate):
        * storage/LocalStorageThread.cpp:
        (WebCore::LocalStorageThread::create):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::SQLTransactionSync):
        (WebCore::SQLTransactionSync::begin):
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::copy):

2010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: setAttachedWindow was modified at r65809 but it should be implemented another way.
        https://bugs.webkit.org/show_bug.cgi?id=44493

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):

2010-08-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Use new HTML5 TreeBuilder for fragment parsing
        https://bugs.webkit.org/show_bug.cgi?id=44475

        The HTML5 TreeBuilder is ready to be used for all parsing
        including fragments!  This is the last change to move trunk
        off of the LegacyHTMLTreeBuilder.  We'll go through and
        delete the thousands of lines of code supporting the old
        parser in a separate patch.

        This is covered by many layout tests.

        * html/HTMLTreeBuilder.cpp:

2010-08-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLScriptRunner::create
        https://bugs.webkit.org/show_bug.cgi?id=44474

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLScriptRunner.h:
        (WebCore::HTMLScriptRunner::create):

2010-08-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder should use adoptPtr
        https://bugs.webkit.org/show_bug.cgi?id=44473

        We should really use this pattern everywhere.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::create):

2010-08-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Set the ResourceResponse HTTP headers in RessourceHandleWin
        https://bugs.webkit.org/show_bug.cgi?id=44444

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::queryHTTPHeader):
        (WebCore::ResourceHandle::onRequestComplete):

2010-08-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Support all available biBitCount values in BitmapInfo
        https://bugs.webkit.org/show_bug.cgi?id=43724

        Add an enum with all possible values for biBitCount.
        Also remove explicit initialization of bmiHeader members,
        because that is already done in the constructor.

        * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
        (WebCore::bitmapInfoForSize):
        (WebCore::BitmapInfo::create):
        (WebCore::BitmapInfo::createBottomUp):
        * platform/win/BitmapInfo.h: Added property svn:eol-style.
        (WebCore::BitmapInfo::):
        (WebCore::BitmapInfo::bytesPerLine):
        (WebCore::BitmapInfo::paddedBytesPerLine):
        (WebCore::BitmapInfo::paddedWidth):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):

2010-08-23  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for r65852.

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::create):
        * rendering/TextControlInnerElements.h:

2010-08-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        MarkupAccumulator::appendStartMarkup should be broken down into pieces
        https://bugs.webkit.org/show_bug.cgi?id=44288

        Extracted appendText, appendComment, appendProcessingInstruction, appendElement and appendCDATASection.
        Also simplified the conditionals in appendText.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulator::appendText):
        (WebCore::MarkupAccumulator::appendComment):
        (WebCore::MarkupAccumulator::appendProcessingInstruction):
        (WebCore::MarkupAccumulator::appendElement):
        (WebCore::MarkupAccumulator::appendCDATASection):
        (WebCore::MarkupAccumulator::appendStartMarkup):

2010-08-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Alexey Proskuryakov.

        TreeWalker is not calling acceptNode function in filter object
        https://bugs.webkit.org/show_bug.cgi?id=35296
        
        Fix incorrect shadowing of the 'function' variable, which could result
        in badness when asking for arguments.callee.

        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):

2010-08-23  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Changed type of Node::parentNode to ContainerNode so we don't have to cast,
        since parent are all containers.

        * css/CSSStyleSelector.h: Changed m_parentNode to ContainerNode*.

        * dom/Document.h: Fixed the type of TreeShared in the Node constructor.
        Yes, it's here.

        * dom/Node.cpp:
        (WebCore::Node::eventParentNode): Removed now-unneeded typecast dance.
        (WebCore::eventTargetAsSVGElementInstance):Changed type to ContainerNode*.

        * dom/Node.h: Made Node inherit from TreeShared<ContainerNode> instead of
        from TreeShared<Node>. Removed bogus comment. Changed return type of parentNode
        and shadowParentNode functions to ContainerNode*. Fixed using to use
        TreeShared<ContainerNode>.

        * dom/Position.h: Include ContainerNode.h instead of Node.h.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::findFosterSite): Removed now-unneeded typecast.

        * rendering/MediaControlElements.h:
        * rendering/SVGShadowTreeElements.h:
        * rendering/TextControlInnerElements.h:
        Changed return type of shadowParentNode functions to ContainerNode.

        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::updatePartsState): Cast the node to HTMLElement* before
        passing it to the function that creates the shadow element. We know the node is
        a HTMLMeterElement, but the node function doesn't know that.
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::updatePartsState): Ditto.
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement): More of the same.
        (WebCore::SliderThumbElement::create): Ditto.
        (WebCore::RenderSlider::updateFromElement): Ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createSubtreeIfNeeded): Ditto.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Ditto.
        * rendering/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Ditto.
        (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto.
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::create): Ditto.
        (WebCore::ShadowBlockElement::ShadowBlockElement): Ditto.
        (WebCore::ShadowBlockElement::createForPart): Ditto.
        (WebCore::ShadowInputElement::create): Ditto.
        (WebCore::ShadowInputElement::ShadowInputElement): Ditto.
        * rendering/ShadowElement.h:
        (WebCore::ShadowElement::ShadowElement): Ditto.
        (WebCore::ShadowElement::shadowParent): Ditto.
        (WebCore::ShadowElement::shadowParentNode): Ditto.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement): Ditto.
        (WebCore::TextControlInnerElement::create): Ditto.
        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): Ditto.
        (WebCore::TextControlInnerTextElement::create): Ditto.
        (WebCore::SpinButtonElement::SpinButtonElement): Ditto.
        (WebCore::SpinButtonElement::create): Ditto.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::eventParentNode): Removed now-unneeded typecast.

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title): Changed type to ContainerNode*.

2010-08-23  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] The Mozilla theme drawing code incorrectly renders scrollbar backgrounds
        https://bugs.webkit.org/show_bug.cgi?id=44388

        No new tests as this functionality is currently unused. When the
        the new scrollbar theme code lands for GTK+, this will be tested
        by scrollbar pixel tests.

        * platform/gtk/gtk2drawing.c: Expose a method to paint scrolled window
        backgrounds and disable incorrect rendering of scrollbar trough backgrounds.
        (moz_gtk_scrolled_window_paint): Added.
        (moz_gtk_scrollbar_trough_paint): Disable incorrect background render.
        * platform/gtk/gtkdrawing.h: Add scrolled window widget type in the enum.

2010-08-23  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] The Mozilla theme drawing API should expose extra information about scrollbar geometry
        https://bugs.webkit.org/show_bug.cgi?id=44385

        Expose the trough_under_steppers property in MozGtkScrollbarMetrics.

        No new tests as this does not change functionality.

        * platform/gtk/gtk2drawing.c: Set the trough_under_steppers member when accessing theme data.
        * platform/gtk/gtkdrawing.h: Add the trough_under_steppers member.

2010-08-23  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Parser DOM tree manipulation functions do not need to be virtual.

        * dom/ContainerNode.h: Made parserAddChild, parserRemoveChild, and
        parserInsertBefore non-virtual.

        * dom/Node.cpp: Removed the parserAddChild, parserRemoveChild, and
        parserInsertBefore functions, which should never have been in the Node class.
        * dom/Node.h: Ditto.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach): Changed argument type to ContainerNode*
        because we never need to attach a child to a non-container node.
        (WebCore::HTMLConstructionSite::findFosterSite): Cast the result of the parent
        function to ContainerNode*. A parent is always guaranteed to be a container, but
        the parent function returns a Node* so that callers can use it without including
        ContainerNode's header. That seems like something we can easily fix later.

        * html/HTMLConstructionSite.h: Changed AttachmentSite::parent and the
        attach function to ContainerNode* instead of Node*.

2010-08-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        editing/pasteboard/bad-placeholder.html fails with --html5-treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=44463

        The problem here is that using the documentElement as the context puts
        the tree builder into the BeforeHead insertion mode, which strips
        leading spaces.  This code is confused about what it wants, but it
        certainly doesn't want to be in that insertion mode.  Looking through
        the callers, they'd much rather be in the InBody insertion mode.  We
        can get them there by creating a fake body element as the context
        element.

        In the long term, all this code needs to be changed to move away from
        deprecatedCreateContextualFragment, which does a bunch of nasty stuff
        like removing certain kinds of elements.  However, that's a battle for
        another day.

        * editing/markup.cpp:
        (WebCore::createFragmentFromMarkup):

2010-08-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        fast/xsl/default-html.html fails with HTML5 fragment parsing
        https://bugs.webkit.org/show_bug.cgi?id=44450

        This patch is a step down a trail of tears.  As far as I can tell,
        there's no spec for XSLTProcessor.transformToFragment.  This patch
        attempts to infer the proper behavior from test cases and the Mozilla
        wiki.

        * xml/XSLTProcessor.cpp:
        (WebCore::createFragmentFromSource):

2010-08-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        editing/pasteboard/paste-visible-script.html is broken with --html5-treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=44457

        Turns out there are two more checks we need for fragment scripting
        permission.  Not the most beautiful design, but it seems work.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertScriptElement):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-08-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        fast/dom/script-innerHTML-x.xhtml fails when run with the HTML5 TreeBuilder in fragment mode
        https://bugs.webkit.org/show_bug.cgi?id=44447

        This special handling for script/style used to exist in
        setInnerHTML.  HTML5 moves this logic into the HTML and XML
        parsers instead of in setInnerHTML.

        In order to share this logic between WebKit's two XML parsers
        I had to clean up a bit of the libxml2 parser and add a
        new appendFragmentSource method.

        Covered by fast/dom/script-innerHTML-x.xhtml.

        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::end):
         - Now that libxml2 is calling finish() for fragments (Qt already was)
           I went through and removed this unneeded style update after fragment parsing.
        (WebCore::XMLDocumentParser::parseDocumentFragment):
         - Yay for shared code!
         - This is where I added the style/script hack moved from setInnerHTML.
        * dom/XMLDocumentParser.h:
         - Fix indent.
        * dom/XMLDocumentParserLibxml2.cpp:
         - Removed parseDocumentFragment and moved necessary libxml-specific
           logic into appendFragmentSource.
        (WebCore::XMLDocumentParser::appendFragmentSource):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::appendFragmentSource):

2010-08-23  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Remove references to ArrayBuffer and ArrayBufferView from GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=44455

        Updated Safari, Qt and Chromium WebGL ports to avoid referencing
        ArrayBuffer and ArrayBufferView types from GraphicsContext3D.

        Ran all WebGL layout tests; no new regressions. Built and tested
        WebKit on Mac OS X; built Chromium on Mac OS X and Linux.

        * html/canvas/WebGLBuffer.cpp:
        * html/canvas/WebGLBuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractTextureData):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::getQuadVertices):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):

2010-08-20  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        [CHROMIUM] Fix some failing layout tests w/ACCELERATED_2D_CANVAS
        https://bugs.webkit.org/show_bug.cgi?id=44346

        LayoutTests/fast/canvas/canvas-incremental-repaint.html (top middle
        pane).
        Failing because we were not applying the CTM in clearRect().  Now using
        the fast path when the CTM is identity, and a fillRect() for the rest.
        LayoutTests/fast/canvas/canvas-strokeRect.html
        LayoutTests/fast/canvas/shadow-offset-[1-7].html
        Failing because we weren't switching to the software path when a 
        shadow is present.
        Also refactor the two versions of fillRect(), and use TRIANGLE_STRIP
        strip instead of TRIANGLES, which lets us get rid of the element array
        and use drawArrays() instead of drawElements().

        Covered by the above layout tests.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::GLES2Canvas):
        (WebCore::GLES2Canvas::~GLES2Canvas):
        Remove m_quadIndices (now unused).
        (WebCore::GLES2Canvas::clearRect):
        Use a glClear() fast path for the identity-CTM clear, and fillRect()
        for the rest.
        (WebCore::GLES2Canvas::fillRect):
        Refactor the two versions of fillRect().
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::drawTexturedRectTile):
        Get rid of the ELEMENT_ARRAY_BUFFER bind.  Use drawArrays() instead of
        drawElements().
        (WebCore::GLES2Canvas::getQuadVertices):
        Re-order the vertices so they form a triangle strip.
        * platform/graphics/chromium/GLES2Canvas.h:
        Remove m_quadIndices (now unused).
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::fillRect):
        Check for a draw looper (shadow), and drop to the software path.

2010-08-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Move filehandling into fileLoadTimer callback
        https://bugs.webkit.org/show_bug.cgi?id=43714

        Also add mimetype detection for local files.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::fileLoadTimer):

2010-08-23  Iain Merrick  <husky@google.com>

        Reviewed by Steve Block.

        Update JNI bridge for V8 after renaming of JavaString::utf8().
        https://bugs.webkit.org/show_bug.cgi?id=44419

        This fixes the build on Android. No new functionality, so no new tests.

        * bridge/jni/v8/JNIBridgeV8.cpp:
        (JavaField::JavaField):
        * bridge/jni/v8/JNIBridgeV8.h:
        (JSC::Bindings::JavaField::type):
        * bridge/jni/v8/JavaClassV8.cpp:
        (JavaClass::JavaClass):
        * bridge/jni/v8/JavaNPObjectV8.cpp:
        (JSC::Bindings::JavaNPObjectGetProperty):
        * bridge/jni/v8/JavaStringV8.h:
        (JSC::Bindings::JavaStringImpl::utf8):

2010-08-23  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by David Hyatt.

        Assertion failure in FrameView::layout when modifying the DOM during
        pagehide with PageCache enabled
        https://bugs.webkit.org/show_bug.cgi?id=43152

        Always unschedule any pending relayouts when changing the view, not just
        when we're not using the page cache. Otherwise touching the DOM during
        the pagehide handler can lead to layouts that will be done by the time
        the view has changed, which triggers an assert.

        Test: fast/loader/unschedule-relayout-after-unload.html

        * page/Frame.cpp:
        (WebCore::Frame::setView): move unscheduleRelayout outside page cache
        check.
        * page/FrameView.cpp:
        (WebCore::FrameView::layout): remove early return now that assert
        should be correct (and the referenced rdar:// got fixed).

2010-08-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix security origin calculation in createPattern. Need to use
        cachedImage->response().url() instead of cachedImage->url().
        https://bugs.webkit.org/show_bug.cgi?id=44399.

        Test: http/tests/security/canvas-remote-read-remote-image-redirect.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createPattern):

2010-08-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Alexey Proskuryakov.

        TreeWalker is not calling acceptNode function in filter object
        https://bugs.webkit.org/show_bug.cgi?id=35296
        
        We only accepted raw functions as the NodeFilter on TreeWalker. Fix this to
        look for an 'acceptNode' function on the filter object, and use that if present.
        Also throw an exception if the filter object does not have an acceptNode function.

        Test: fast/dom/TreeWalker/acceptNode-filter.html

        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):

2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65814.
        http://trac.webkit.org/changeset/65814
        https://bugs.webkit.org/show_bug.cgi?id=44443

        broke svg/custom/missing-xlink.svg (Requested by kling on
        #webkit).

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

2010-08-23  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Handle blob resource.
        https://bugs.webkit.org/show_bug.cgi?id=43941

        To provide lower level blob reosurce handling for all possible ports,
        BlobResourceHandle derived from ResourceHandle is implemented. It provides
        both synchronous and asynchronous resource loading for blob URL.

        BlobResourceHandle needs to create a FileStreamProxy instance in order to
        asynchronous file stream operation. To achive this, a hook createAsyncFileStream
        is added to ResourceHandleClient interface. When ResourceLoader implements
        ths hook, it creates and returns FileStreamProxy.

        BlobResourceHandle.* is not added to chromium port since it will implement
        its own blob resource handling.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::createAsyncFileStream): Create and return FileStreamProxy.
        * loader/ResourceLoader.h:
        * page/SecurityOrigin.cpp: Add the support to get and validate the origin of blob URL.
        (WebCore::SecurityOrigin::create):
        (WebCore::SecurityOrigin::canLoad):
        * platform/network/BlobRegistryImpl.cpp:
        (WebCore::BlobRegistryImpl::appendStorageItems): Fix a bug that the length is not subtracted.
        * platform/network/BlobResourceHandle.cpp: Added.
        * platform/network/BlobResourceHandle.h: Added.
        * platform/network/HTTPParsers.cpp:
        (WebCore::parseRange):
        * platform/network/HTTPParsers.h:
        * platform/network/ResourceHandle.cpp: Hook up with asynchronous blob resource handling.
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::createAsyncFileStream): Add a hook.
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously): Hook up with synchronous blob resource handling.

2010-08-23  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Remove unneeded BlobRegistryImpl.* and WebBlobRegistryImpl.* from
        chromium project files.
        https://bugs.webkit.org/show_bug.cgi?id=44442

        * WebCore.gypi:

2010-08-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Many LayoutTests crash when run with --html5-treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=44440

        Our list of special tags is out of sync with the HTML5 spec.  This
        patch adds HTML to the list, which fixs a ton of crashers when parsing
        fragments.  We neet to sync up the list at some point, but we want to
        make sure we have test coverage for all those changes, so I've left
        that for a future patch.

        * html/HTMLTreeBuilder.cpp:

2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Context menu in Scripts panel was broken.
        https://bugs.webkit.org/show_bug.cgi?id=44431

        * inspector/InspectorFrontendHost.cpp:
        (WebCore::FrontendMenuProvider::contextMenuItemSelected):
        (WebCore::FrontendMenuProvider::contextMenuCleared):

2010-08-23  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
        https://bugs.webkit.org/show_bug.cgi?id=44432

        Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html

        * dom/Element.cpp:
        (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
        and the qualifiedName has a prefix.

2010-08-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] rendering was broken when missing plugin.
        https://bugs.webkit.org/show_bug.cgi?id=43395

        Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
        don't have proper plugin.
        In this case, RenderEmbeddedObject::paintReplaced call systemFont and
        pass returned font to GraphicsContext.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::setDefaultFontSize):
        (WebCore::RenderThemeEfl::systemFont):
        * platform/efl/RenderThemeEfl.h:

2010-08-23  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove javascript breakpoint specific code from BreakpointSidebarPane
        https://bugs.webkit.org/show_bug.cgi?id=44327

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpoint):
        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
        (WebInspector.Breakpoint):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.JSBreakpointItem):
        (WebInspector.JSBreakpointItem.prototype.compareTo):
        (WebInspector.JSBreakpointItem.prototype.element):
        (WebInspector.JSBreakpointItem.prototype._breakpointClicked):
        (WebInspector.JSBreakpointItem.prototype._checkboxClicked):
        (WebInspector.JSBreakpointItem.prototype._enableChanged):
        (WebInspector.JSBreakpointItem.prototype._textChanged):
        (WebInspector.JSBreakpointItem.prototype._removed):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.addBreakpoint):
        (WebInspector.SourceFrame.prototype._addBreakpointToSource):

2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: inspector protocol should be switched from array based
        message format to object based message format.
        Almost all the protocol related things is generated by CodeGeneratorInspector.pm
        It was changed a bit. As result InspectorBackendStub.js wraps the
        calls into Request objects. InspectorBackendDispatcher.cpp unwraps
        these objects and calls corresponding agents. These two files and
        RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
        Dispatching part of WebInspector also was adjusted for handling Event
        objects produced by RemoteInspectorFrontend.cpp and Response objects
        produced by InspectorBackendDispatcher.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44338

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setAttachedWindow):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::find):
        * inspector/front-end/Callback.js:
        (WebInspector.Callback.prototype.processResponse):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatch):
        (WebInspector_syncDispatch):
        (WebInspector.dispatchMessageFromBackend):
        (WebInspector.reportProtocolError):

2010-08-19  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Remove IDBDatabase.description per spec changes
        https://bugs.webkit.org/show_bug.cgi?id=44264

        There's now no longer any way to access the description from JS.
        The main premise of the manual test is now obsolete. Over time we'll
        be able to add to it again. While I'm at it, I cleaned up the format
        of the manual test to be easier to follow (code and usage wise).

        * manual-tests/indexed-database.html:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:

2010-08-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: element's css: pseudo-class locations
        https://bugs.webkit.org/show_bug.cgi?id=44344

        Also contains a drive-by fix for 44301 (gray out read-only).

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
        (WebInspector.StylePropertiesSection):

2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65803.
        http://trac.webkit.org/changeset/65803
        https://bugs.webkit.org/show_bug.cgi?id=44416

        windows build failed (Requested by loislo on #webkit).

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        * inspector/InspectorValues.h:
        * inspector/front-end/Callback.js:
        (WebInspector.Callback.prototype.processResponse):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatch.delayDispatch):
        (WebInspector.dispatch):
        (WebInspector_syncDispatch):
        (WebInspector.dispatchMessageFromBackend):
        (WebInspector.reportProtocolError):

2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: inspector protocol should be switched from array based
        message format to object based message format.
        Almost all the protocol related things is generated by CodeGeneratorInspector.pm
        It was changed a bit. As result InspectorBackendStub.js wraps the
        calls into Request objects. InspectorBackendDispatcher.cpp unwraps
        these objects and calls corresponding agents. These two files and
        RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
        Dispatching part of WebInspector also was adjusted for handling Event
        objects produced by RemoteInspectorFrontend.cpp and Response objects
        produced by InspectorBackendDispatcher.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44338

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setAttachedWindow):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::find):
        * inspector/front-end/Callback.js:
        (WebInspector.Callback.prototype.processResponse):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatch):
        (WebInspector_syncDispatch):
        (WebInspector.dispatchMessageFromBackend):
        (WebInspector.reportProtocolError):

2010-08-23  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Make the copy of the inspector files silent.

        * GNUmakefile.am:

2010-08-23  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
        https://bugs.webkit.org/show_bug.cgi?id=44403

        Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
        For canvas, always use complex text shaping since stroke and fill are decoupled.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::measureText):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):

2010-08-23  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Extract profiler-related code and data from InspectorController into
        InspectorProfilerAgent.

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

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
        * bindings/js/ScriptProfiler.h:
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
        * bindings/v8/ScriptProfiler.h:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::addProfile):
        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
        (WebCore::InspectorController::addStartProfilingMessageToConsole):
        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        (WebCore::InspectorController::profilerEnabled):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::profilerAgent):
        * inspector/InspectorProfilerAgent.cpp: Added.
        (WebCore::InspectorProfilerAgent::create):
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::addProfile):
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        (WebCore::InspectorProfilerAgent::createProfileHeader):
        (WebCore::InspectorProfilerAgent::disable):
        (WebCore::InspectorProfilerAgent::enable):
        (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        (WebCore::InspectorProfilerAgent::getProfile):
        (WebCore::InspectorProfilerAgent::removeProfile):
        (WebCore::InspectorProfilerAgent::resetState):
        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
        (WebCore::InspectorProfilerAgent::toggleRecordButton):
        * inspector/InspectorProfilerAgent.h: Added.
        (WebCore::InspectorProfilerAgent::clearProfiles):
        (WebCore::InspectorProfilerAgent::enabled):
        (WebCore::InspectorProfilerAgent::isRecordingUserInitiatedProfile):
        (WebCore::InspectorProfilerAgent::setRemoteFrontend):
        (WebCore::InspectorProfilerAgent::startProfiling):
        (WebCore::InspectorProfilerAgent::stopProfiling):

2010-08-23  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Crash when purging the scratch buffer for the shadow
        https://bugs.webkit.org/show_bug.cgi?id=44384

        WebCore::Timer can't be used in a static object bcause it relies on
        thread global data, which is invalid once the application instance is
        destroyed. To overcome the problem, use QObject's timer support for
        the ShadowBuffer class.

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::):
        (WebCore::ShadowBuffer::ShadowBuffer):
        (WebCore::ShadowBuffer::schedulePurge):
        (WebCore::ShadowBuffer::timerEvent):

2010-08-23  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] don't expose the private player in GStreamerGWorld
        https://bugs.webkit.org/show_bug.cgi?id=44332

        Only a pointer to our playbin2 element instance is required
        instead of the whole MediaPlayerPrivateGStreamer instance.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::createGWorld):
        (WebCore::GStreamerGWorld::GStreamerGWorld):
        (WebCore::GStreamerGWorld::~GStreamerGWorld):
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        * platform/graphics/gstreamer/GStreamerGWorld.h:
        (WebCore::GStreamerGWorld::pipeline):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

2010-08-22  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsContext: Simplify getting the clip bounding rect
        https://bugs.webkit.org/show_bug.cgi?id=44396

        Move the Qt 4.8 version check for QPainter::clipBoundingRect()
        into a GraphicsContextPlatformPrivate method.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipOutEllipseInRect):

2010-08-22  Juha Savolainen  <juha.savolainen@weego.fi>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add QTouchEvents support for WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=44330

        This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
        is created for touchevents, WebTouchEvent. Also touchpoints needed a new
        class, WebPlatformTouchPoint. This is similar solution like in other
        events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h 
        Also there was a need to create an empty constructor to PlatformTouchPoint-class.

        * platform/PlatformTouchPoint.h:
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2010-08-22  Daniel Bates  <dbates@rim.com>

        Reviewed by Eric Seidel.

        Encapsulate document marker management into DocumentMarkerController
        https://bugs.webkit.org/show_bug.cgi?id=44383

        Moves the document marker management code in Document.cpp into its own
        class called DocumentMarkerController.

        No functionality was changed, so no new tests.

        * Android.mk: Added DocumentMarkerController.cpp 
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
        * WebCore.exp.in: Substituted symbols __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE
        and __ZN7WebCore24DocumentMarkerController23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE for
        __ZN7WebCore8Document13removeMarkersENS_14DocumentMarker10MarkerTypeE and 
        __ZN7WebCore8Document23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE, respectively.
        * WebCore.gypi: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): Modified to call DocumentMarkerController::detach().
        (WebCore::Document::~Document): Removed "deleteAllValues(m_markers)" as DocumentMarkerController
        is stored in OwnPtr; so it will be destroyed automatically on Document destruction.
        (WebCore::Document::textInserted): Modified to use marker controller.
        (WebCore::Document::textRemoved): Ditto.
        * dom/Document.h:
        (WebCore::Document::markers): Added.
        * dom/DocumentMarkerController.cpp: Added.
        (WebCore::placeholderRectForMarker):
        (WebCore::DocumentMarkerController::detach):
        (WebCore::DocumentMarkerController::addMarker):
        (WebCore::DocumentMarkerController::removeMarkers):
        (WebCore::DocumentMarkerController::copyMarkers):
        (WebCore::DocumentMarkerController::markerContainingPoint):
        (WebCore::DocumentMarkerController::markersForNode):
        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
        (WebCore::DocumentMarkerController::repaintMarkers):
        (WebCore::DocumentMarkerController::setRenderedRectForMarker):
        (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
        (WebCore::DocumentMarkerController::shiftMarkers):
        (WebCore::DocumentMarkerController::setMarkersActive):
        * dom/DocumentMarkerController.h: Added.
        (WebCore::DocumentMarkerController::~DocumentMarkerController):
        * editing/Editor.cpp:
        (WebCore::Editor::ignoreSpelling): Modified to use marker controller.
        (WebCore::findFirstMisspellingInRange): Ditto.
        (WebCore::findFirstGrammarDetailInRange): Ditto.
        (WebCore::Editor::advanceToNextMisspelling): Ditto.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
        (WebCore::Editor::changeBackToReplacedString): Ditto.
        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::doApply): Ditto.
        (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
        * page/Frame.cpp:
        (WebCore::Frame::markAllMatchesForText): Ditto.
        (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Ditto.
        (WebCore::Frame::respondToChangedSelection): Ditto.
        * page/FrameView.cpp:
        (WebCore::FrameView::getTickmarks): Ditto.
        (WebCore::FrameView::paintContents): Ditto.
        * page/Page.cpp:
        (WebCore::Page::unmarkAllTextMatches): Ditto.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip): Ditto.
        (WebCore::HitTestResult::replacedString): Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
        (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Ditto.

2010-08-22  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Add the blob URL member to FormData.
        https://bugs.webkit.org/show_bug.cgi?id=44387

        This is in preparation to switch blob implementation to using BlobData
        model. When a blob is added to a FormData, it is represented as a blob
        URL in the list.

        * platform/network/FormData.cpp:
        (WebCore::FormData::appendBlob):
        * platform/network/FormData.h:
        (WebCore::FormDataElement::FormDataElement):
        (WebCore::FormDataElement::):
        (WebCore::operator==):

2010-08-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 TreeBuilder builds wrong DOM for <a><svg><tr><input></a>
        https://bugs.webkit.org/show_bug.cgi?id=44390

        The HTML5 spec has changed since Adam and I original wrote
        the HTMLTreeBuilder.  Most important for this change was resolution of:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=9580

        I also removed our "phrasing" tag support since that was also removed
        from the spec as part of other bug fixes.

        This is tested by tonyg's <a><svg><tr><input></a> test in adoption01.dat.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-08-22  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] TransparencyLayer: Always use anti-aliasing and smooth pixmap transform
        https://bugs.webkit.org/show_bug.cgi?id=44394

        * platform/graphics/qt/TransparencyLayer.h:
        (WebCore::TransparencyLayer::TransparencyLayer): Set the Antialiasing
        and SmoothPixmapTransforms render hints for all TransparencyLayers.

2010-08-22  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Gradient: Support inner radius larger than outer radius
        https://bugs.webkit.org/show_bug.cgi?id=44392

        * platform/graphics/qt/GradientQt.cpp:
        (WebCore::Gradient::platformGradient): Reverse the (radial) gradient if r0 > r1.

2010-08-22  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Dirk Schulze.

        [Qt] Layer approach to support generic shadow handling
        https://bugs.webkit.org/show_bug.cgi?id=44380

        The pair beginShadowLayer and endShadowLayer creates a temporary image
        where the caller can draw onto, using the returned QPainter. When
        endShadowLayer is called, the temporary image will be filtered, using
        the specified shadow color and blur radius, and drawn to the graphics
        context.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/ContextShadow.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::contextShadow):

2010-08-21  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Media engine should not be asked to open all urls
        https://bugs.webkit.org/show_bug.cgi?id=44370

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load): Do nothing with urls with a type attribute that would be
        rejected by canPlayType().

2010-08-21  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Faster bounding rect for the shadow clip region
        https://bugs.webkit.org/show_bug.cgi?id=44369

        Like in r65650, we should use the faster QPainter::clipBoundingRect
        when it is available.

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::ContextShadow::drawShadowRect):

2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Ariya Hidayat.

        [Qt] When using the raster graphics system on Maemo5, allow
        Flash to render directly into the raster window surface.
        wmode=transparent is now supported as a result of this change.
        
        https://bugs.webkit.org/show_bug.cgi?id=44043
        
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::paintUsingImageSurfaceExtension):

2010-08-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=38428
        HTTP code 500 (and other non-4xx codes) wrongfully treated as success for subresources

        Test: http/tests/misc/script-500.html

        * loader/loader.cpp: (WebCore::Loader::Host::didReceiveData): Treat all HTTP codes >= 400 as
        error ones, since they are.

2010-08-20  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Crash in WebCore::Node::createRendererIfNeeded()
        https://bugs.webkit.org/show_bug.cgi?id=44129

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore): Factor out core bit to insertBetween.
        (WebCore::ContainerNode::insertBetween): Factored out of insertBefore.
        (WebCore::ContainerNode::parserInsertBefore): Similar to insertBefore, but doesn't handle reparenting or dispatch DOM mutation events.
        (WebCore::ContainerNode::removeChild): Factor out core bit to removeBetween.
        (WebCore::ContainerNode::removeBetween): Facotred out of removeChild.
        (WebCore::ContainerNode::parserRemoveChild): Similar to removeChild, but doesn't handle reparenting or dispatch DOM mutation events.
        (WebCore::ContainerNode::addChildCommon):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::ContainerNode::legacyParserAddChild):
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        (WebCore::Node::parserRemoveChild):
        (WebCore::Node::parserInsertBefore):
        * dom/Node.h:
        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite): Use new parserInsertBefore.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::reparentChildren):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Was missing a key bit from the spec about removing the old parent if it exists.

2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed; build fix.  Had included wrong version of build file.

2010-08-20  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Joseph Pecoraro.

        [GTK] Inspector extensions tests fail on GTK+ bots because onSelectionChanged is missing
        https://bugs.webkit.org/show_bug.cgi?id=44342

        * GNUmakefile.am: Fix dependency tracking for copied web inspector files.

2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Darin Fisher.

        Add Callback implementation for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=44349

        No new tests; tests will be added later.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/FileSystemCallbacks.cpp: Added.
        * storage/FileSystemCallbacks.h: Added.

        * storage/EntryCallback.h: Nits fix
        * storage/FileSystemCallback.h: Nits fix

2010-08-20  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] WebKit does not compile with --3d-canvas
        https://bugs.webkit.org/show_bug.cgi?id=44335

        - PlatformGLObject => Platform3DObject
        - Implemented getAttachedShaders()
        - Implemented bufferData() and bufferSubData() for ArrayBuffer*
        - Removed reference to nonexistent variable in getImageData()

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/qt/GraphicsLayerQt.h:

2010-08-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Kilzer.

        #ifdef-out some Leopard-and-earlier code.

        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):

2010-08-20  Kenneth Russell  <kbr@google.com>

        Unreviewed, speculative Chromium build fix. Forward declare
        IntSize in WebGLRenderingContext.h and include IntSize.h in .cpp.

        * html/canvas/WebGLRenderingContext.cpp:
        * html/canvas/WebGLRenderingContext.h:

2010-08-20  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Media element canPlayType("application/octet-stream") not handled correctly
        https://bugs.webkit.org/show_bug.cgi?id=44343

        Test: media/media-can-play-octet-stream.html

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::applicationOctetStream): New, accessor for static string used more than once.
        (WebCore::textPlain): Ditto.
        (WebCore::codecs): Ditto.
        (WebCore::chooseBestEngineForTypeAndCodecs): Special case "application/octet-stream".
        (WebCore::MediaPlayer::load): Use static static string methods.
        (WebCore::MediaPlayer::supportsType): Special case "application/octet-stream".

2010-08-20  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        Implement HTMLVideoElement support for texImage2D and texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=33852

        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
        (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
        (WebCore::WebGLRenderingContext::LRUImageBufferCache::bubbleToFront):
        * html/canvas/WebGLRenderingContext.h:

2010-08-20  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Removing an incorrect ASSERT.
        https://bugs.webkit.org/show_bug.cgi?id=44151

        A failure in the preflight step of a transaction wrapper does not
        guarantee that the transaction is rolled back (and it shouldn't).

        Test: storage/change-version-no-crash-on-preflight-failure.html

        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):

2010-08-20  David Leong  <david.leong@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Update Symbian capabilities to remove AllFiles and DRM
        
        Add CONFIG(production) variation for set of DLL capabilities.
        DRM and AllFiles capabilities need to be audited for the sis
        package to be signed.
        
        No new tests.

        * WebCore.pro: Updated Symbian Capabilities. 

2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Do Not Copy Subversion Related Files in Inspector Build Phase
        https://bugs.webkit.org/show_bug.cgi?id=44353

        * WebCore.xcodeproj/project.pbxproj: remove .svn directories in the "Copy Inspector Resources" build phase.

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

        Reviewed by Adam Barth.

        style correction in markup.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44318

        Make markup.cpp pass check-webkit-style.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulator::appendAttributeValue):
        (WebCore::appendEscapedContent):
        (WebCore::MarkupAccumulator::appendStartMarkup):
        (WebCore::completeURLs):
        (WebCore::isElementPresentational):
        (WebCore::isSpecialAncestorBlock):
        (WebCore::shouldIncludeWrapperForFullySelectedRoot):
        (WebCore::createMarkup):
        (WebCore::fillContainerFromString):
        (WebCore::createFragmentFromText):
        (WebCore::createFragmentFromNodes):

2010-08-20  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        crash when trying to access a stale Node pointer in FocusController::setFocusedNode
        https://bugs.webkit.org/show_bug.cgi?id=44226

        Test: fast/events/focus-change-crash2.html

        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode): add a ref to prevent the focused node from being deleted

2010-08-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8245719> backface-visibility and reflections don't play nicely together.
        
        On elements with a reflection and backface-visibility: hidden, set the doubleSided property on the 
        reflection flattening layer so that backface-visibility works in all configurations.

        Test: compositing/reflections/backface-hidden-reflection.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateBackfaceVisibility): Call setDoubleSided: on the structural
        layer for reflections.
        (WebCore::GraphicsLayerCA::ensureStructuralLayer): Fix a comment typo, and call updateBackfaceVisibility()
        when we gain a structural layer.

2010-08-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Slider labels do not update as you move the sliders on this page
        https://bugs.webkit.org/show_bug.cgi?id=41020
        
        When repainting after layout in a multicol element, we need to adjust the
        repaint rect for the columns.

        Test: fast/repaint/multicol-repaint.html

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

2010-08-20  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Move FileStreamClient to platform and add AsyncFileStream interface.
        https://bugs.webkit.org/show_bug.cgi?id=44224

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/FileStreamProxy.cpp: Account for the change.
        (WebCore::FileStreamProxy::FileStreamProxy):
        (WebCore::FileStreamProxy::stop):
        * html/FileStreamProxy.h: Make it derive from AsyncFileStream.h.
        * platform/AsyncFileStream.h: Added.
        * platform/FileStreamClient.h: Renamed from WebCore/html/FileStreamClient.h.

2010-08-20  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Fisher.

        Prevent use of stale notification presenter pointer in notifications by instead using
        a notification center pointer and deriving the presenter from it. Notification presenter
        gets properly destroyed using disconnectFrame function inside notification center. Add
        null checks for notification presenter.
        https://bugs.webkit.org/show_bug.cgi?id=43645

        Test: fast/notifications/notifications-window-close-crash.html

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        (WebCore::Notification::create):
        (WebCore::Notification::show):
        (WebCore::Notification::cancel):
        (WebCore::Notification::contextDestroyed):
        (WebCore::Notification::finishLoading):
        * notifications/Notification.h:
        (WebCore::Notification::detachPresenter):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-08-20  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        r64526 broke the GTK+-3 build
        https://bugs.webkit.org/show_bug.cgi?id=44254

        No new tests, as this is covered by manual-tests/cursor.html.

        * platform/gtk/CursorGtk.cpp:
        (WebCore::createPixmapFromBits): Added this method which turns the inline data
        structures into GdkPixmaps using Cairo and GDK-Cairo.
        (WebCore::createNamedCursor): Modified this method to use the new helper.
        * platform/gtk/CursorGtk.h: Changed all inline data structures to be unsigned
        char arrays (which Cairo requires). The progress cursor is known in X11 icon themes
        as "left_ptr_watch." This change to the name preserves the old behavior of taking this
        icon from the theme when available. It seems that this worked in the past due to a fluke
        or failure of the previous code.

2010-08-20  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [Cairo] Eliminate full-surface copy from canvas.drawImage(...)
        https://bugs.webkit.org/show_bug.cgi?id=44190

        Covered by canvas layout tests.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy): Return false now.
        (WebCore::ImageBuffer::clip): Add a link to the bug which tracks this feature.
        (WebCore::ImageBuffer::draw): Construct the bitmap image without the full-surface copy.
        (WebCore::ImageBuffer::drawPattern): Ditto.

2010-08-20  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        [REGRESSION] r65608 broke gtk distcheck
        https://bugs.webkit.org/show_bug.cgi?id=44333

        Define the inspector.html as a noinst_DATA intead of using the dir
        suffix, which is used for installation.

        * GNUmakefile.am:

2010-08-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: implement breaking on DOM node subtree mutations.
        https://bugs.webkit.org/show_bug.cgi?id=42886

        Add two entries to Web Inspector DOM element context menu:
        1. "Stop on subtree modifications": will break on adding/removing of any element which is a child of the DOM element
        2. "Remove breakpoints": will remove all breakpoints associated with the DOM element

        * English.lproj/localizedStrings.js:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::breakProgram):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::breakProgram):
        (WebCore::ScriptDebugServer::breakProgramCallback):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::hasBreakpoint):
        (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
        (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/Settings.js:

2010-08-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: discard InjectedScript reference on ScriptState when clearing injected scripts
        https://bugs.webkit.org/show_bug.cgi?id=44328

        Otherwise if the reference is not cleared we may remove InjectedScript from the
        map on InjectedScriptHost but keep it on ScriptState and try to reuse it later.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::discardInjectedScript):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::discardInjectedScript):
        (WebCore::InjectedScriptHost::injectedScriptFor):
        * inspector/InjectedScript.h:
        (WebCore::InjectedScript::scriptState):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::discardInjectedScripts):
        * inspector/InjectedScriptHost.h:

2010-08-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Clippers are rasterized, when applied to scaled target object
        https://bugs.webkit.org/show_bug.cgi?id=44325

        Use SVGImageBufferTools logic for RenderSVGResourceClipper, just like RenderSVGResourceMasker/Gradient,
        to avoid pixelation, when the clipper is applied to a scaled target object, or when the document is scaled.

        Test: svg/clip-path/clip-path-pixelation.svg

        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        (WebCore::RenderSVGResourceClipper::createClipData):
        * rendering/RenderSVGResourceClipper.h:

2010-08-20  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Initialize GDK before loading plugins
        https://bugs.webkit.org/show_bug.cgi?id=44324

        Attempt to call gdk_init_check() before loading any plugins.
        This prevents various crashes and freezes in Adobe's Flash plugin.

        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::initializeGdkIfPossible):
        (WebCore::PluginPackage::load):

2010-08-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        Follow-up to r41020.

        No change in behavior, thus no new tests.

        * platform/graphics/mac/FontPlatformDataMac.mm:
        (WebCore::FontPlatformData::FontPlatformData): Asserted that the NSFont parameter is not nil,
        and removed nil check.
        (WebCore::FontPlatformData::setFont): Asserted that the NSFont parameter is not nil and that
        this is not the deleted value, and removed code to handle those cases.

2010-08-19  Vincent Scheib  <scheib@chromium.org>

        Reviewed by David Levin.

        [chromium] TilingData::tilePositionY has typo of X where Y should be used
        https://bugs.webkit.org/show_bug.cgi?id=44195

        Corrected error, and rewrote functions to use for loop instead of recursion.

        Unit Tests added to WebKit/chromium/tests/TilingDataTest.cpp

        * platform/graphics/chromium/TilingData.cpp:
        (WebCore::TilingData::tilePositionX):
        (WebCore::TilingData::tilePositionY):

2010-08-19  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Brady Eidson.

        Assertion failure when going back inside frame during onload
        https://bugs.webkit.org/show_bug.cgi?id=44217

        Fix assertion failure when doing a history.back() within the main frame
        during onload of a child frame. This would happen when
        HISTORY_ALWAYS_ASYNC was set to 0, because we would only compare the
        current frame document sequence numbers when determining if we're in the
        same document, instead of also recursing over child frames.

        Test: fast/history/history-back-within-subframe-hash.html

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::hasSameDocuments):
        * history/HistoryItem.h:
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):

2010-08-19  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Antonio Gomes.

        [Qt] Fix cursor change propagation
        https://bugs.webkit.org/show_bug.cgi?id=44250

        No functional change so new tests.

        Propagate the setCursor callback to the PageClient via the HostWindow instead of preassuming
        the concrete type of the ChromeClient (what was generally wrong and actually incompatible with WebKit2).
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setCursor):

2010-08-19  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Rearranging the accelerated compositing code such that the
        layer rendering logic now lives in the layer classes rather than the
        compositor. This lifts the restriction of having one texture per layer
        and significantly cleans up the compositor code. This change mostly
        resulted in a lot of code moving around files. Noteworthy changes
        include:
        * Made LayerChromium a proper based class for layers that mostly handles
          the updates to the layer properties and superlayer / sublayer updates.
        * Introduced a new layer type, ContentLayerChromium, which handles
          layers that require a GraphicsContext to render their content.
        * ImageLayerChromium and VideoLayerChromium now derive from
          ContentLayerChromium as they share the same shader and draw function.
        * Removed TransformLayerChromium as its functionality is now replaced by
          the base LayerChromium class.
        * Re-arranged the order in which the members of LayerChromium are defined
          in the header file to form a more reasonable logical grouping.
        * Changed LayerRendererChromium to use the shader creation and drawing
          methods defined in the layer classes. As a result, a lot of GL code was
          removed from the implementation file.
        * Eliminated randomly dispersed calls to check for GL errors by a macro (GLC)
          which allows turning error testing on/off with a single define (DEBUG_GL_CALLS
          defined in LayerRendererChromium.h)
        * Replaced the previous layer render loop with two traversals of the layer
          hierarchy, the first to update transforms and opacity values and the
          second to render the layers. Eliminated global Z sorting of all layers as
          it was wrong.
        https://bugs.webkit.org/show_bug.cgi?id=44148

        Test: Verified that pages using the compositor and compositor
              layout tests have not regressed.

        * WebCore.gypi:
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
        (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
        (WebCore::CanvasLayerChromium::updateContents):
        (WebCore::CanvasLayerChromium::draw):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        (WebCore::CanvasLayerChromium::SharedValues::canvasShaderProgram):
        (WebCore::CanvasLayerChromium::SharedValues::shaderSamplerLocation):
        (WebCore::CanvasLayerChromium::SharedValues::shaderMatrixLocation):
        (WebCore::CanvasLayerChromium::SharedValues::shaderAlphaLocation):
        (WebCore::CanvasLayerChromium::SharedValues::initialized):
        * platform/graphics/chromium/ContentLayerChromium.cpp: Added.
        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
        (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
        (WebCore::ContentLayerChromium::create):
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        (WebCore::ContentLayerChromium::updateContents):
        (WebCore::ContentLayerChromium::updateTextureRect):
        (WebCore::ContentLayerChromium::draw):
        * platform/graphics/chromium/ContentLayerChromium.h: Added.
        (WebCore::ContentLayerChromium::drawsContent):
        (WebCore::ContentLayerChromium::SharedValues::contentShaderProgram):
        (WebCore::ContentLayerChromium::SharedValues::shaderSamplerLocation):
        (WebCore::ContentLayerChromium::SharedValues::shaderMatrixLocation):
        (WebCore::ContentLayerChromium::SharedValues::shaderAlphaLocation):
        (WebCore::ContentLayerChromium::SharedValues::initialized):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        (WebCore::ImageLayerChromium::updateContents):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::loadShader):
        (WebCore::LayerChromium::SharedValues::SharedValues):
        (WebCore::LayerChromium::SharedValues::~SharedValues):
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        (WebCore::LayerChromium::createShaderProgram):
        (WebCore::LayerChromium::toGLMatrix):
        (WebCore::LayerChromium::drawTexturedQuad):
        (WebCore::LayerChromium::drawDebugBorder):
        (WebCore::LayerChromium::prepareForDraw):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::getSublayers):
        (WebCore::LayerChromium::setPosition):
        (WebCore::LayerChromium::contentsDirty):
        (WebCore::LayerChromium::drawsContent):
        (WebCore::LayerChromium::updateContents):
        (WebCore::LayerChromium::draw):
        (WebCore::LayerChromium::SharedValues::quadVerticesVbo):
        (WebCore::LayerChromium::SharedValues::quadElementsVbo):
        (WebCore::LayerChromium::SharedValues::maxTextureSize):
        (WebCore::LayerChromium::SharedValues::borderShaderProgram):
        (WebCore::LayerChromium::SharedValues::borderShaderMatrixLocation):
        (WebCore::LayerChromium::SharedValues::borderShaderColorLocation):
        (WebCore::LayerChromium::SharedValues::initialized):
        (WebCore::LayerChromium::layerRenderer):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::debugGLCall):
        (WebCore::LayerRendererChromium::useShader):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::createLayerTexture):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::checkTextureSize):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::projectionMatrix):
        (WebCore::LayerRendererChromium::layerSharedValues):
        (WebCore::LayerRendererChromium::contentLayerSharedValues):
        (WebCore::LayerRendererChromium::canvasLayerSharedValues):
        * platform/graphics/chromium/TransformLayerChromium.cpp: Removed.
        * platform/graphics/chromium/TransformLayerChromium.h: Removed.
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateContents):
        (WebCore::VideoLayerChromium::createTextureRect):
        * platform/graphics/chromium/VideoLayerChromium.h:

2010-08-19  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins

        * WebCore.exp.in:
        (WebCore::ScrollView::contentsToWindow): Added export.

2010-08-19  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled

        Still trying to make Qt Linux Release minimal buildbot happy.

        * plugins/PluginViewNone.cpp: Compile missing methods for Qt.

2010-08-19  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled

        Reviewed by Joseph Pecoraro.

        * plugins/PluginView.cpp: Added #if ENABLE(NETSCAPE_PLUGIN_API)
        and #endif macros around the source to fix the Qt Linux Release
        Minimal build.

2010-08-19  Stephen White  <senorblanco@chromium.org>

        Reviewed by Kenneth Russell.

        [CHROMIUM] Assert w/canvas image draw
        https://bugs.webkit.org/show_bug.cgi?id=44279

        Don't use bitmap->pixelRef()->getPixels() directly; prefer
        bitmap->pixels() and an SkAutoLockPixels.  Also, make sure to set
        the backing store state to Software when it was None.  This handles
        missing draws when the first call is software.  Finally, remove some
        spurious prepareForSoftwareDraw() calls in addPath() and beginPath().
        It's really the fillPath() or strokePath() that matters.

        Covered by LayoutTests/fast/canvas/arc360.html and others.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::beginPath):
        Remove spurious prepareForSoftwareDraw() calls.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawBitmapGLES2):
        Lock SkBitmap's pixels, and use ->getPixels().
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
        Switch backing store state to Software when it was None.

2010-08-19  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled

        Reviewed by Joseph Pecoraro.

        * WebCore.exp.in:
        (WebCore::HTMLPlugInElement::getNPObject): Moved from general
        section into ENABLE(NETSCAPE_PLUGIN_API) section.
        (WebCore::FrameView::windowClipRectForLayer): Moved from
        ENABLE(NETSCAPE_PLUGIN_API) section to general section since
        it's used by WebKit2.
        * plugins/PluginView.h: Added #if ENABLE(NETSCAPE_PLUGIN_API)
        and #endif macros as needed to make iOS WebKit build with
        NETSCAPE_PLUGIN_API disabled.
        * plugins/PluginViewNone.cpp: Ditto.
        (WebCore::PluginView::platformGetValueStatic):

2010-08-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make DocumentParser safer to use
        https://bugs.webkit.org/show_bug.cgi?id=43055

        Make DocumentParser and its subclasses RefCounted, and protect
        HTMLDocumentParser during parsing. It's possible for a parser to
        get deleted if certain actions (e.g., a document.write()) occur
        synchronously.

        The original version of this patch was written by Nate Chapin.

        DocumentParser doesn't actually have to be fully RefCounted, since
        the only two things which should ever hold a reference to it are
        Document and DocumentParser itself.  However using RefCounted and
        RefPtr was easier/cleaner than inventing a custom ref() scheme.

        This deploys a new "detach()" method throughout the parsing
        framework.  detach() causes the parser to disconnect from the
        document so that no further modifications will be made to the
        document while any possible DocumentParser stacks are unwound.

        The irony of this patch is that the new detach() system is never
        used, since Document always outlives the DocumentParser in all of
        our layout tests.  There is an ASSERT in ~Document() to verify
        that the DocumentParser will not outlive the Document.

        However I expect that we will soon either find new test cases, or change
        the architecture in such a way that DocumentParser will outlive
        Document.  At which point, the detach() plumbing will be crucial.
        Right now detach() serves as a safe-guard against use-after-free bugs
        for any case where DocumentParser does outlive the Document.

        This also fixes test cases attached to:
        https://bugs.webkit.org/show_bug.cgi?id=42099

        Tests: fast/frames/document-write-in-iframe-onload.html
               fast/frames/set-parent-src-synchronously.html
               fast/parser/document-close-iframe-load.html
               fast/parser/document-close-nested-iframe-load.html
               fast/parser/iframe-sets-parent-to-javascript-url.html

        * dom/Document.cpp:
         - Added a new detachParser() call to be used anywhere we
           used to call m_parser.clear().
           There is an ASSERT in ~DocumentParser which ensures that
           we get this right.
        (WebCore::Document::removedLastRef):
        (WebCore::Document::~Document):
        (WebCore::Document::createParser):
        (WebCore::Document::detachParser):
        (WebCore::Document::cancelParsing):
        (WebCore::Document::implicitOpen):
         - removed redundant m_parser.clear()
        (WebCore::Document::implicitClose):
        * dom/Document.h:
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::~DocumentParser):
         - ASSERT that callers always call detach() before destruction.
         - This ASSERT might prove too cumbersome, but for now it's useful.
        (WebCore::DocumentParser::detach):
        * dom/DocumentParser.h:
        * dom/RawDataDocumentParser.h:
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::finish):
         - Add a FIXME explaining part of the reason why
           stopParsing() and detach() are separate concepts.
        * dom/XMLDocumentParser.h:
        (WebCore::XMLDocumentParser::create):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::parseDocumentFragment):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseDocumentFragment):
        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::detach):
        (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
        * html/HTMLConstructionSite.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocument.h:
        * html/HTMLDocumentParser.cpp:
         - We need to protect(this) before calling into any code
           which might cause the parser to be destroyed.
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::detach):
        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::notifyFinished):
        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLDocumentParser::parseDocumentFragment):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::create):
        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::detach):
        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
        (WebCore::HTMLScriptRunner::executeScript):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLScriptRunner::runScript):
        * html/HTMLScriptRunner.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::detach):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::finished):
        * html/HTMLTreeBuilder.h:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        * html/HTMLViewSourceDocument.h:
        * html/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
        * html/HTMLViewSourceParser.h:
        (WebCore::HTMLViewSourceParser::create):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::create):
        (WebCore::FTPDirectoryDocument::createParser):
        * loader/FTPDirectoryDocument.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::create):
        (WebCore::ImageDocumentParser::ImageDocumentParser):
        (WebCore::ImageDocument::createParser):
        * loader/ImageDocument.h:
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::create):
        (WebCore::MediaDocument::createParser):
        * loader/MediaDocument.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::create):
        (WebCore::PluginDocument::createParser):
        * loader/PluginDocument.h:
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::create):
        (WebCore::SinkDocument::createParser):
        * loader/SinkDocument.h:
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::create):
        (WebCore::TextDocument::createParser):
        (WebCore::createTextDocumentParser):
        * loader/TextDocument.h:

2010-08-19  David Kilzer  <ddkilzer@apple.com>

        Fix compilation of SelectElement.cpp with ARROW_KEYS_POP_MENU == 0

        Reviewed by Simon Fraser.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler): Added
        UNUSED_PARAM() macro for htmlForm argument when
        ARROW_KEYS_POP_MENU defined as zero.

2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Disable XSLT for production configuration
        https://bugs.webkit.org/show_bug.cgi?id=37445

        Introduce a new CONFIG option to maintain stable configuration for
        the QtWebKit port and disable XSLT for the stable configuration
        because of bug 37445.

        No new tests as there is no new functionality.

        * features.pri:

2010-08-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Implement strict type checking in js bindings for WebGL functions
        https://bugs.webkit.org/show_bug.cgi?id=44202

        Test: fast/canvas/webgl/bad-arguments-test.html

        * bindings/js/JSWebGLRenderingContextCustom.cpp: Add type check for wrapper types and DOMString and throw error in case of mismatch.
        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Ditto.
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):
        * html/canvas/WebGLRenderingContext.idl: Add attribute StrictTypeChecking for WebGL functions.

2010-08-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Clean up some selection code
        https://bugs.webkit.org/show_bug.cgi?id=44314
        
        Change the concept of "layout" in SelectionController to "updateCaretRect", renaming
        methods accordingly.
        
        Move selection and printing methods in RenderView.h into groups.

        No behavioral changes.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::setCaretRectNeedsUpdate):
        (WebCore::SelectionController::updateCaretRect):
        (WebCore::SelectionController::localCaretRect):
        (WebCore::SelectionController::recomputeCaretRect): Test m_caretRectNeedsUpdate first.
        (WebCore::SelectionController::invalidateCaretRect):
        * editing/SelectionController.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderView.h:
        (WebCore::RenderView::selectionStart):
        (WebCore::RenderView::selectionEnd):
        (WebCore::RenderView::printRect):
        (WebCore::RenderView::setPrintRect):

2010-08-19  Simon Fraser  <simon.fraser@apple.com>

        Fix Chromium build.
        
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged):

2010-08-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Nikolas Zimmermann.

        HTMLElement::isContentEditable() can cause an updateStyleIfNeeded() to happen in the middle of layout
        https://bugs.webkit.org/show_bug.cgi?id=21834
        <rdar://problem/8093653&8261394>
        
        If we're in the middle of layout, or painting, and something causes updateStyleIfNeeded() to
        get called, then we can end up entering recalcStyle() during layout or painting. This is bad
        because it can create/destry the renderers and RenderLayers which are in use by layout/painting.
        This is the cause of a number of random crashers, some of which show up more frequently
        in content which uses accelerated compositing.
        
        The changes here:
        1. Add an assertion in Document::updateStyleIfNeeded() that we are not laying out or painting.
        2. Remove calls to updateStyleIfNeeded() in editing and caret painting code
        3. Pass along information to CTM and BBox-related SVG methods to indicate whether it's safe
           to update style.

        Tested by new assertions and existing tests.

        * dom/Document.cpp:
        (WebCore::Document::updateStyleIfNeeded): New assertion that we are not mid-layout or painting.
        (WebCore::command): Call updateStyleIfNeeded() to ensure that subsequent calls to isContentEditable()
        return the correct result.

        * dom/Element.cpp:
        (WebCore::Element::focus): Move the supportsFocus() call to after style has been updated.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::localCaretRect):
        (WebCore::SelectionController::caretRepaintRect):
        (WebCore::SelectionController::paintCaret):
        * editing/SelectionController.h:
        (WebCore::SelectionController::localCaretRectForPainting): When painting, use localCaretRectForPainting()
        which does not update style. Make localCaretRect() non-const so allowing it to update style without ugly casts.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isContentEditable): Don't call updateStyleIfNeeded() here.
        (WebCore::HTMLElement::isContentRichlyEditable): Ditto.
        (WebCore::HTMLElement::contentEditable): Ditto.

        * page/FrameView.h:
        (WebCore::FrameView::isMidLayout): New accessor, used for asserting.

        * rendering/RenderPath.cpp:
        (WebCore::fillAndStrokePath): Pass DisallowStyleUpdate to getScreenCTM since we are painting.
        * rendering/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): This is only called when
        painting, so use DisallowStyleUpdate.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged): Changes to the style attribute should not have
        side effects, since a call to Element::getAttribute() is allowed to result in a call to
        setAttribute() for the style attribute. To avoid updateStyleIfNeeded() during painting,
        this must not cause SVG to do extra work.

        * svg/SVGLocatable.cpp: Pass StyleUpdateStrategy down to these methods to indicate
        whether it's OK to update style.
        (WebCore::SVGLocatable::getBBox):
        (WebCore::SVGLocatable::computeCTM):
        (WebCore::SVGLocatable::getTransformToElement):
        * svg/SVGLocatable.h:
        (WebCore::SVGLocatable::):
        * svg/SVGStyledLocatableElement.cpp:
        (WebCore::SVGStyledLocatableElement::getBBox):
        (WebCore::SVGStyledLocatableElement::getCTM):
        (WebCore::SVGStyledLocatableElement::getScreenCTM):
        * svg/SVGStyledLocatableElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::getCTM):
        (WebCore::SVGStyledTransformableElement::getScreenCTM):
        (WebCore::SVGStyledTransformableElement::getBBox):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::getBBox):
        (WebCore::SVGTextElement::getCTM):
        (WebCore::SVGTextElement::getScreenCTM):
        * svg/SVGTextElement.h:

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

        Reviewed by Darin Adler.

        Range, EAnnotateForInterchange, and EAbsoluteURLs should be member variables of MarkupAccumulator
        https://bugs.webkit.org/show_bug.cgi?id=44229

        No new tests are added since this is a clean up.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulator::MarkupAccumulator): Added shouldResolveURLs, shouldAnnotate, and range.
        (WebCore::MarkupAccumulator::shouldResolveURLs): Private inline accessor for m_shouldResolveURLs.
        (WebCore::MarkupAccumulator::shouldAnnotate): Private inline accessor for m_shouldAnnotate.
        (WebCore::MarkupAccumulator::appendEndTag): Renamed local variable result to markup.
        (WebCore::MarkupAccumulator::appendStartTag): Removed range, annotate, shouldResolveURLs from the function arguments.
        (WebCore::MarkupAccumulator::wrapWithNode): Ditto.
        (WebCore::MarkupAccumulator::appendStartMarkup): Ditto.
        (WebCore::serializeNodes): Ditto and uses MarkupAccumulator.
        (WebCore::createMarkup): Uses MarkupAccumulator.
        (WebCore::serializeNodesWithNamespaces): Ditto.

2010-08-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not dump inspector errors into the inspected window console.
        https://bugs.webkit.org/show_bug.cgi?id=44272

        * inspector/front-end/inspector.js:
        (WebInspector.reportProtocolError):

2010-08-19  Jeremy Orlow  <jorlow@chromium.org>

        Chromium build fix.

        Use ASSERT_UNUSED on variables that aren't used besides by the ASSERT.

        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):

2010-08-19  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: expose Panel.onSelectionChanged in extension API
        https://bugs.webkit.org/show_bug.cgi?id=44171

        * inspector/front-end/ExtensionAPI.js:
        (injectedExtensionAPI.PanelImpl):
        (injectedExtensionAPI):

2010-08-19  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] Abort idle IDBTransactions when the JS context they were created in finishes execution.
        https://bugs.webkit.org/show_bug.cgi?id=44101

        This change also introduces the TransactionCoordinator, which will be used
        to schedule transactions for execution.

        Test: storage/indexeddb/transaction-basics.html

        * WebCore.gypi:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::runScript):
        (WebCore::V8Proxy::callFunction):
        (WebCore::V8Proxy::didLeaveScriptContext):
        * bindings/v8/V8Proxy.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toIDBTransaction):
        * dom/EventTarget.h:
        * page/PageGroup.h:
        (WebCore::PageGroup::hasIDBFactory):
        * storage/IDBAbortEvent.cpp: Added.
        (WebCore::IDBAbortEvent::create):
        (WebCore::IDBAbortEvent::IDBAbortEvent):
        (WebCore::IDBAbortEvent::~IDBAbortEvent):
        * storage/IDBAbortEvent.h: Added.
        (WebCore::IDBAbortEvent::isIDBAbortEvent):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::create):
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::IDBFactoryBackendImpl::abortPendingTransactions):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:
        * storage/IDBPendingTransactionMonitor.cpp: Added.
        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
        (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
        (WebCore::IDBPendingTransactionMonitor::clearPendingTransactions):
        (WebCore::IDBPendingTransactionMonitor::pendingTransactions):
        * storage/IDBPendingTransactionMonitor.h: Added.
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::id):
        (WebCore::IDBTransaction::stop):
        (WebCore::IDBTransaction::timerFired):
        * storage/IDBTransaction.h:
        * storage/IDBTransactionBackendInterface.h:
        * storage/IDBTransactionCallbacks.h: Added.
        (WebCore::IDBTransactionCallbacks::~IDBTransactionCallbacks):
        * storage/IDBTransactionCoordinator.cpp: Added.
        (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::create):
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        (WebCore::IDBTransactionBackendImpl::objectStore):
        (WebCore::IDBTransactionBackendImpl::mode):
        (WebCore::IDBTransactionBackendImpl::scheduleTask):
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::sqliteDatabase):
        (WebCore::IDBTransactionBackendImpl::id):
        (WebCore::IDBTransactionBackendImpl::setCallbacks):
        (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
        (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
        (WebCore::IDBTransactionCoordinator::createTransaction):
        (WebCore::IDBTransactionCoordinator::abort):
        * storage/IDBTransactionCoordinator.h: Added.
        (WebCore::IDBTransactionCoordinator::create):

2010-08-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium DevTools: There is no need in resource-based InjectedScript.js source.
        Now that we populate front-end after its onload handler, we don't need
        to install injected script early. Exposing injected script source on the WebCore
        level here.
        https://bugs.webkit.org/show_bug.cgi?id=44029

        * inspector/InjectedScriptHost.h:
        (WebCore::InjectedScriptHost::injectedScriptSource):

2010-08-18  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Implement persistance for IndexedDB ObjectStores
        https://bugs.webkit.org/show_bug.cgi?id=44164

        Get rid of the in-memory storage of ObjectStores and instead
        use SQL backed memory.

        Existing tests give most of the coverage.  Will update the manual
        test in the next patch (which will also re-work database.description).

        * manual-tests/indexed-database.html: Get rid of race where you can click before the page loads.
        * platform/sql/SQLiteStatement.cpp: Add two helper functions
        (WebCore::SQLiteStatement::bindInt):
        (WebCore::SQLiteStatement::isColumnNull):
        * platform/sql/SQLiteStatement.h:
        * storage/IDBCursorBackendImpl.cpp: 
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        (WebCore::IDBDatabaseBackendImpl::importObjectStores):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
        * storage/IDBIndexBackendImpl.h:
        (WebCore::IDBIndexBackendImpl::create):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::whereClause):
        (WebCore::bindKey):
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        (WebCore::IDBObjectStoreBackendImpl::importIndexes):
        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
        * storage/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::create):
        (WebCore::IDBObjectStoreBackendImpl::database):

2010-08-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Pattern is rasterized
        https://bugs.webkit.org/show_bug.cgi?id=41396

        SVG pattern size changed when resizing browser
        https://bugs.webkit.org/show_bug.cgi?id=38704

        Incorrect pattern tilling
        https://bugs.webkit.org/show_bug.cgi?id=41603

        Apply same fixes to <pattern> that <mask> recently received. Build the tile image in absolute coordinates,
        to avoid pixelation, when the target element is scaled. Also fixes problems when zooming into patterns.

        Clamp ImageBuffer sizes to RenderSVGRoots viewport, now that gradient/pattern and mask buffers are created
        in absolute coordinates -> no more huge image buffer allocations, that could fail.

        Drop overflow="visible" support for <pattern>, which complicates the code a lot. Neither Opera nor Firefox
        support this, and SVG 1.1 2nd Edition says that the rendering behaviour is "undefined".

        Tests: svg/batik/paints/patternRegions-positioned-objects.svg
               svg/custom/pattern-incorrect-tiling.svg
               svg/custom/pattern-no-pixelation.svg
               svg/transforms/text-with-mask-with-svg-transform.svg

        * rendering/PaintInfo.h:
        (WebCore::PaintInfo::applyTransform): Don't alter the repaint rect if it's infinite (only affects SVG).
        (WebCore::PaintInfo::infiniteRect): Moved from RenderLayer into PaintInfo, as applyTransform() needs it.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
        * rendering/RenderLayer.h: Moved infiniteRect() to PaintInfo.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::clippedByAncestor): Ditto.
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): Clamp image buffer size, use new SVGImageBufferTools helper methods for that.
        (WebCore::clipToTextMask): Adapt to renames/code changes in SVGImageBufferTools. 
        (WebCore::RenderSVGResourceGradient::applyResource): Ditto.
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource): lamp image buffer size, use new SVGImageBufferTools helper methods for that.
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Adapt to renames/code changes in SVGImageBufferTools.
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource): Rewrite to create tile image buffers in absolute coordinates, avoids pixelation artefacts.
        (WebCore::calculatePatternBoundaries):
        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
        (WebCore::RenderSVGResourcePattern::createTileImage):
        * rendering/RenderSVGResourcePattern.h:
        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::transformationToOutermostSVGCoordinateSystem): Helper method, concating all localToParentTransforms() up until RenderSVGRoot is reached.
        (WebCore::SVGImageBufferTools::createImageBuffer): Simplified.
        (WebCore::SVGImageBufferTools::clipToImageBuffer): Rename absoluteTargetRect to clampedAbsoluteTargetRect.
        (WebCore::SVGImageBufferTools::roundedImageBufferSize): New helper method to centralize FloatSize -> IntSize rounding, when creating image buffers.
        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): New helper methods to clamp an image buffer rect against the viewport.
        * rendering/SVGImageBufferTools.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::renderSubtreeToImage): Use PaintInfo::infiniteRect() as repaint rect, to avoid any culling. 
        (WebCore::SVGRenderSupport::findTreeRootObject): Renamed from svgRootTreeObject, and expose it.
        (WebCore::SVGRenderSupport::layoutChildren): s/svgRootTreeObject/findTreeRootObject/.
        * rendering/SVGRenderSupport.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentTranslate): Be sure to relayout on invalidation, otherwhise resources are not updated, and we have to update them, as they depend on the absolute transform.

2010-08-19  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Dirk Schulze.

        [GTK] The size of the shadow image uses the standard deviation
        size instead of the blur radius
        https://bugs.webkit.org/show_bug.cgi?id=40793

        The kernelSize variable was renamed to radius and recalculated
        considering the CSS3 specification
        http://www.w3.org/TR/css3-background/#the-box-shadow, and the
        visual result of other browsers. The HTML5 canvas shadow standard
        deviation calculation that was used, was not appropiate for the
        blur distance specified in the CSS3.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
        Changed the calculation, now we use the parameter in the style
        directly as recomended in the CSS3 standard.
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::createPlatformShadow): We get the
        standard deviation from the radius using the new function and we
        create the filter with that deviation.
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::calculateStdDeviation):  Added this
        function that gets the standard deviation from the blur
        radius. Required in the CSS3 case where we have this radio and we
        need the deviation to initialize the algorithm.
        * platform/graphics/filters/FEGaussianBlur.h:

2010-08-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Avoid unnecessary string copy in TextCodecQt::decode()
        https://bugs.webkit.org/show_bug.cgi?id=44232

        * platform/text/qt/TextCodecQt.cpp:
        (WebCore::TextCodecQt::decode): Use String::append(const UChar*, int)
        to avoid creating a temporary string.

2010-08-19  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] GTK XOverlay support in GStreamerGWorld
        https://bugs.webkit.org/show_bug.cgi?id=39474

        GStreamerGWorld now catches synchronous messages coming from the
        sinks and creates a GTK window where the video can be overlayed if
        fullscreen display is requested using enterFullscreen.

        * GNUmakefile.am:
        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::gstGWorldSyncMessageCallback):
        (WebCore::GStreamerGWorld::GStreamerGWorld):
        (WebCore::GStreamerGWorld::~GStreamerGWorld):
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        (WebCore::GStreamerGWorld::setWindowOverlay):
        * platform/graphics/gstreamer/GStreamerGWorld.h:
        (WebCore::GStreamerGWorld::pipeline):
        (WebCore::GStreamerGWorld::platformVideoWindow):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gstreamer/PlatformVideoWindow.h: Added.
        (WebCore::PlatformVideoWindow::createWindow):
        (WebCore::PlatformVideoWindow::window):
        (WebCore::PlatformVideoWindow::videoWindowId):
        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Added.
        (PlatformVideoWindow::PlatformVideoWindow):

2010-08-19  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Add idl and mock classes for FileWriter.
        https://bugs.webkit.org/show_bug.cgi?id=44075

        No new tests, since there's no new functionality.

        New do-nothing classes, but the real IDL:
        * FileWriter.idl:
        * FileWriter.h:
        * FileWriter.cpp:

        The build file changes to include the above:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        Added FileWriter event names and required EventTarget changes.
        * dom/EventNames.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toFileWriter):
        * dom/EventTarget.h:

2010-08-18  Andreas Kling  <andreas.kling@nokia.com>

        Rubber-stamped by Ariya Hidayat.

        [Qt] Remove unused variable in GraphicsContext::fillRect()

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

2010-08-18  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Short lived shadow buffer for blur operation
        https://bugs.webkit.org/show_bug.cgi?id=44094

        ContextShadow needs a scratch image as the buffer for the blur filter.
        Instead of creating and destroying the buffer for every operation,
        we create a buffer which will be automatically purged via a timer.

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::):
        (WebCore::ShadowBuffer::ShadowBuffer):
        (WebCore::ShadowBuffer::scratchImage):
        (WebCore::ShadowBuffer::schedulePurge):
        (WebCore::ShadowBuffer::purgeBuffer):
        (WebCore::ContextShadow::drawShadowRect):

2010-08-18  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] scrolling issues when accelerated compositor is enabled
        https://bugs.webkit.org/show_bug.cgi?id=43992

        Corrected scroll position not being updated, and an off-by-half error.
        Int cast and floorf are taken out because they produce incorrect
        transformation matrix.  The information lost there is not immediately
        obvious because of rounding that happens when texture is mapped with
        GL_NEAREST filtering mode.  These errors accumulate, and after some
        scrolling it becomes more apparent.

        To test the former, follow instructions in the bug.  To test the
        latter, change GL_NEAREST to GL_LINEAR in LayerRendererChromium.cpp.
        Scrolling should work properly for all window sizes, without blurring
        images and shifting them to the left.

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

2010-08-18  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Implement GraphicsContext::clipOut more efficiently
        https://bugs.webkit.org/show_bug.cgi?id=43416

        The current implementation of clipOut uses QPainter::clipRegion().boundingRect(),
        which is a very slow function because it converts the entire clip region - which
        may potentially contain a complex path - into a set of QRegion rectangles, just
        to throw away all that information and use the bounding rect.

        QTBUG-12618 implements a faster function in QPainter: QPainter::clipBoundingRect().

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipOut): Use QPainter::clipBoundingRect() with Qt >= 4.8.
        (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.

2010-08-18  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Since the GSEAL changes moz_gtk_scrollbar_button_paint fiddles the widget allocation but doesn't preserve it
        https://bugs.webkit.org/show_bug.cgi?id=44211

        No new tests as we do not currently use the scrollbar button painting
        code. Tests for this issue will be enabled when we have pixel tests
        for WebCore-drawn interior frame scrollbars.

        * platform/gtk/GtkVersioning.h: Add backward-compatible functions for getting
        and setting the widget allocation.
        * platform/gtk/gtk2drawing.c:
        (moz_gtk_scrollbar_button_paint): Use new backward-compatible functions for getting
        and setting the widget allocation.

2010-08-18  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Group functions in markup.cpp into MarkupAccumulatorWrapper
        https://bugs.webkit.org/show_bug.cgi?id=43936

        Renamed MarkupAccumulatorWrapper to MarkupAccumulator and moved the MarkupAccumulatorWrapper
        to the top of markup.cpp. Made various functions private member functions of MarkupAccumulator.

        No new tests are added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulator::):
        (WebCore::MarkupAccumulator::MarkupAccumulator):
        (WebCore::MarkupAccumulator::appendString):
        (WebCore::MarkupAccumulator::appendStartTag):
        (WebCore::MarkupAccumulator::appendEndTag):
        (WebCore::MarkupAccumulator::wrapWithNode):
        (WebCore::MarkupAccumulator::wrapWithStyleNode):
        (WebCore::MarkupAccumulator::takeResults):
        (WebCore::MarkupAccumulator::appendAttributeValue):
        (WebCore::MarkupAccumulator::escapeContentText):
        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
        (WebCore::MarkupAccumulator::stringValueForRange):
        (WebCore::MarkupAccumulator::ucharRange):
        (WebCore::MarkupAccumulator::appendUCharRange):
        (WebCore::MarkupAccumulator::renderedText):
        (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
        (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
        (WebCore::MarkupAccumulator::appendNamespace):
        (WebCore::MarkupAccumulator::appendDocumentType):
        (WebCore::MarkupAccumulator::removeExteriorStyles):
        (WebCore::MarkupAccumulator::appendStartMarkup):
        (WebCore::MarkupAccumulator::shouldSelfClose):
        (WebCore::MarkupAccumulator::appendEndMarkup):
        (WebCore::serializeNodes):
        (WebCore::createMarkup):
        (WebCore::serializeNodesWithNamespaces):

2010-08-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=44207 Empty mfrac 
        and empty munderover cause crashes
       -and corresponding-
        <rdar://problem/8325160>

        This is just a  matter of adding null checks in the right places.
        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::baselinePosition):
        * mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::baselinePosition):

2010-08-18  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Move FileStream to platform.
        https://bugs.webkit.org/show_bug.cgi?id=44213

        In addition to moving files over, FileStream has been changed to remove
        ExceptionCode dependency. Also update FileStreamProxy and FileRead to
        account for this change.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/FileReader.cpp:
        (WebCore::FileReader::didOpen):
        * html/FileReader.h:
        * html/FileStream.cpp: Removed.
        * html/FileStream.h: Removed.
        * html/FileStreamClient.h:
        (WebCore::FileStreamClient::didTruncate):
        (WebCore::FileStreamClient::didOpen):
        * html/FileStreamProxy.cpp:
        (WebCore::didOpen):
        (WebCore::FileStreamProxy::openForReadOnFileThread):
        (WebCore::FileStreamProxy::openForWriteOnFileThread):
        (WebCore::FileStreamProxy::write):
        (WebCore::FileStreamProxy::writeOnFileThread):
        (WebCore::didTruncate):
        (WebCore::FileStreamProxy::truncateOnFileThread):
        * html/FileStreamProxy.h:
        * platform/FileStream.cpp: Renamed from WebCore/FileStream.cpp and updated.
        * platform/FileStream.h: Renamed from WebCore/FileStream.h and updated.

2010-08-18  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Chromium side implementation of blob data and blob registry.
        https://bugs.webkit.org/show_bug.cgi?id=43871

        Wrap !PLATFORM(CHROMIUM) around blobRegistry() so that chromium uses the
        implementation in WebKit Chromium.

        * platform/network/BlobRegistryImpl.cpp:

2010-08-18  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Bots are showing lots of GTK_IS_CONTAINER critical warnings
        https://bugs.webkit.org/show_bug.cgi?id=40990

        Instead of relying on the ScrollView's adjustment members to determine if a
        Scrollbar should be native or just a shell of the parent's scrollbar (main frame
        scrollbar), just check if this ScrollView has a parent. This will ensure the
        correct behavior when main frame scrollbar's are created after the ScrollView's
        containing adjustments go away.

        Lack of warnings during tests are the test for this fix.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::createScrollbar): Decide what type of scrollbar to make based
        on the result of the parent() method.
        * platform/gtk/ScrollbarGtk.cpp:
        (ScrollbarGtk::ScrollbarGtk): Allow for an m_adjustment which is null.
        (ScrollbarGtk::attachAdjustment): Ditto.
        (ScrollbarGtk::updateThumbPosition): Ditto.
        (ScrollbarGtk::updateThumbProportion): Ditto.

2010-08-18  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        NOT_REACHED is reachable in SVGLength
        https://bugs.webkit.org/show_bug.cgi?id=44150

        The author of this code was confused.  This code is reachable.  We just
        haven't implemented it yet.

        * svg/SVGLength.cpp:
        (WebCore::SVGLength::setValue):

2010-08-18  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Antonio Gomes.

        [Qt] Use LAZY_NATIVE_CURSOR
        https://bugs.webkit.org/show_bug.cgi?id=44062

        No functional change so new tests.

        Change Cursor behaviour to match the LAZY_NATIVE_CURSOR policy.

        * platform/Cursor.h: Typedef PlatformCursor to be a QCursor* to be able create it dynamically.
        (WebCore::Cursor::Cursor): Remove the ifdef for Qt.
        * platform/qt/CursorQt.cpp: Remove the Cursors class since we have the static cursor instances
        for the common cursor types in Cursor.cpp. Move the logic that maps the cursor types to
        QCursor instances into ensurePlatformCursor.
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::createCustomCursor):
        (WebCore::Cursor::ensurePlatformCursor):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setCursor): Adjust to the PlatformCursor change.

2010-08-18  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        CSS: Make rgb() and rgba() fast paths case-insensitive
        https://bugs.webkit.org/show_bug.cgi?id=44107

        Also inlined the string comparisons against "rgb(" and "rgba("
        which is faster and avoids creating a temporary String object.

        * css/CSSParser.cpp:
        (WebCore::mightBeRGBA):
        (WebCore::mightBeRGB):
        (WebCore::CSSParser::parseColor):

2010-08-18  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Change BlobStorageData to reuse BlobData.
        https://bugs.webkit.org/show_bug.cgi?id=44188

        Also addressed Darin's feedbacks for bug 44116.

        * html/ThreadableBlobRegistry.cpp:
        (WebCore::registerBlobURLTask):
        (WebCore::registerBlobURLFromTask):
        (WebCore::unregisterBlobURLTask):
        * platform/network/BlobData.cpp:
        (WebCore::BlobData::appendData):
        * platform/network/BlobData.h:
        (WebCore::BlobDataItem::BlobDataItem):
        * platform/network/BlobRegistry.h:
        * platform/network/BlobRegistryImpl.cpp:
        (WebCore::blobRegistry):
        (WebCore::BlobRegistryImpl::appendStorageItems):
        (WebCore::BlobRegistryImpl::registerBlobURL):
        * platform/network/BlobRegistryImpl.h:
        * platform/network/BlobStorageData.h:
        (WebCore::BlobStorageData::create):
        (WebCore::BlobStorageData::contentType):
        (WebCore::BlobStorageData::contentDisposition):
        (WebCore::BlobStorageData::items):
        (WebCore::BlobStorageData::BlobStorageData):

2010-08-18  David Hyatt  <hyatt@apple.com>

        Reviewed by Martin Robinson.

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

        Fix a typo in my previous canvas checkin.  m_in->resultImage() was originally m_in2->resultImage(),
        and I accidentally changed it when swapping the order of the arguments.

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply):

2010-08-18  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
        https://bugs.webkit.org/show_bug.cgi?id=44115

        This is the Skia followup to Dave Hyatt's patch in r65449.
        Covered by canvas layout tests.

        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
        Add a "copyPixels" argument to the create() static to indicate if
        the caller wants the pixels to be copied or ref'ed.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        We don't use the always-copy path anymore, so return false.
        (WebCore::ImageBuffer::copyImage):
        Force a copy here.
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        Create a temporary BitampImageSingleFrameSkia wrapped around the
        canvas's bitmap, and draw with it immediately.  If drawing to our own
        canvas, copy the pixels, otherwise just shallow copy.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
        Make the constructor take an SkBitmap to be wrapped.
        (WebCore::BitmapImageSingleFrameSkia::create):
        Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
        do a shallow copy.
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::NativeImageSkia):
        * platform/graphics/skia/NativeImageSkia.h:
        Implement a new constructor that shallow-copies the given SkBitmap.

2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        [Qt] Request for permission before starting Geolocation service
        https://bugs.webkit.org/show_bug.cgi?id=42027

        Handles starting location acquisition when request is granted for ports using 
        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
        Only Qt port as of today uses the above combination. Enable 
        PREEMPT_GEOLOCATION_PERMISSION for qt port. 

        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
        - fast/dom/Geolocation/delayed-permission-allowed.html
        - fast/dom/Geolocation/delayed-permission-denied.html
        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::handlePendingPermissionNotifiers):

2010-08-18  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        CanvasStyle method naming cleanup
        https://bugs.webkit.org/show_bug.cgi?id=44184

        Renamed the various create() overloads to reflect what they're
        constructing the CanvasStyle from.

        The unused CanvasStyle::create(grayLevel) and accompanying constructor
        were removed.

        Also renamed the isEquivalentColor overloads to isEquivalent{RGBA,CMYKA}

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toHTMLCanvasStyle):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toCanvasStyle):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::State::State):
        (WebCore::CanvasRenderingContext2D::setStrokeColor):
        (WebCore::CanvasRenderingContext2D::setFillColor):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::createFromString):
        (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
        (WebCore::CanvasStyle::createFromGradient):
        (WebCore::CanvasStyle::createFromPattern):
        (WebCore::CanvasStyle::isEquivalentRGBA):
        (WebCore::CanvasStyle::isEquivalentCMYKA):
        * html/canvas/CanvasStyle.h:
        (WebCore::CanvasStyle::createFromRGBA):
        (WebCore::CanvasStyle::createFromGrayLevelWithAlpha):
        (WebCore::CanvasStyle::createFromRGBAChannels):
        (WebCore::CanvasStyle::createFromCMYKAChannels):

2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Implement Maemo5 local rendering NPAPI extension. See 
        https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.

        With the local rendering extension, Flash will paint into a 16-bit surface.
        For wmode=transparent, Flash expects the surface to contain the contents
        beneath it. As it is tricky to implement the content propagation across all
        graphics systems, transparent Flash is not supported. We just fill the surface 
        with white and wmode=transparent behaves the same as wmode=opaque with a white 
        background.

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

        * WebCore.pro:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::setValue):
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paintUsingImageSurfaceExtension):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::platformGetValueStatic):

2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65603.
        http://trac.webkit.org/changeset/65603
        https://bugs.webkit.org/show_bug.cgi?id=44179

        4 tests crash on Qt bot (Requested by Ossy on #webkit).

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::handlePendingPermissionNotifiers):

2010-08-18  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed.  Attempted build fix for EFL

        [EFL]REGRESSION(65530) need to fix build break
        https://bugs.webkit.org/show_bug.cgi?id=44154

        * CMakeListsEfl.txt:

2010-08-18  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed qt build fix.

        * WebCore.pri:

2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: replace hand written InspectorBackendStub.js with generated one.
        New command-line flag was added to combine-javascript-resources.
        It specifies the location of generated scripts.
        https://bugs.webkit.org/show_bug.cgi?id=43791

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * combine-javascript-resources:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/InspectorBackendStub.js: Removed.
        * inspector/front-end/WebKit.qrc:

2010-08-18  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extension panels do not occupy entire panel client area.
        https://bugs.webkit.org/show_bug.cgi?id=44167

        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._createClientIframe):

2010-08-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Use SVGPathParser logic to traverse states of a Path
        https://bugs.webkit.org/show_bug.cgi?id=44009

        Move the getPathSegAtLength logic from SVGPathSegList into a new SVGPathConsumer
        class: SVGPathTraversalStateBuilder.
        This allows us to get a SVGPathSeg at a given length for SVGPathByteStreams and SVGPathSegLists.
        It is also possible to use unaltered SVG path data, instead of just normalized path data.
        This is the final preparation to provide normalized and unaltered SVGPathSegLists
        on SVGPathElement.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGPathBuilder.h:
        (WebCore::SVGPathBuilder::nextPathSegment):
        (WebCore::SVGPathBuilder::quitEarlier):
        * svg/SVGPathByteStreamBuilder.h:
        (WebCore::SVGPathByteStreamBuilder::nextPathSegment):
        (WebCore::SVGPathByteStreamBuilder::quitEarlier):
        * svg/SVGPathConsumer.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getPathSegAtLength):
        * svg/SVGPathElement.h:
        * svg/SVGPathElement.idl:
        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::parsePathDataFromSource):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::globalSVGPathTraversalStateBuilder):
        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSegList.cpp:
        * svg/SVGPathSegList.h:
        * svg/SVGPathSegListBuilder.h:
        (WebCore::SVGPathSegListBuilder::nextPathSegment):
        (WebCore::SVGPathSegListBuilder::quitEarlier):
        * svg/SVGPathStringBuilder.h:
        (WebCore::SVGPathStringBuilder::nextPathSegment):
        (WebCore::SVGPathStringBuilder::quitEarlier):
        * svg/SVGPathTraversalStateBuilder.cpp: Added. New Consumer for SVGPathParser.
        (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
        (WebCore::SVGPathTraversalStateBuilder::moveTo):
        (WebCore::SVGPathTraversalStateBuilder::lineTo):
        (WebCore::SVGPathTraversalStateBuilder::curveToCubic):
        (WebCore::SVGPathTraversalStateBuilder::closePath):
        (WebCore::SVGPathTraversalStateBuilder::setDesiredLength):
        (WebCore::SVGPathTraversalStateBuilder::quitEarlier):
        (WebCore::SVGPathTraversalStateBuilder::nextPathSegment):
        (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
        * svg/SVGPathTraversalStateBuilder.h: Added.
        (WebCore::SVGPathTraversalStateBuilder::setCurrentTraversalState):
        (WebCore::SVGPathTraversalStateBuilder::cleanup):
        (WebCore::SVGPathTraversalStateBuilder::lineToHorizontal):
        (WebCore::SVGPathTraversalStateBuilder::lineToVertical):
        (WebCore::SVGPathTraversalStateBuilder::curveToCubicSmooth):
        (WebCore::SVGPathTraversalStateBuilder::curveToQuadratic):
        (WebCore::SVGPathTraversalStateBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathTraversalStateBuilder::arcTo):

2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        [Qt] Request for permission before starting Geolocation service
        https://bugs.webkit.org/show_bug.cgi?id=42027

        Handles starting location acquisition when request is granted for ports using 
        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
        Only Qt port as of today uses the above combination. Enable 
        PREEMPT_GEOLOCATION_PERMISSION for qt port. 

        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
        - fast/dom/Geolocation/delayed-permission-allowed.html
        - fast/dom/Geolocation/delayed-permission-denied.html
        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::handlePendingPermissionNotifiers):

2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65595.
        http://trac.webkit.org/changeset/65595
        https://bugs.webkit.org/show_bug.cgi?id=44161

        qt build failed (Requested by loislo on #webkit).

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/copyInspectorFiles.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * combine-javascript-resources:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/InspectorBackendStub.js: Added.
        (WebInspector.InspectorBackendStub):
        (WebInspector.InspectorBackendStub.prototype._registerDelegate):
        (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
        * inspector/front-end/InspectorBackendStub.qrc: Removed.
        * inspector/front-end/WebKit.qrc:

2010-08-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make objectId of string type instead of object.
        https://bugs.webkit.org/show_bug.cgi?id=44160

        * WebCore.xcodeproj/project.pbxproj:
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):
        * inspector/front-end/InjectedScriptAccess.js:
        (get InjectedScriptAccess.getForObjectId):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.getProperties):
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):

2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: replace hand written InspectorBackendStub.js by generated one.
        New command-line flag was added to combine-javascript-resources.
        It specifies the location of generated scripts.
        https://bugs.webkit.org/show_bug.cgi?id=43791

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * combine-javascript-resources:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/InspectorBackendStub.js: Removed.
        * inspector/front-end/WebKit.qrc:

2010-08-18  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dimitri Glazkov.

        Printer font is different from screen font
        https://bugs.webkit.org/show_bug.cgi?id=43340

        Not testable because PNG output in layoutTestController.setPrinting
        for chromium isn't implemented yet.

        * platform/graphics/FontDescription.h: Use screen font even for printing on Mac Chromium
        (WebCore::FontDescription::setUsePrinterFont):

2010-08-18  Renata Hodovan  <reni@inf.u-szeged.hu>

        Reviewed by Dirk Schulze.

        Fix displaying problem of feTurbulence.
        https://bugs.webkit.org/show_bug.cgi?id=44111

        Change the order of calculating turbulenceFunctionResult
        and clamping it. Furthermore remove the unnecessary rounding of m_seed.
        Add a new test for checking the change of seed's value.

        Test: svg/W3C-SVG-1.1/filters-turb-02-f.svg

        * svg/graphics/filters/SVGFETurbulence.cpp:
        (WebCore::FETurbulence::initPaint):
        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
        (WebCore::FETurbulence::apply):

2010-08-17  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 44146 - Remove toDouble/toUInt32 methods from UString.

        These methods all implement JavaScript language specific behaviour, and as such
        are not suited to being on a generic string object.  They are also inefficient
        and incorrectly used, refactor & cleanup.  Uses of these methods really divide
        out into two cases.

        ToNumber:
        Uses of toDouble from JSString and from parseFloat are implementing ecma's
        ToNumber conversion from strings (see ecma-262 9.3.1), so UString::toDouble
        should largely just be moved out to a global jsToNumber function.  ToNumber is
        capable of recognizing either decimal or hexadecimal numbers, but parseFloat
        should only recognize decimal values.  This is currently handled by testing for
        hexadecimal before calling toDouble, which should unnecessary - instead we can
        just split out the two parts to the grammar into separate functions. Also,
        strtod recognizes a set of literals (nan, inf, and infinity - all with any
        capitalization) - which are not defined by any of the specs we are implementing.
        To handle this we need to perform additional work in toDouble to convert the
        unsupported cases of infinities back to NaNs.  Instead we should simply remove
        support for this literals from strtod.  This should provide a more desirable
        behaviour for all clients of strtod.

        Indexed properties:
        Uses of the toStrictUInt32 methods are were all converting property names to
        indices, and all uses of toUInt32 were incorrect; in all cases we should have
        been calling toUInt32.  This error results in some incorrect behaviour in the
        DOM (accessing property "0 " of a NodeList should fail; it currently does not).
        Move this method onto Identifier (our canonical property name), and make it
        always perform a strict conversion. Add a layout test to check NodeList does
        convert indexed property names correctly.

        Test: fast/dom/NodeList/nodelist-item-with-index.html

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::item):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::item):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertySlot):
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        (JSC::RuntimeArray::put):

2010-08-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Adele Peterson.

        Null dereference in DOMSelection::deleteFromDocument
        https://bugs.webkit.org/show_bug.cgi?id=44153

        deleteFromDocument checks selection->isNone() before calling
        selection->selection().toNormalizedRange(), but toNormalizedRange()
        notes that it needs to updateLayout(), which can make the selection
        isNone() again.  In that case, we crash on a NULL pointer in
        deleteFromDocument.  I don't know how to trigger that situation in a
        test, but cross_fuzz was able to hit it, so we should fix it.

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::deleteFromDocument):

2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Antonio Gomes.

        [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
        libgdk-x11-2.0.so.0 instead on X11 and Maemo5.

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

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::getPluginDisplay):

2010-08-17  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Antonio Gomes.

        [Qt] Remove unused ContextShadowParameter class in GraphicsContextQt
        https://bugs.webkit.org/show_bug.cgi?id=44142

        The class is not needed anymore after r65425.
        We know have dedicated ContextShadow in its own file.

        * platform/graphics/qt/GraphicsContextQt.cpp:

2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Darin Adler.

        Add NetworkingContext to avoid layer violations
        https://bugs.webkit.org/show_bug.cgi?id=42292

        Preparation: Just add the files to the build system.

        * GNUmakefile.am: Added new files.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * loader/FrameNetworkingContext.h: Added.
        * platform/network/NetworkingContext.h: Added.
        Placeholders with tentative code that might be changed when landing
        the rest of it.

2010-08-17  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        Back button after Google search result click broken
        https://bugs.webkit.org/show_bug.cgi?id=44086

        Test: fast/history/redirect-via-iframe.html
        
        isLoadingInAPISense doesn't quite map to onload (it also returns true
        if frames are loading, even after the parent frame has fired its onload
        handler). Instead, add a flag for the onload event being fired, and
        use that.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::handledOnloadEvents):
        (WebCore::DocumentLoader::wasOnloadHandled):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::handledOnloadEvents):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::mustLockBackForwardList):

2010-08-17  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Geolocation clearWatch() needs to protect against invalid IDs
        https://bugs.webkit.org/show_bug.cgi?id=44096

        If the ID passed to clearWatch() is invalid, we early-out.

        Test: fast/dom/Geolocation/clear-watch-invalid-id-crash.html

        * page/Geolocation.cpp:
        (WebCore::Geolocation::Watchers::set):
        (WebCore::Geolocation::Watchers::remove):
        (WebCore::Geolocation::watchPosition):
        (WebCore::Geolocation::clearWatch):

2010-08-17  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Allow non-Skia ports to compile with ENABLE(ACCELERATED_2D_CANVAS).
        https://bugs.webkit.org/show_bug.cgi?id=44130

        No tests; if it compiles, it's good.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        Fix a warning (treated as error).
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setGraphicsContext3D):
        (WebCore::GraphicsContext::syncSoftwareCanvas):
        * platform/graphics/GraphicsContext.h:
        Make setGraphicsContext3D() and syncSoftwareCanvas() stubbed out,
        but still present in non-Skia ports.  This allows Chrome Mac to
        compile with ENABLE(ACCELERATED_2D_CANVAS) (although it isn't hooked
        up yet, it should at least compile).

2010-08-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
        <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131

        No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
        effort to give it the ability to perform the back/forward navigation in the background to reproduce
        this bug)

        Manual tests in place of layout tests:
        * manual-tests/back-forward-during-alert-1.html: Added.
        * manual-tests/back-forward-during-alert-2.html: Added.

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

2010-08-17  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Tony Chang.

        selectionStart clobbered if textarea isn't focused
        https://bugs.webkit.org/show_bug.cgi?id=43814

        If a text control is blurred, setting selectionStart/end should use
        the cached selection value, which is currently stored on the form
        control element.

        Test: fast/forms/text-control-select-blurred.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setSelectionStart):
        (WebCore::RenderTextControl::setSelectionEnd):

2010-08-17  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        MessagePort.close() crashes if the owning context was destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=43140

        Test: fast/events/message-port-context-destroyed.html

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::start):
        (WebCore::MessagePort::close):
        (WebCore::MessagePort::contextDestroyed):
        Use isEntangled() method to gate various operations on MessagePort. This method also takes into account m_closed bit.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        (WebCore::ScriptExecutionContext::closeMessagePorts):
        * dom/ScriptExecutionContext.h:
        Add closeMessagePorts() method that closes message ports at the same moments when other ActiveDOMObjects are stopped.

2010-08-17  Fady Samuel  <fsamuel@chromium.org>

        Reviewed by David Hyatt.

        Updated table cell hit testing and painting to use binary search instead of linear scan.

        Improved Table Hit Testing and Painting Performance
        https://bugs.webkit.org/show_bug.cgi?id=43933

        Tests: fast/table/simple_paint.html
               tables/hittesting/filltable-emptycells.html
               tables/hittesting/filltable-levels.html
               tables/hittesting/filltable-outline.html
               tables/hittesting/filltable-rtl.html
               tables/hittesting/filltable-stress.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintObject): Dirty rect determined using binary search.
        (WebCore::RenderTableSection::nodeAtPoint): Cell hit determined using binary search

2010-08-17  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Only destroy empty anonymous block when it is columns or column span block
        in RenderBlock::removeChild.
        https://bugs.webkit.org/show_bug.cgi?id=44035

        Test: fast/block/basic/empty-anonymous-block-remove-crash.html

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

2010-08-17  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

        [Chromium] REGRESSION: Incorrect repaint on scrolling with position:fixed elements
        https://bugs.webkit.org/show_bug.cgi?id=42949

        This is a partial revert of http://trac.webkit.org/changeset/63907

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
        (WebCore::FrameView::scrollPositionChanged):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged):

2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65528.
        http://trac.webkit.org/changeset/65528
        https://bugs.webkit.org/show_bug.cgi?id=44123

        "Broke a bunch of canvas tests on Chrome win/linux."
        (Requested by senorblanco on #webkit).

        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImageSingleFrameSkia::create):
        * platform/graphics/skia/NativeImageSkia.cpp:
        * platform/graphics/skia/NativeImageSkia.h:

2010-08-17  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by David Hyatt.

        [Cairo] Remove unnecessary full-surface copies from ImageCairo and GraphicsContextCairo
        https://bugs.webkit.org/show_bug.cgi?id=44076

        No new tests as functionality has not changed.

        * GNUmakefile.am: Added GRefPtrCairo to the sources list.
        * platform/graphics/cairo/GRefPtrCairo.cpp: Added.
        (WTF::refGPtr): Added specializations for cairo_t and cairo_surface_t.
        (WTF::derefGPtr):
        * platform/graphics/cairo/GRefPtrCairo.h: Added.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::createPlatformShadow): Access the image surface directly
        from the ImageBuffer instead of wrapping it in an Image.
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern): Create the temporary surface using cairo primitives
        instead of through the platform-independent WebCore code.

2010-08-17  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Clean up WebCore/platform/graphics/gtk/ImageGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=44069

        No new tests as functionality has not changed.

        * GNUmakefile.am: Add WEBKITGTK_API_VERSION_STRING definition, which
        allows WebCore to use this as well.
        * platform/graphics/gtk/ImageGtk.cpp:
        (getWebKitDataDirectory): Added this helper.
        (WebCore::Image::loadPlatformResource): Use GOwnPtr for gchar pointers and
        use the new getWebKitDataDirectory helper.
        * platform/gtk/GOwnPtrGtk.cpp: Move the GtkIconInfo template specialization to this file.
        (WTF::GtkIconInfo): Added this forward declaration.
        * platform/gtk/GOwnPtrGtk.h: Declaration for new template specialization.

2010-08-17  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
        This is the Skia followup to Dave Hyatt's patch in r65449.
        https://bugs.webkit.org/show_bug.cgi?id=44115

        Covered by canvas layout tests.

        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
        Add a "copyPixels" argument to the create() static to indicate if
        the caller wants the pixels to be copied or ref'ed.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        We don't use the always-copy path anymore, so return false.
        (WebCore::ImageBuffer::copyImage):
        Shouldn't get here anymore, so ASSERT_NOT_REACHED.
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        Create a temporary BitampImageSingleFrameSkia wrapped around the
        canvas's bitmap, and draw with it immediately.  If drawing to our own
        canvas, copy the pixels, otherwise just shallow copy.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
        Make the constructor take an SkBitmap to be wrapped.
        (WebCore::BitmapImageSingleFrameSkia::create):
        Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
        do a shallow copy.
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::NativeImageSkia):
        * platform/graphics/skia/NativeImageSkia.h:
        Implement a new constructor that shallow-copies the given SkBitmap.

2010-08-17  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Move BlobRegistry interface and implementation to platform/network
        https://bugs.webkit.org/show_bug.cgi?id=44116

        Also move BlobData and BlobStorageData since they're part of BlobRegistry
        implementation.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/BlobData.cpp: Renamed from WebCore/platform/BlobData.cpp.
        * platform/network/BlobData.h: Renamed from WebCore/platform/BlobData.h.
        * platform/network/BlobRegistry.h: Renamed from WebCore/platform/BlobRegistry.h.
        * platform/network/BlobRegistryImpl.cpp: Renamed from WebCore/html/BlobRegistryImpl.cpp.
        * platform/network/BlobRegistryImpl.h: Renamed from WebCore/html/BlobRegistryImpl.h.
        * platform/network/BlobStorageData.h: Renamed from WebCore/html/BlobStorageData.h.

2010-08-17  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Path: Fast approximation of stroke bounding rects
        https://bugs.webkit.org/show_bug.cgi?id=44014

        In canvas's stroke(), use QPainterPath::controlPointRect() to calculate
        a slightly larger bounding rect in a fraction of the time.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::stroke):

2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Kenneth Rohde Christiansen.
        Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
        just Flash 10.

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

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):

2010-08-17  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Change FileStream implementation to prepare for blob resource handling.
        https://bugs.webkit.org/show_bug.cgi?id=43985

        Change FileStream to support synchronous usage only. All the asychronous
        logics are moved to FileStreamProxy. Update the existing FileReader code
        to adapt to this change.

        * html/FileReader.cpp: Account for FileStreamProxy changes.
        (WebCore::FileReader::didStart):
        (WebCore::FileReader::didGetSize):
        (WebCore::FileReader::didOpen):
        (WebCore::FileReader::didRead):
        * html/FileReader.h:
        * html/FileStream.cpp: Remove m_client and make all calls synchronous only.
        (WebCore::FileStream::FileStream):
        (WebCore::FileStream::start):
        (WebCore::FileStream::stop):
        (WebCore::FileStream::getSize):
        (WebCore::FileStream::openForRead):
        (WebCore::FileStream::openForWrite):
        (WebCore::FileStream::close):
        (WebCore::FileStream::read):
        (WebCore::FileStream::write):
        (WebCore::FileStream::truncate):
        * html/FileStream.h: Add getSize() and make all calls synchronous by adding return values.
        (WebCore::FileStream::create):
        * html/FileStreamClient.h: Account for FileStreamProxy changes.
        (WebCore::FileStreamClient::didRead):
        (WebCore::FileStreamClient::didTruncate):
        (WebCore::FileStreamClient::didOpen):
        * html/FileStreamProxy.cpp: All the logics to handle asynchronous calls are wrapped here.
        (WebCore::FileStreamProxy::FileStreamProxy):
        (WebCore::FileStreamProxy::create):
        (WebCore::FileStreamProxy::fileThread):
        (WebCore::didStart):
        (WebCore::FileStreamProxy::startOnFileThread):
        (WebCore::FileStreamProxy::stop):
        (WebCore::derefProxyOnContext):
        (WebCore::FileStreamProxy::stopOnFileThread):
        (WebCore::didGetSize):
        (WebCore::FileStreamProxy::getSize):
        (WebCore::FileStreamProxy::getSizeOnFileThread):
        (WebCore::didOpen):
        (WebCore::FileStreamProxy::openForRead):
        (WebCore::FileStreamProxy::openForReadOnFileThread):
        (WebCore::FileStreamProxy::openForWrite):
        (WebCore::FileStreamProxy::openForWriteOnFileThread):
        (WebCore::FileStreamProxy::close):
        (WebCore::FileStreamProxy::closeOnFileThread):
        (WebCore::didRead):
        (WebCore::FileStreamProxy::read):
        (WebCore::FileStreamProxy::readOnFileThread):
        (WebCore::didWrite):
        (WebCore::FileStreamProxy::write):
        (WebCore::FileStreamProxy::writeOnFileThread):
        (WebCore::didTruncate):
        (WebCore::FileStreamProxy::truncate):
        (WebCore::FileStreamProxy::truncateOnFileThread):
        * html/FileStreamProxy.h:
        * html/FileThreadTask.h: Change all methods to return void since return value is not needed now.

2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Returned WebCore.xcodeproj to default settings after http://trac.webkit.org/changeset/65468/trunk/WebCore/WebCore.xcodeproj/project.pbxproj.

        * WebCore.xcodeproj/project.pbxproj: Removed developmentRegion = English line.

2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
        https://bugs.webkit.org/show_bug.cgi?id=43749

        Land the actual change that I intended to land in http://trac.webkit.org/changeset/65508.

        Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
        so the check for shadow tree existence isn't needed.
        Gives a small, but consistent win in Dromaeo's DOM Modification test.

        * dom/Node.h:
        (WebCore::Node::canLazyAttach): Changed to always return true.

2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Carlson.

        Restore intrinsic size of video elements after loading poster

        The element might already have the instrinsic size of the video, in
        which case we don't want to override it witht that of the image.

        * rendering/RenderVideo.cpp: call updateIntrinsicSize() to restore size

2010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        Geolocation preemptive permissions policy is buggy
        https://bugs.webkit.org/show_bug.cgi?id=42811

        While waiting for permission, m_startRequestPermissionNotifier was 
        used to consider only one pending request. This patch implements a set
        m_pendingForPermissionNotifiers to maintain set of pending requests. 
        When user grants/denies permission all listeners will be notified. 
        Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
        to start irrespective of permission state

        Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
               fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        (WebCore::Geolocation::handlePendingPermissionNotifiers):
        * page/Geolocation.h:

2010-08-11  Jeremy Orlow  <jorlow@chromium.org>

        Beginnings of IndexedDB persistance + IDBDatabase.description fleshed out
        https://bugs.webkit.org/show_bug.cgi?id=43744

        The beginnings of a SQLite backend for IndexedDB.  Right now, only persists
        meta-data for the database.  The rest is coming in future patches.  Adds
        a manual test to verify persistance.

        Test: storage/indexeddb/database-description.html
              + a manual test

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * manual-tests/indexed-database.html: Added.
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::databaseIdentifier):
        * platform/FileSystem.cpp: Added.
        (WebCore::):
        (WebCore::shouldEscapeUChar):
        (WebCore::encodeForFileName):
        * platform/FileSystem.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::description):
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::extractMetaData):
        (WebCore::setMetaData):
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::setDescription):
        * storage/IDBDatabaseBackendImpl.h:
        (WebCore::IDBDatabaseBackendImpl::create):
        * storage/IDBFactory.h:
        * storage/IDBFactory.idl:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
        (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
        (WebCore::openSQLiteDatabase):
        (WebCore::createTables):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h:
        (WebCore::IDBFactoryBackendImpl::create):

2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
        https://bugs.webkit.org/show_bug.cgi?id=43749

        Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
        so the check for shadow tree existence isn't needed.

        Gives a small, but consisten win in Dromaeo's DOM Modification test.

        * dom/Node.cpp: Removed canLazyAttach declaration.
        * dom/Node.h:
        (WebCore::Node::canLazyAttach): Changed to always return true.

2010-08-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [CRASH] Console formatting crashes after cross-domain navigation.
        https://bugs.webkit.org/show_bug.cgi?id=44103

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::injectedScriptFor):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::injectedScriptFor):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):

2010-08-17  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: upstream Chromium debugger step tests
        https://bugs.webkit.org/show_bug.cgi?id=44106

        Tests: inspector/debugger-step-in.html
               inspector/debugger-step-out.html
               inspector/debugger-step-over.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::returnEvent): check that debugger is still attached after continue to ensure
        that current call frame is not 0.

2010-08-17  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by David Levin.

        Trivial fix removing the self-inclusion of a couple of header files.

        Self inclusion in Document.h and RenderTheme.h
        https://bugs.webkit.org/show_bug.cgi?id=44065

        * dom/Document.h:
        * rendering/RenderTheme.h:

2010-08-17  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Move the accelerated compositing build flag to the right place
        https://bugs.webkit.org/show_bug.cgi?id=43882

        No new tests: build fix.

        * WebCore.pro:

2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65500.
        http://trac.webkit.org/changeset/65500
        https://bugs.webkit.org/show_bug.cgi?id=44108

        Qt bots failed to compile. (Requested by loislo on #webkit).

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/copyInspectorFiles.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * combine-javascript-resources:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/InspectorBackendStub.js: Added.
        (WebInspector.InspectorBackendStub):
        (WebInspector.InspectorBackendStub.prototype._registerDelegate):
        (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
        * inspector/front-end/InspectorBackendStub.qrc: Removed.
        * inspector/front-end/WebKit.qrc:

2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: replace hand written InspectorBackendStub.js by generated one.
        New command-line flag was added to combine-javascript-resources.
        It specifies the location of generated scripts.
        https://bugs.webkit.org/show_bug.cgi?id=43791

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * combine-javascript-resources:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/InspectorBackendStub.js: Removed.
        * inspector/front-end/WebKit.qrc:

2010-08-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: get rid of node and scoped object-specific ids.
        https://bugs.webkit.org/show_bug.cgi?id=44097

        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess):
        (InjectedScriptAccess.getForNode):
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObjectId):
        (WebInspector.RemoteObject.resolveNode):
        * inspector/front-end/ScriptsPanel.js:

2010-08-17  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Fix wrapping of core Events in the bindings
        https://bugs.webkit.org/show_bug.cgi?id=44095

        Return the proper GObject type instead of hardcoding
        WebKitDOMEvent for all Event types.

        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::handleEvent):
        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::kit):

2010-08-17  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Revert supposed build-fix which was in fact reverting a previous
        build fix which was correct (oh dear).

        * GNUmakefile.am:

2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Add media element support for preload=none

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.h:

2010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Pre-roll media when loading media elements

        This ensures we get correct size-hints from QtMultimedia, as well as
        the media states Buffering and Buffered instead of Loading and Loaded,
        which we use to transition into MediaPlayer::HaveEnoughData.

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.h:

2010-08-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix missing default controls for stand-alone media elements

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

        * css/mediaControlsQt.css:

2010-08-17  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Reduce the size of the shadow buffer to the clip region
        https://bugs.webkit.org/show_bug.cgi?id=44091

        Instead of allocating the buffer image (for the blur support) as big
        as the rectangle which casts the shadow, we limit the size to the
        current clip region.

        * platform/graphics/qt/ContextShadow.cpp:
        (WebCore::ContextShadow::drawShadowRect):

2010-08-17  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GStreamer] media/invalid-media-url-crash.html fails
        https://bugs.webkit.org/show_bug.cgi?id=42960

        Implemented two ResourceHandleClient callbacks that need to notify
        downstream GStreamer elements of errors while accessing the
        resource.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (StreamingClient::wasBlocked):
        (StreamingClient::cannotShowURL):

2010-08-16  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig

        Remove unnecessary includes from UString.h, add new includes as necessary.

        * dom/ScriptExecutionContext.h:
        * loader/appcache/ApplicationCache.cpp:

2010-08-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        CSS: Add fast-path for rgba() color parsing
        https://bugs.webkit.org/show_bug.cgi?id=42965

        Test: fast/canvas/rgba-parsing.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor): Extended with support for rgba().
        (WebCore::parseAlphaValue): Added, parses an alpha value using
        WTF::strtod() (if necessary) and clamps between 0 and 1.
        (WebCore::isTenthAlpha):

2010-08-16  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Add idl and mock classes for FileSystem API's {File,Directory}Entry and related interfaces
        https://bugs.webkit.org/show_bug.cgi?id=43993

        Adding DirectoryEntry, DirectoryReader, EntriesCallback and FileEntry as defined in HTML5 FileSystem API.
        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html

        Also adding Makefile entries for idl and mock classes added in changeset 64414 (except for Android platforms).

        Tests will be added when we add underlying implementation.

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::root):
        * storage/DOMFileSystem.h:
        * storage/DOMFileSystem.idl:
        * storage/DirectoryEntry.cpp: Added.
        * storage/DirectoryEntry.h: Added.
        * storage/DirectoryEntry.idl: Added.
        * storage/DirectoryReader.cpp: Added.
        * storage/DirectoryReader.h: Added.
        * storage/DirectoryReader.idl: Added.
        * storage/EntriesCallback.h: Added.
        * storage/EntriesCallback.idl: Added.
        * storage/EntryArray.cpp: Added.
        * storage/EntryArray.h: Added.
        * storage/EntryArray.idl: Added.
        * storage/Entry.cpp:
        (WebCore::Entry::Entry):
        (WebCore::Entry::getMetadata):
        (WebCore::Entry::moveTo):
        (WebCore::Entry::copyTo):
        (WebCore::Entry::remove):
        (WebCore::Entry::getParent):
        * storage/Entry.h:
        (WebCore::Entry::isFile):
        (WebCore::Entry::isDirectory):
        * storage/Entry.idl:
        * storage/FileEntry.cpp: Added.
        * storage/FileEntry.h: Added.
        * storage/FileEntry.idl: Added.

2010-08-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
        https://bugs.webkit.org/show_bug.cgi?id=44061

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath

        Test: fast/canvas/canvas-closePath-single-point.html

        * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::closeSubpath): Only close the last subpath if it
        has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
        (WebCore::Path::Path):
        (WebCore::Path::operator=):
        (WebCore::Path::moveTo):
        (WebCore::Path::transform):

2010-08-16  Nate Chapin  <japhet@chromium.org>

        Unreviewed, Chromium mac build fix (with help from jamesr).

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

2010-08-16  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig

        Bug 44080 - String find/reverseFind methods need tidying up
        These methods have a couple of problems with their interface, and implementation.

        These methods take and int index, and return an int - however this is problematic
        since on 64-bit string indices may have a full 32-bit range.  This spills out into
        surrounding code, which unsafely casts string indices from unsigned to int. Code
        checking the result of these methods check for a mix of "== -1", "< 0", and
        "== notFound".  Clean this up by changing these methods to take an unsigned
        starting index, and return a size_t. with a failed match indicated by notFound.
        reverseFind also has a special meaning for the starting index argument, in that a
        negative index is interpreted as an offset back from the end of the string. Remove
        this functionality, in the (1!) case where it is used we should just calculate the
        offset by subtracting from the string's length.

        The implementation has a few problems too.  The code is not in webkit style, in
        using assorted abbreviations in variable names, and implementations of similar
        find methods with differing argument types were unnecessarily inconsistent. When
        find is passed const char* data the string would be handled as latin1 (zero
        extended to UTF-16) for all characters but the first; this is sign extended.
        Case-insensitive find is broken for unicode strings; the hashing optimization is
        not unicode safe, and could result in false negatives.

        Unify UString find methods to match String.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::RareData::parseNth):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::setProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/Document.cpp:
        (WebCore::Document::getImageMap):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::inputText):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextBox):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertText):
        * editing/markup.cpp:
        (WebCore::fillContainerFromString):
        (WebCore::createFragmentFromText):
        * html/File.cpp:
        (WebCore::File::Init):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::setHost):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::performSearch):
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::parseAccessControlAllowList):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::parseHeader):
        (WebCore::parseHeaders):
        * loader/icon/IconFetcher.cpp:
        (WebCore::parseIconLink):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::parseModalDialogFeatures):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
        * page/UserContentURLPattern.cpp:
        (WebCore::UserContentURLPattern::parse):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest):
        * platform/ContentType.cpp:
        (WebCore::ContentType::parameter):
        (WebCore::ContentType::type):
        * platform/KURL.cpp:
        (WebCore::KURL::lastPathComponent):
        (WebCore::KURL::setProtocol):
        (WebCore::decodeURLEscapeSequences):
        (WebCore::substituteBackslashes):
        (WebCore::mimeTypeFromDataURL):
        * platform/Length.cpp:
        (WebCore::newCoordsArray):
        (WebCore::newLengthArray):
        * platform/LinkHash.cpp:
        (WebCore::findSlashDotDotSlash):
        (WebCore::findSlashSlash):
        (WebCore::findSlashDotSlash):
        (WebCore::cleanPath):
        * platform/MIMETypeRegistry.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
        * platform/SchemeRegistry.cpp:
        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load):
        * platform/mac/DragImageMac.mm:
        (WebCore::createDragImageIconForCachedImage):
        * platform/network/CredentialStorage.cpp:
        (WebCore::protectionSpaceMapKeyFromURL):
        (WebCore::findDefaultProtectionSpaceForURL):
        * platform/network/HTTPParsers.cpp:
        (WebCore::skipWhiteSpace):
        (WebCore::skipToken):
        (WebCore::parseHTTPRefresh):
        (WebCore::filenameFromHTTPContentDisposition):
        (WebCore::findCharsetInMediaType):
        (WebCore::parseXSSProtectionHeader):
        (WebCore::extractReasonPhraseFromHTTPStatusLine):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::isAttachment):
        (WebCore::parseCacheHeader):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::updateWidget):
        * storage/Entry.cpp:
        (WebCore::Entry::Entry):
        * svg/SVGFont.cpp:
        (WebCore::isCompatibleGlyph):
        * svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::getTarget):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::parseClockValue):
        (WebCore::SVGSMILElement::parseCondition):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunSubstringBefore::evaluate):
        (WebCore::XPath::FunSubstringAfter::evaluate):
        (WebCore::XPath::FunTranslate::evaluate):
        (WebCore::XPath::FunLang::evaluate):
        * xml/XPathParser.cpp:
        (WebCore::XPath::Parser::expandQName):

2010-08-16  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        REGRESSION(r65208): editing/pasteboard/smart-paste-003.html and smart-paste-004.html crash on Windows Chromium
        https://bugs.webkit.org/show_bug.cgi?id=44070

        The crash was caused by start or end node being removed in pushDownInlineStyleAroundNode.
        It made start and end orphaned, and caused s.node() to be detached from the document.
        Fixed the crash by using nodes passed to pushDownInlineStyleAroundNode for start and end if the original
        start and end are orphaned because pushDownInlineStyleAroundNode won't prune targetNode.

        Test: editing/pasteboard/smart-paste-003-trailing-whitespace.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle):

2010-08-16  James Robinson  <jamesr@chromium.org>

        Compile fix. Remove ANGLEWebKitBridge classes from Chromium build.  They are unused.

        * WebCore.gypi:

2010-08-16  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Dimitri Glazkov.

        Canvas2D does not support images larger than system's GPU max texture size
        https://bugs.webkit.org/show_bug.cgi?id=43864

        A new class "TilingData" has been created that provides logic for 
        splitting a large image into a series of smaller tiles.
        
        GLES2Texture and CLES2Canvas are modified to use the TilingData to
        split images on texture upload and render one logical image as many smaller
        images.

        TilingData is tested via unit tests in WebKit/chromium/tests/TilingDataTest.cpp
        
        * WebCore.gypi:
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::drawTexturedRectTile):
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/chromium/GLES2Texture.cpp:
        (WebCore::GLES2Texture::GLES2Texture):
        (WebCore::GLES2Texture::~GLES2Texture):
        (WebCore::GLES2Texture::create):
        (WebCore::copySubRect):
        (WebCore::GLES2Texture::load):
        (WebCore::GLES2Texture::bindTile):
        * platform/graphics/chromium/GLES2Texture.h:
        (WebCore::GLES2Texture::tiles):
        * platform/graphics/chromium/TilingData.cpp: Added.
        (WebCore::computeNumTiles):
        (WebCore::TilingData::TilingData):
        (WebCore::TilingData::tileXIndexFromSrcCoord):
        (WebCore::TilingData::tileYIndexFromSrcCoord):
        (WebCore::TilingData::tileBounds):
        (WebCore::TilingData::tileBoundsWithBorder):
        (WebCore::TilingData::tileBoundsNormalized):
        (WebCore::TilingData::tilePositionX):
        (WebCore::TilingData::tilePositionY):
        (WebCore::TilingData::tileSizeX):
        (WebCore::TilingData::tileSizeY):
        (WebCore::TilingData::overlappedTileIndices):
        (WebCore::TilingData::intersectDrawQuad):
        * platform/graphics/chromium/TilingData.h: Added.
        (WebCore::TilingData::maxTextureSize):
        (WebCore::TilingData::totalSizeX):
        (WebCore::TilingData::totalSizeY):
        (WebCore::TilingData::numTiles):
        (WebCore::TilingData::numTilesX):
        (WebCore::TilingData::numTilesY):
        (WebCore::TilingData::tileIndex):
        (WebCore::TilingData::tileXIndex):
        (WebCore::TilingData::tileYIndex):
        (WebCore::TilingData::TilingData):
        (WebCore::TilingData::assertTile):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):

2010-08-16  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=43507, stop ImageBuffer from copying its data when rendering after canvas changes happen.
        
        This patch renames ImageBuffer::image() to ImageBuffer::copyImage(). The new method always returns a new copy that is a current
        snapshot of the ImageBuffer.
        
        To draw an ImageBuffer, you now use new GraphicsContext calls: drawImageBuffer.  Platforms can then optimize these calls to draw
        efficiently without having to copy the bits of the ImageBuffer into an Image.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::image):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::willDraw):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::paint):
        (WebCore::HTMLCanvasElement::setSurfaceSize):
        (WebCore::HTMLCanvasElement::copiedImage):
        (WebCore::HTMLCanvasElement::clearCopiedImage):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasPattern.cpp:
        (WebCore::CanvasPattern::CanvasPattern):
        * html/canvas/CanvasPattern.h:
        (WebCore::CanvasPattern::create):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::createPattern):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
        (WebCore::WebGLRenderingContext::reshape):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImageBuffer):
        (WebCore::GraphicsContext::clipToImageBuffer):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
        * platform/graphics/Image.h:
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::width):
        (WebCore::ImageBuffer::height):
        * platform/graphics/Pattern.cpp:
        (WebCore::Pattern::Pattern):
        * platform/graphics/Pattern.h:
        (WebCore::Pattern::create):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::clip):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        (WebCore::ImageBuffer::clip):
        * platform/graphics/cg/ImageBufferData.h:
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::apply):
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::apply):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/qt/ImageBufferData.h:
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        (WebCore::ImageBuffer::clip):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::clip):
        (WebCore::):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::drawsUsingCopy):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::clip):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::clipToTextMask):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::buildPattern):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintProgressBar):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        * svg/graphics/SVGImage.h:
        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::apply):
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

2010-08-16  Paul Sawaya  <psawaya@apple.com>

        Reviewed by Chris Marrin.

        Added shader validation via ANGLE
        https://bugs.webkit.org/show_bug.cgi?id=42405

        Added validation to WebGL via ANGLE

        * Configurations/WebCore.xcconfig:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/ANGLEWebKitBridge.cpp: Added.
        (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
        (WebCore::ANGLEWebKitBridge::validateShaderSource):
        * platform/graphics/ANGLEWebKitBridge.h: Added.
        (WebCore::):
        (WebCore::ANGLEWebKitBridge::setResources):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):

2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, do not build WebCore as a convenience library as this leads to
        errors in the Win build w/export symbols and causes problems with DOM bindings
        debugging in gdb.

        * wscript: Removed.

2010-08-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Adam Roben.

        Current implementation of WebCore post-build step on windows platform is error prone.
        It would be better to extract the script into external file.
        https://bugs.webkit.org/show_bug.cgi?id=44058

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/copyForwardingHeaders.cmd: Added.
        * WebCore.vcproj/copyInspectorFiles.cmd: Added.

2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Fix typo in previous build fix.

        * platform/graphics/WOFFFileFormat.cpp:

2010-08-16  Alex Milowski  <alex@milowski.com>

        Reviewed by David Levin.

        Added the configuration of the MathML related files.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2010-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: fix Leopard Release inspector tests.

        * inspector/front-end/inspector.js:

2010-08-16  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Implements IDBKeyPath extractor.
        https://bugs.webkit.org/show_bug.cgi?id=43276

        Unit-test IDBKeyPathExtractorTest.cpp.
        LayoutTests will arrive as IndexedDB infrastructure is fleshed out.

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::getValueFrom):
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        * bindings/v8/IDBBindingUtilities.h:

2010-08-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Kenneth Rohde Christiansen and Martin Robinson.

        [GTK] GTK+ drawing idle starved
        https://bugs.webkit.org/show_bug.cgi?id=43994

        Tune down the priority of the shared timers to guarantee GTK+ has
        an opportunity to redraw.

        * platform/gtk/SharedTimerGtk.cpp:
        (WebCore::setSharedTimerFireTime):

2010-08-16  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Build fix after r65366.

        EFL port does not support automated tests yet.

        * CMakeLists.txt: Use if (VAR) instead of if (${VAR}) to check if
        they're empty.

2010-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Make InjectedScript proto-based.
        https://bugs.webkit.org/show_bug.cgi?id=44028

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

2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Adam Roben.

        Fix warning in WebCore/plugins/win/PluginPackageWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43920

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::fetchInfo):

2010-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Touch inspector file to force frontend deployment.

        * inspector/InspectorController.cpp:

2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix for non-Win ports on Windows.

        * platform/graphics/WOFFFileFormat.cpp:

2010-08-16  Adam Langley  <agl@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Improve spacing support for complex text on Linux

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

        Previously, our complex text support ignored word-spacing,
        justification and letter-spacing. This fixes the first two issues and
        allows us to render Scribd's HTML5 documents much better.

        Test: fast/text/atsui-spacing-features.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::setWordSpacingAdjustment):
        (WebCore::TextRunWalker::setLetterSpacingAdjustment):
        (WebCore::TextRunWalker::setPadding):
        (WebCore::TextRunWalker::setGlyphXPositions):
        (WebCore::TextRunWalker::isCodepointSpace):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):

2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        Fix warnings: unknown conversion type character 'l' in format
        https://bugs.webkit.org/show_bug.cgi?id=43359

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::performURLImport): Replace %zu with %lu, because Windows doesn't understand z modifier.
        (WebCore::IconDatabase::pruneUnretainedIcons): Use %I64i intsead of %lli on Windows.
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        (WebCore::MediaPlayerPrivate::totalTimeChanged): Use %I64d intsead of %lld on Windows.
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::setMaximumSize): Use %I64i intsead of %lli on Windows.
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::setQuota): Use %I64u intsead of %llu on Windows.

2010-08-16  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        Fix warnings: unknown conversion type character 'l' in format
        https://bugs.webkit.org/show_bug.cgi?id=43359

        * loader/FTPDirectoryParser.cpp: Use %I64u format specifier instead of %llu on Windows.
        (WebCore::parseOneFTPLine):

2010-08-16  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Shadow blur for rectangle fill
        https://bugs.webkit.org/show_bug.cgi?id=44025

        The blur implementation follows the approximation of Gaussian blur
        with three successive box blurs, working on the alpha channel only.
        (see http://www.w3.org/TR/SVG/filters.html#feGaussianBlur).

        * WebCore.pro: Refer to ContexShadow.* files.
        * platform/graphics/qt/ContextShadow.cpp: Added.
        (WebCore::ContextShadow::ContextShadow):
        (WebCore::ContextShadow::clear):
        (WebCore::blurHorizontal): Box blurs in horizontal direction, working
        on QImage (in-place).
        (WebCore::shadowBlur): Main blur function which just calls the
        above blurHorizontal function twice, once with transposed image
        (equivalent as it would have done vertical box blurs).
        (WebCore::ContextShadow::drawShadowRect):
        * platform/graphics/qt/ContextShadow.h: Added.
        (WebCore::ContextShadow::):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::fillRect): Use ContextShadow for the shadow.
        (WebCore::GraphicsContext::setPlatformShadow):

2010-08-16  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Gustavo Noronha Silva.

        [GTK] Build fix for MathML code generation.

        No new tests needed.

        * GNUmakefile.am:

2010-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65414.
        http://trac.webkit.org/changeset/65414
        https://bugs.webkit.org/show_bug.cgi?id=44055

        GTL & QT tests failing. (Requested by pfeldman on #webkit).

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

2010-08-16  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Antonio Gomes.

        [Qt] Save and restore shadow state in GraphicsContextQt
        https://bugs.webkit.org/show_bug.cgi?id=44031

        This is needed after r65362.
        Use a new class ContextShadowParameter to track and keep the shadow
        state. We use this rather than using GraphicsContextState to allow
        possible optimizations (right now only to determine the shadow type,
        but in future it might cover things like cached scratch image,
        persistent shader, etc).

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::ContextShadowParameter::):
        (WebCore::ContextShadowParameter::ContextShadowParameter):
        (WebCore::ContextShadowParameter::clear):
        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):

2010-07-28  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Adam Barth.

        Implement IDBKeyPath parser.
        https://bugs.webkit.org/show_bug.cgi?id=42976

        IDBKeyPath is an internal class, exposed only for unit tests for now.
        It'll allow indexed database implementation to traverse a given key path and obtain the corresponding properties
        from a SerializedScriptValue.

        * WebCore.gypi:
        * storage/IDBKeyPath.cpp: Added.
        (WebCore::IDBKeyPath::create):
        (WebCore::IDBKeyPath::IDBKeyPath):
        (WebCore::IDBKeyPath::~IDBKeyPath):
        (WebCore::IDBKeyPath::hasNext):
        (WebCore::IDBKeyPath::next):
        (WebCore::IDBKeyPath::identifier):
        (WebCore::IDBKeyPath::hasIndex):
        (WebCore::IDBKeyPath::indexValue):
        (WebCore::IDBKeyPath::parserError):
        (WebCore::IDBKeyPath::parse):
        (WebCore::IDBKeyPath::Lexer::lex):
        (WebCore::isSafeIdentifierStartCharacter):
        (WebCore::isSafeIdentifierCharacter):
        (WebCore::IDBKeyPath::Lexer::lexIdentifier):
        (WebCore::IDBKeyPath::Lexer::lexNumber):
        * storage/IDBKeyPath.h: Added.
        (WebCore::IDBKeyPath::Token::Token):
        (WebCore::IDBKeyPath::):
        (WebCore::IDBKeyPath::Lexer::Lexer):
        (WebCore::IDBKeyPath::Lexer::next):
        (WebCore::IDBKeyPath::Lexer::currentToken):

2010-08-13  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        Geolocation requests in progress when the frame is disconnected should invoke the error callback
        https://bugs.webkit.org/show_bug.cgi?id=43974

        If requests are ongoing when the Frame is disconnected, we abort them with a fatal error.
        To do this, when Geolocation::disconnectFrame() is called we call cancelAllRequests() to
        set a fatal error on all ongoing requests. Once the requests have made their error
        callbacks, they are deleted. Note that we check at callback time that the script
        execution context for the callback is still valid, so it's safe to attempt these
        callbacks even after the Geolocation object's Frame has gone.

        This requires a change to allow multiple calls to GeoNotifier::setFatalError().
        For repeated calls, we do not replace the existing error. This ensures that when
        permission has been denied and the frame is then disconnected, the error callback
        reports the permission error, as required by the spec.

        Tests: fast/dom/Geolocation/disconnected-frame.html
               fast/dom/Geolocation/disconnected-frame-permission-denied.html

        * page/Geolocation.cpp:
        (WebCore::Geolocation::GeoNotifier::setFatalError):
        (WebCore::Geolocation::disconnectFrame):
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::cancelAllRequests):
        * page/Geolocation.h:

2010-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: upstream frontend-side WebSocket transport.
        https://bugs.webkit.org/show_bug.cgi?id=43970

        Chromium already has an alternate WebSocket-based communication channel with
        the backend. Upstreaming it in this change. We will agree on the URI
        of the remote service as the protocol matures.

        * inspector/front-end/inspector.js:
        (.WebInspector.socket.onmessage):
        (.WebInspector.socket.onerror):
        (.WebInspector.socket.onopen):
        (WebInspector.loaded):
        (WebInspector.doLoadedDone):
        (WebInspector_syncDispatch):

2010-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Make InjectedScript proto-based.
        https://bugs.webkit.org/show_bug.cgi?id=44028

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

2010-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: [REGRESSION] console's clear command does not work.
        https://bugs.webkit.org/show_bug.cgi?id=44027

        Test: inspector/console-command-clear.html

        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::clearConsoleMessages):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        * inspector/front-end/inspector.js:
        (WebInspector.consoleMessagesCleared):

2010-08-16  Jeremy Orlow  <jorlow@chromium.org>

        Ugh, the #if ENABLE() was supposed to be added to Settings not GroupSettings.

        * page/GroupSettings.cpp:
        (WebCore::GroupSettings::GroupSettings):
        (WebCore::GroupSettings::setLocalStorageQuotaBytes):
        * page/GroupSettings.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2010-08-16  Jeremy Orlow  <jorlow@chromium.org>

        Last build fix?

        * page/PageGroup.cpp:
        (WebCore::PageGroup::PageGroup):

2010-08-16  Jeremy Orlow  <jorlow@chromium.org>

        Ugh...another build fix.

        * page/GroupSettings.cpp:
        (WebCore::GroupSettings::GroupSettings):
        * page/GroupSettings.h:

2010-08-16  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.

        * GNUmakefile.am:

2010-08-16  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.

        * page/PageGroup.cpp:
        (WebCore::PageGroup::localStorage):

2010-08-13  Jeremy Orlow  <jorlow@chromium.org>

        Some settings are linked to the PageGroup not the Page.  Create a new class for those.
        https://bugs.webkit.org/show_bug.cgi?id=43794

        Since persistient storage is shared between pages, there's no way to modify
        some settings related to it on a per page basis.  As such, it's not technically
        correct for these settings to be on the Page's settings.  Create a new class
        called GroupSettings, move  group-wide local storage setting there (the other we
        can't), and add a new setting for IndexedDB's path (which is prompting this change).

        No behavior has changed, so no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/GroupSettings.cpp: Added.
        (WebCore::GroupSettings::GroupSettings):
        (WebCore::GroupSettings::setLocalStorageQuotaBytes):
        (WebCore::GroupSettings::setLocalStorageDatabasePath):
        (WebCore::GroupSettings::setIndexedDBDatabasePath):
        * page/GroupSettings.h: Added.
        (WebCore::GroupSettings::create):
        (WebCore::GroupSettings::localStorageQuotaBytes):
        (WebCore::GroupSettings::localStorageDatabasePath):
        (WebCore::GroupSettings::indexedDBDatabasePath):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::PageGroup):
        (WebCore::PageGroup::localStorage):
        * page/PageGroup.h:
        (WebCore::PageGroup::groupSettings):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setSessionStorageQuota):
        * page/Settings.h:

2010-08-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        HTML5 fragment parsing doesn't load iframes
        https://bugs.webkit.org/show_bug.cgi?id=44038

        Previously, this code assumed that every source iframe was actually
        attached to a render tree.  It tried to "keep the iframe alive" as it
        moved documents.  However, if the iframe wasn't attached to begin with,
        it was never "alive," so trying to keep a dead iframe alive lead to a
        ...  zombie iframe.

        Test: fast/frames/adopt-from-created-document.html

        * dom/Document.cpp:
        (WebCore::Document::adoptNode):

2010-08-13  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        https://bugs.webkit.org/show_bug.cgi?id=43778
        Dropping should fire textInput event

        This change:
        - added TextEvent::m_isDrop to distinguish drop-initiated events.
        - added to dispatch TextEvent from DragController before making a side effect
          and cancel the side effect if the event prevents default

        Tests: editing/pasteboard/drop-text-events-sideeffect.html
               editing/pasteboard/drop-text-events.html

        * dom/TextEvent.cpp:
        (WebCore::TextEvent::createForDrop): Added.
        (WebCore::TextEvent::TextEvent):
        * dom/TextEvent.h:
        (WebCore::TextEvent::isDrop): Added.
        * editing/Editor.cpp:
        (WebCore::Editor::handleTextEvent):
        (WebCore::Editor::findEventTargetFrom): Extracted from findEventTargetFromSelection().
        (WebCore::Editor::findEventTargetFromSelection): 
        * editing/Editor.h:
        * page/DragController.cpp:
        (WebCore::DragController::dispatchTextInputEventFor): Added.
        (WebCore::DragController::concludeEditDrag): Added an event dispatch path.
        * page/DragController.h:

2010-08-15  Ariya Hidayat  <ariya@sencha.com>

        Unreviewed, rolling out r65393.
        http://trac.webkit.org/changeset/65393
        https://bugs.webkit.org/show_bug.cgi?id=44031

        Breaks some canvas tests.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::):
        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):

2010-08-15  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Antonio Gomes.

        [Qt] Save and restore shadow state in GraphicsContextQt
        https://bugs.webkit.org/show_bug.cgi?id=44031

        This is needed after r65362.
        Use a new class ContextShadowParameter to track and keep the shadow
        state. We use this rather than using GraphicsContextState to allow
        possible optimizations (right now only to determine the shadow type,
        but in future it might cover things like cached scratch image,
        persistent shader, etc).

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::ContextShadowParameter::):
        (WebCore::ContextShadowParameter::ContextShadowParameter):
        (WebCore::ContextShadowParameter::clear):
        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):

2010-08-15  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Antonio Gomes.

        [Qt] Border should not cast shadows
        https://bugs.webkit.org/show_bug.cgi?id=44015

        Shadows should be not casted except for brush fill (which is not what
        drawLine and drawRect are supposed to do).

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawRect): Remove shadow painting,
        (WebCore::GraphicsContext::drawLine): ditto.

2010-08-15  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Build error on r65378
        https://bugs.webkit.org/show_bug.cgi?id=44019

        Change build script for HTMLEntityNames.json instead of HTMLEntityNames.gperf

        * CMakeLists.txt:

2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, add missing header.

        * platform/graphics/WOFFFileFormat.cpp:

2010-08-15  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, don't build PluginDataNone.cpp even on GTK as PluginDataWx.cpp compiles.

        * wscript:

2010-08-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        document.write() doesn't flush plain text
        https://bugs.webkit.org/show_bug.cgi?id=8961

        Originally I thought we should buffer the character tokens until we've
        reached the end of the input stream, but that's not how the spec
        handles things (it emits the character tokens one-by-one).

        Tests: fast/tokenizer/flush-characters-in-document-write-evil.html
               fast/tokenizer/flush-characters-in-document-write.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::emitEndOfFile):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
            - Renamed this function now that it's simplier.
        * html/HTMLTokenizer.h:

2010-08-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Don't try to replace a non-existent document after executing JavaScript URLs
        https://bugs.webkit.org/show_bug.cgi?id=44024

        Synchronous JavaScript execution is evil.  Previously, the frame was
        deleted after executing the JavaScript URL, so we'd get confused when
        we tried to replace its document.

        Test: fast/frames/javascript-url-for-deleted-frame.html

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):

2010-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65374.
        http://trac.webkit.org/changeset/65374
        https://bugs.webkit.org/show_bug.cgi?id=44018

        broke a myriad of svg tests (Requested by kling on #webkit).

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::strokeBoundingRect):

2010-08-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        XSLTProcessor.transformToFragment should not pass contextElement to html/xml document parsers
        https://bugs.webkit.org/show_bug.cgi?id=44017

        This fixes two tests which otherwise would fail when the
        HTML5 TreeBuilder is enabled for fragment parsing.

        This revealed a bug in HTMLTreeBuilder() which I fixed as well.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        * xml/XSLTProcessor.cpp:
        (WebCore::createFragmentFromSource):

2010-08-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Path: Fast approximation of stroke bounding rects
        https://bugs.webkit.org/show_bug.cgi?id=44014

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::strokeBoundingRect): Use QPainterPath::controlPointRect()
        to calculate a slightly larger bounding rect in a fraction of the time.

2010-08-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move innerHTML off of Range::createContextualFragment
        https://bugs.webkit.org/show_bug.cgi?id=44011

        This makes all the editing tests stop failing under the
        HTML5 TreeBuilder.

        In a previous patch Adam disabled some of the (wrong) code
        in createContextualFragment when in html5 treebuilder mode.
        The problem is that the editing code depends on
        createContextualFragment (as well as the Range DOM API),
        so we have to leave this code in until we can figure
        out if it's right or wrong behavior for the Range API.

        This patch moves innerHTML/outerHTML off of using
        createContextualFragment and instead calls
        DocumentFragment::parseHTML directly (which is much simpler).

        I expect Adam and I will end up turning on the HTML5 TreeBuilder
        in the next couple days, and most of the if branches I added
        here will go away for good.

        I renamed Element::createContextualFragment to
        deprecatedCreateContextualFragment, to indicate that it's a
        dead API.  The editing code should move off of it and consider
        using DocumentFragment::parseHTML instead.

        * dom/Element.cpp:
        (WebCore::Element::deprecatedCreateContextualFragment):
        * dom/Element.h:
        * dom/Range.cpp:
        (WebCore::Range::createContextualFragment):
        * editing/markup.cpp:
        (WebCore::createFragmentFromMarkup):
        * html/HTMLElement.cpp:
        (WebCore::useLegacyTreeBuilder):
        (WebCore::HTMLElement::deprecatedCreateContextualFragment):
        (WebCore::HTMLElement::setInnerHTML):
        (WebCore::HTMLElement::setOuterHTML):
        * html/HTMLElement.h:

2010-08-14  Tasuku Suzuki  <tasuku.suzuki@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Fix compilation with QT_NO_LINEEDIT
        https://bugs.webkit.org/show_bug.cgi?id=38324

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):

2010-08-14  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        IE SVG empty path test fails
        https://bugs.webkit.org/show_bug.cgi?id=44008

        Change createLine to allow creating zero-length lines. This makes it possible
        to have markers and line-caps applied to zero-length lines.

        Test: svg/custom/marker-empty-path.svg

        * platform/graphics/Path.cpp:
        (WebCore::Path::createLine):

2010-08-14  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [CMake] Move SQL files into a IF (ENABLE_DATABASE) section
        https://bugs.webkit.org/show_bug.cgi?id=43979

        * CMakeLists.txt:

2010-08-14  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Kenneth Rohde Christiansen.

        Canvas is not reset when setting canvas.width
        https://bugs.webkit.org/show_bug.cgi?id=43341

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset): Moved the call to
        hasCreatedImageBuffer up *before* the call to setSurface since setSurface
        sets hasCreatedImageBuffer to false every time.

2010-08-14  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [CMake] Set target properties only if available
        https://bugs.webkit.org/show_bug.cgi?id=43978

        * CMakeLists.txt:

2010-08-14  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-14  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.

        [Qt] Refactor shadow state handling in GraphicsContextQt
        https://bugs.webkit.org/show_bug.cgi?id=44006

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
        member variables.
        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
        function to check whether there is shadow or not.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::drawRect): Use shadow states instead of
        calling getShadow.
        (WebCore::GraphicsContext::drawLine): ditto.
        (WebCore::GraphicsContext::strokeArc): ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): ditto.
        (WebCore::GraphicsContext::fillPath): ditto.
        (WebCore::GraphicsContext::strokePath): ditto.
        (WebCore::GraphicsContext::fillRect): Removes the use of helper function
        drawBorderlessRectShadow as the code already becomes a lot simpler.
        (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
        function drawFilledShadowPath as the code already becomes a lot simpler.
        (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
        and find out the shadow type (complexity) for future use.
        (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.

2010-08-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename some concepts in HTML entity search to be more self-documenting
        https://bugs.webkit.org/show_bug.cgi?id=44004

        Start and end are now first and last, which lets us use some better
        names for the statics in HTMLEntityTable.

        * html/HTMLEntityParser.cpp:
        (WebCore::consumeHTMLEntity):
        * html/HTMLEntitySearch.cpp:
        (WebCore::HTMLEntitySearch::HTMLEntitySearch):
        (WebCore::HTMLEntitySearch::findFirst):
        (WebCore::HTMLEntitySearch::findLast):
        (WebCore::HTMLEntitySearch::advance):
        * html/HTMLEntitySearch.h:
        (WebCore::HTMLEntitySearch::isEntityPrefix):
        (WebCore::HTMLEntitySearch::mostRecentMatch):
        (WebCore::HTMLEntitySearch::fail):
        * html/HTMLEntityTable.h:

2010-08-13  Adam Barth  <abarth@webkit.org>

        Fix ASSERT in XML entity parsing.  You can't advance the entity search
        if you've already discovered that your string is not an entity.

        * html/HTMLEntityParser.cpp:
        (WebCore::decodeNamedEntity):

2010-08-13  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempt at fixing Chromium build.

        Add support for MathML entities
        https://bugs.webkit.org/show_bug.cgi?id=43949

        * WebCore.gyp/WebCore.gyp:
         - I have no clue if this is right or not.

2010-08-13  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempted build fix for Windows.

        Add support for MathML entities
        https://bugs.webkit.org/show_bug.cgi?id=43949

        * DerivedSources.cpp:
         - Add HTMLEntityTable.cpp

2010-08-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add support for MathML entities
        https://bugs.webkit.org/show_bug.cgi?id=43949

        Implementing the HTML5 entity parsing algorithm require refactoring how
        we search for entity names.  Instead of using a perfect hash, we now
        use a sorted list.  As we advance through the input, we walk down a
        binary search of the table looking for an entity.

        Using this data structure lets us keep track of whether the current
        string is a prefix of an existing entity, which we need for the
        algorithm.  In a future patch, I plan to add some indices to the
        table, which should let us narrow down the range of interesting entries
        more quickly.

        The one nasty piece of the algorithm is if we walk too far down the
        input and we need to back up to a previous match.  In this patch, we
        accomplish this by rewinding the input and consuming a known number of
        characters to resync the source.

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLEntityParser.cpp:
        (WebCore::consumeHTMLEntity):
        * html/HTMLEntitySearch.cpp: Added.
        (WebCore::):
        (WebCore::HTMLEntitySearch::HTMLEntitySearch):
        (WebCore::HTMLEntitySearch::compare):
        (WebCore::HTMLEntitySearch::findStart):
        (WebCore::HTMLEntitySearch::findEnd):
        (WebCore::HTMLEntitySearch::advance):
        * html/HTMLEntitySearch.h: Added.
        (WebCore::HTMLEntitySearch::isEntityPrefix):
        (WebCore::HTMLEntitySearch::currentValue):
        (WebCore::HTMLEntitySearch::lastMatch):
        (WebCore::HTMLEntitySearch::):
        (WebCore::HTMLEntitySearch::fail):
        * html/HTMLEntityTable.h: Added.
        (WebCore::HTMLEntityTableEntry::lastCharacter):

2010-08-13  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Refactor HTMLScriptRunner to allow deferred scripts to share code
        https://bugs.webkit.org/show_bug.cgi?id=43736

        No new tests because no functional change

        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::sourceFromPendingScript): Make const to enforce the idea that it doesn't change m_parsingBlockingScript.
        (WebCore::HTMLScriptRunner::executeParsingBlockingScript): Rename to make it clear this deals with the parsing blocking script and refactor to use executePendingScriptAndDispatchEvent.
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Factored out of executePendingScript, this can be used for executing any external script.
        (WebCore::HTMLScriptRunner::executeScript): This can be used for executing any inline or external script. ASSERTs moved to the two calling points.
        (WebCore::HTMLScriptRunner::executeParsingBlockingScripts): Moved method.
        (WebCore::HTMLScriptRunner::requestParsingBlockingScript): Factored out requestPendingScript.
        (WebCore::HTMLScriptRunner::requestPendingScript): Factored out from reqeustParsingBlockingScript.
        (WebCore::HTMLScriptRunner::runScript):
        * html/HTMLScriptRunner.h:

2010-08-13  Gavin Barraclough  <barraclough@apple.com>

        Windows build fix.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/win/SharedBufferWin.cpp:

2010-08-13  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.
        Switch String::/UString::ascii() to return a CString.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/c/c_class.cpp:
        (JSC::Bindings::CClass::methodsNamed):
        (JSC::Bindings::CClass::fieldNamed):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::valueFromInstance):
        (JavaField::setValueToInstance):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::methodsNamed):
        (JSC::Bindings::ObjcClass::fieldNamed):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        * loader/icon/IconRecord.cpp:
        * platform/sql/SQLiteDatabase.cpp:
        * platform/sql/SQLiteStatement.cpp:
        * storage/SQLStatement.cpp:

2010-08-13  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Dimitri Glazkov.

        Session history should skip over JS redirects
        https://bugs.webkit.org/show_bug.cgi?id=42861
        
        Lock the back/forward list for location changes and form submits that
        happen before the onload event fires that are not the result of user
        gestures.
        
        Made form submission (at the ScheduledFormSubmission level) more similar
        to ScheduledURLNavigation by having it call clientRedirected too, fixing
        a long-standing FIXME.

        Test: fast/history/gesture-before-onload-location-href.html,
        fast/history/gesture-before-onload-form-submit.html and updated
        expectations for http/tests/history tests that used to fail.

        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::requestURL): 
        (WebCore::FormSubmission::populateFrameLoadRequest):
        * loader/FormSubmission.h:
        * loader/RedirectScheduler.cpp:
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
        (WebCore::ScheduledFormSubmission::fire):
        (WebCore::ScheduledFormSubmission::didStartTimer):
        (WebCore::ScheduledFormSubmission::didStopTimer):
        (WebCore::RedirectScheduler::scheduleRedirect):
        (WebCore::RedirectScheduler::mustLockBackForwardList):
        (WebCore::RedirectScheduler::scheduleLocationChange):
        (WebCore::RedirectScheduler::scheduleFormSubmission):
        * loader/RedirectScheduler.h:

2010-08-13  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.
        These changes were supposed to be landed on r65319, but due to some
        svn-apply/commit-queue bug it wasn't fully applied. A bug was filed
        by Patrick Gansterer (author of the changes in this commit):
        https://bugs.webkit.org/show_bug.cgi?id=43981

        * CMakeLists.txt: Update calls to GENERATE_GPERF and
        GENERATE_GRAMMAR macros.

2010-08-13  Chris Fleizach  <cfleizach@apple.com>

        AX: isNativeCheckbox does not work as advertised
        https://bugs.webkit.org/show_bug.cgi?id=43872

        Re-adding this patch after it was erroneously rolled out.

        Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isInputImage):
        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
        * dom/InputElement.h:
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isCheckbox):

2010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65331.
        http://trac.webkit.org/changeset/65331
        https://bugs.webkit.org/show_bug.cgi?id=43980

        This patch breaks some shadow tests on Qt Linux release
        (Requested by ariya on #webkit).

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::drawFilledShadowPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):

2010-08-13  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Update run-bindings-tests expectations
        https://bugs.webkit.org/show_bug.cgi?id=43944

        The results have become out of sync after changeset 64552 and 65269.

        Test: WebKitTools/Scripts/run-bindings-tests

        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method_with_args):
        (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_serialized_value):
        (webkit_dom_test_obj_idb_key):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_xml_obj_attr):
        (webkit_dom_test_obj_set_xml_obj_attr):
        (webkit_dom_test_obj_get_reflected_string_attr):
        (webkit_dom_test_obj_set_reflected_string_attr):
        (webkit_dom_test_obj_get_reflected_url_attr):
        (webkit_dom_test_obj_set_reflected_url_attr):
        (webkit_dom_test_obj_get_reflected_non_empty_url_attr):
        (webkit_dom_test_obj_set_reflected_non_empty_url_attr):
        (webkit_dom_test_obj_get_reflected_custom_url_attr):
        (webkit_dom_test_obj_set_reflected_custom_url_attr):
        (webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr):
        (webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr):
        (webkit_dom_test_obj_get_string_attr_with_getter_exception):
        (webkit_dom_test_obj_set_string_attr_with_getter_exception):
        (webkit_dom_test_obj_get_string_attr_with_setter_exception):
        (webkit_dom_test_obj_set_string_attr_with_setter_exception):
        (webkit_dom_test_obj_get_script_string_attr):
        (webkit_dom_test_obj_get_hash):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):

2010-08-13  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Simon Hausmann.

        [Qt] Canvas and CSS: blur option in shadow not working
        https://bugs.webkit.org/show_bug.cgi?id=34479

        Patch 1: Refactor shadow states handling.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
        member variables.
        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
        function to check whether there is shadow or not.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::drawRect): Use shadow states instead of
        calling getShadow.
        (WebCore::GraphicsContext::drawLine): ditto.
        (WebCore::GraphicsContext::strokeArc): ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): ditto.
        (WebCore::GraphicsContext::fillPath): ditto.
        (WebCore::GraphicsContext::strokePath): ditto.
        (WebCore::GraphicsContext::fillRect): Removes the use of helper function
        drawBorderlessRectShadow as the code already becomes a lot simpler.
        (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
        function drawFilledShadowPath as the code already becomes a lot simpler.
        (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
        and find out the shadow type (complexity) for future use.
        (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.

2010-08-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Regression in linking of programs
        https://bugs.webkit.org/show_bug.cgi?id=43820

        Shaders and programs shouldn't be deleted until their attachments are removed, therefore, we need to track the attach/detach/useProgram.

        * html/canvas/WebGLObject.cpp: Track the object attachment count and whether it should really be deleted.
        (WebCore::WebGLObject::WebGLObject):
        (WebCore::WebGLObject::setObject):
        (WebCore::WebGLObject::deleteObject):
        * html/canvas/WebGLObject.h: Track the object attachment count and whether it should really be deleted.
        (WebCore::WebGLObject::onAttached):
        (WebCore::WebGLObject::onDetached):
        (WebCore::WebGLObject::getAttachmentCount):
        * html/canvas/WebGLProgram.cpp: Track the attached shaders.
        (WebCore::WebGLProgram::WebGLProgram):
        (WebCore::WebGLProgram::deleteObjectImpl):
        (WebCore::WebGLProgram::getAttachedShader):
        (WebCore::WebGLProgram::attachShader):
        (WebCore::WebGLProgram::detachShader):
        * html/canvas/WebGLProgram.h: Track the attached shaders.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::attachShader): Track the attachment of a shader to a program.
        (WebCore::WebGLRenderingContext::deleteProgram): Detach shaders.
        (WebCore::WebGLRenderingContext::detachShader): Track the attachment of a shader to a program.
        (WebCore::WebGLRenderingContext::validateWebGLObject): Also check if object == 0.
        (WebCore::WebGLRenderingContext::linkProgram): Using the cached attached shaders instead of query from driver.
        (WebCore::WebGLRenderingContext::useProgram): Track the attachment of a program to the current rendering pipeline.

2010-08-13  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        Geolocation activity started after frame has been disconnected can cause crash
        https://bugs.webkit.org/show_bug.cgi?id=39879

        New requests started after the Frame has been disconnected are ignored. We do
        not invoke the error callback as this would allow buggy or malicious pages to
        hose the CPU. Such a page could hold a reference to a Geolocation object from
        a since closed Page and register new requests from the error callback to
        create an infinite loop.

        Tests: fast/dom/Geolocation/disconnected-frame-already.html

        * page/Geolocation.cpp:

2010-08-13  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Support for multiple speech enabled elements in same page.
        https://bugs.webkit.org/show_bug.cgi?id=43922

        * page/SpeechInput.cpp: Generates request ids as necessary when each speech enabled input element gets
        created/destroyed and multiplexes the listener callbacks to the appropriate input element based on the request id.
        (WebCore::SpeechInput::SpeechInput):
        (WebCore::SpeechInput::~SpeechInput):
        (WebCore::SpeechInput::registerListener):
        (WebCore::SpeechInput::unregisterListener):
        (WebCore::SpeechInput::didCompleteRecording):
        (WebCore::SpeechInput::didCompleteRecognition):
        (WebCore::SpeechInput::setRecognitionResult):
        (WebCore::SpeechInput::startRecognition):
        (WebCore::SpeechInput::stopRecording):
        (WebCore::SpeechInput::cancelRecognition):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h: Now requires a one time set for the WebCore::SpeechInputListener and
        takes in a 'requestId' for all calls.
        * page/SpeechInputListener.h: Now returns the above mentioned requestId in all the listener callbacks for
        identifying which input element the event goes to.
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::SpeechInputClientMock):
        (WebCore::SpeechInputClientMock::setListener):
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::stopRecording):
        (WebCore::SpeechInputClientMock::cancelRecognition):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::speechInput):
        (WebCore::InputFieldSpeechButtonElement::didCompleteRecording):
        (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
        * rendering/TextControlInnerElements.h:

2010-08-13  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by David Kilzer.

        HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
        https://bugs.webkit.org/show_bug.cgi?id=43923

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::prepareForLoad): Tell mediaPlayer to cancel the current load
        if it already exists.

2010-08-12  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        [CHROMIUM] Use the BGRA format for canvas 2D accel upload and readbacks.
        https://bugs.webkit.org/show_bug.cgi?id=43804

        Use the BGRA format from GraphicsContext3D, if supported.  Also keep a
        texture around for uploads, rather than re-creating it each time.

        Covered by many layout tests (once we're running them).

        * platform/graphics/chromium/GLES2Texture.cpp:
        (WebCore::convertFormat):
        Move convertFormat() ahead of texture creation, so we can check for
        BGRA support.
        (WebCore::GLES2Texture::create):
        Use convertFormat() to determine the correct format and types to use;
        use the returned format also for internalFormat, since GLES2 insists
        they match.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setGraphicsContext3D):
        Clear the upload texture when a new context is set.
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        Use m_uploadTexture instead of creating a new one each time.
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
        When the context supports it, use the BGRA format for readbacks
        instead of swizzling.
        * platform/graphics/skia/PlatformContextSkia.h:
        Add m_uploadTexture for consecutive uploads.

2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Clean up mobile feature useage
        https://bugs.webkit.org/show_bug.cgi?id=43968

        * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
        feature names.

2010-08-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: rename InspectorValue::push and set to
        push{Value|Object|Array} and set{...}.
        https://bugs.webkit.org/show_bug.cgi?id=43966

        * bindings/js/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToInspectorValue):
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        * bindings/v8/ScriptValue.cpp:
        (WebCore::v8ToInspectorValue):
        * inspector/CodeGeneratorInspector.pm:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/Inspector.idl:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::buildArrayForCookies):
        (WebCore::InspectorController::getDOMStorageEntries):
        (WebCore::InspectorController::getProfileHeaders):
        (WebCore::InspectorController::getProfile):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::getRuleRanges):
        (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::saveBreakpoints):
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorStorageAgent.cpp:
        (WebCore::):
        (WebCore::InspectorStorageAgent::executeSQL):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        * inspector/InspectorValues.cpp:
        (WebCore::):
        (WebCore::InspectorValue::asValue):
        (WebCore::InspectorValue::asObject):
        (WebCore::InspectorValue::asArray):
        (WebCore::InspectorObject::asObject):
        (WebCore::InspectorArray::asArray):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::setValue):
        (WebCore::InspectorObject::setObject):
        (WebCore::InspectorObject::setArray):
        (WebCore::InspectorArray::pushValue):
        (WebCore::InspectorArray::pushObject):
        (WebCore::InspectorArray::pushArray):
        * inspector/ScriptBreakpoint.cpp:
        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):

2010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65204.
        http://trac.webkit.org/changeset/65204
        https://bugs.webkit.org/show_bug.cgi?id=43965

        Caused a lot of test crashes in Chromium (Requested by yutak
        on #webkit).

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isInputImage):
        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
        * dom/InputElement.h:
        * html/HTMLInputElement.h:

2010-08-13  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        Reapplying http://trac.webkit.org/changeset/65284 after fixed include.

        [v8] Create callbacks for named access of elements from document object on fly.
        https://bugs.webkit.org/show_bug.cgi?id=43725

        That should speed up access to methods on document as there is no need to
        consult with interceptor before invoking the method.

        This reapplies http://trac.webkit.org/changeset/60670 reverted with
        http://trac.webkit.org/changeset/63845.  The main difference is in treatment
        of removed named elements: we don't remove an accessor any more, but leave it.
        Therefore any accessor should be able to treat the case when there is no
        expando property.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::removeItemFromMap):

2010-08-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: remove openInInspectorWindow and evaluateAndStringify from InjectedScript.
        https://bugs.webkit.org/show_bug.cgi?id=43854

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::openInInspectedWindow):
        * inspector/InspectorController.h:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage.callback):
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:
        * inspector/front-end/InspectorBackendStub.js:
        (WebInspector.InspectorBackendStub):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):

2010-08-13  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        flaky websocket/tests/frame-length-overflow.html
        https://bugs.webkit.org/show_bug.cgi?id=43902

        Add m_shouldDiscardReceivedData flag to indicate it will no longer
        receive data from network.

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::didReceiveData):
        (WebCore::WebSocketChannel::didFail):
        (WebCore::WebSocketChannel::processBuffer):
        - when frame length overflows, we couldn't process data any more.
          clear buffer and mark m_shouldDiscardReceivedData true to make sure
          it doesn't process the same buffer again.
        * websockets/WebSocketChannel.h:

2010-08-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Use SVGPathByteStream to animate SVGPath
        https://bugs.webkit.org/show_bug.cgi?id=43929

        Use SVGPathByteStream to perform animations of Paths. SVGPathBlender blends
        the starting point to the end point according to the current progress value.
        Cleanup SVGPathSegList, by removing the unnecessary legacy blending code.

        No new tests because no functional changes.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimateElement.h:
        * svg/SVGPathBlender.cpp: Added.
        (WebCore::SVGPathBlender::SVGPathBlender):
        (WebCore::SVGPathBlender::~SVGPathBlender):
        (WebCore::SVGPathBlender::blendAnimatedFloat):
        (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
        (WebCore::SVGPathBlender::blendMoveToSegment):
        (WebCore::SVGPathBlender::blendLineToSegment):
        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
        (WebCore::SVGPathBlender::blendCurveToCubicSegment):
        (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
        (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
        (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathBlender::blendArcToSegment):
        (WebCore::SVGPathBlender::blendAnimatedPath):
        (WebCore::SVGPathBlender::cleanup):
        * svg/SVGPathBlender.h: Added.
        * svg/SVGPathParserFactory.cpp:
        (WebCore::globalSVGPathBlender):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::getPathSegAtLength):
        * svg/SVGPathSegList.h:
        (WebCore::SVGPathSegList::create):
        * svg/SVGPointList.cpp:
        (WebCore::adjustAnimatedValue):

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

        Reviewed by Dirk Schulze.

        Window size changes + resources on absolute sized content leads to pixelation
        https://bugs.webkit.org/show_bug.cgi?id=43921

        Avoid pixelation when using resources on absolute sized objects. Be sure to invalidate the used resources if window size changes.
        Otherwhise masks etc. will be scaled up and pixelate. As nice side-effect, this fixes run-webkit-tests --singly svg/W3C-SVG-1.1, which
        used to produce wrong results for the gradient tests, as the window size change from 800x600 for 480x360 (svg/W3C-SVG-1.1 specific DRT quirk)
        didn't invalidate the resources.

        Renamed invalidateClient -> removeClientFromCache and invalidateClients -> removeAllClientsFromCache.
        Add a boolean "markForInvalidation" parameter, that controls wheter the clients should be marked for repaint/boundaries invalidation/layout
        or wheter we only want to notify the parents that the resource changed, to avoid doing unncessary work in SVGRenderSupport::layoutChildren.

        Test: svg/custom/absolute-sized-content-with-resources.xhtml

        * rendering/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::styleDidChange): Don't do anything for StyleDifferenceEqual.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::imageChanged):
        * rendering/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::layout):
        (WebCore::RenderSVGResourceContainer::idChanged):
        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
        (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::):
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourceGradient.h:
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::layout):
        (WebCore::RenderSVGResourceMarker::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceMarker::removeClientFromCache):
        * rendering/RenderSVGResourceMarker.h:
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceMasker::removeClientFromCache):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/RenderSVGResourcePattern.h:
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::removeAllClientsFromCache):
        (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::invalidateResourcesOfChildren): Add new helper funtion recursively invalidating resources of a sub render tree.
        (WebCore::SVGRenderSupport::layoutChildren): Keep track of all objects that didn't need layout, as we still have to invalidate their resources, if window size changes.
        * rendering/SVGResources.cpp:
        (WebCore::SVGResources::removeClientFromCache):
        (WebCore::SVGResources::resourceDestroyed):
        * rendering/SVGResources.h:
        * rendering/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientLayoutChanged):

2010-08-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium DevTools: [CRASH] Autocomplete on arrays causes crashes.
        https://bugs.webkit.org/show_bug.cgi?id=43955

        * bindings/v8/ScriptValue.cpp:
        (WebCore::v8ToInspectorValue):

2010-08-13  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig

        Unify UString::UTF8String() & String::utf8() methods,
        remove UString::cost() & make atArrayIndex a free function.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bridge/NP_jsobject.cpp:
        (_NPN_Enumerate):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        * bridge/jni/JNIBridge.cpp:
        (JavaParameter::JavaParameter):
        (JavaMethod::JavaMethod):
        (JavaMethod::signature):
        (JavaMethod::methodID):
        * bridge/jni/JNIBridge.h:
        (JSC::Bindings::JavaString::utf8):
        (JSC::Bindings::JavaParameter::type):
        (JSC::Bindings::JavaMethod::returnType):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::eval):
        (JavaJSObject::getMember):
        (JavaJSObject::setMember):
        (JavaJSObject::removeMember):
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::JavaField):
        (JavaField::valueFromInstance):
        (JavaField::setValueToInstance):
        * bridge/jni/jsc/JNIBridgeJSC.h:
        (JSC::Bindings::JavaField::type):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaStringJSC.h:
        (JSC::Bindings::JavaStringImpl::utf8):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertySlot):
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        (JSC::RuntimeArray::put):

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

        Reviewed by Pavel Feldman.

        Web Inspector: allow interrupting long running JS to execute inspector command
        https://bugs.webkit.org/show_bug.cgi?id=43900

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::):
        (WebCore::ScriptDebugServer::pause):
        (WebCore::ScriptDebugServer::interruptAndRun):
        (WebCore::ScriptDebugServer::runPendingTasks):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::Task::~Task):

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

        Unreviewed, rolling out r65295.
        http://trac.webkit.org/changeset/65295
        https://bugs.webkit.org/show_bug.cgi?id=43950

        It broke 4 sputnik tests (Requested by Ossy on #webkit).

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bridge/NP_jsobject.cpp:
        (_NPN_Enumerate):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        * bridge/jni/JNIBridge.cpp:
        (JavaParameter::JavaParameter):
        (JavaMethod::JavaMethod):
        (JavaMethod::signature):
        (JavaMethod::methodID):
        * bridge/jni/JNIBridge.h:
        (JSC::Bindings::JavaString::UTF8String):
        (JSC::Bindings::JavaParameter::type):
        (JSC::Bindings::JavaMethod::returnType):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::eval):
        (JavaJSObject::getMember):
        (JavaJSObject::setMember):
        (JavaJSObject::removeMember):
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::JavaField):
        (JavaField::valueFromInstance):
        (JavaField::setValueToInstance):
        * bridge/jni/jsc/JNIBridgeJSC.h:
        (JSC::Bindings::JavaField::type):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaStringJSC.h:
        (JSC::Bindings::JavaStringImpl::UTF8String):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertySlot):
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        (JSC::RuntimeArray::put):

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

        Not reviewed. Fixed typo in inspector js.
        Follow up to r65300.

        * inspector/front-end/inspector.js:
        (WebInspector.log.isLogAvailable):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: Make getPrototypes return objects, not names.
        https://bugs.webkit.org/show_bug.cgi?id=43934

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        (injectedScriptConstructor.):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        * inspector/front-end/inspector.js:
        (WebInspector.log):

2010-08-12  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r65284 and r65288.  Broke chromium compile.
        https://bugs.webkit.org/show_bug.cgi?id=43725
        http://trac.webkit.org/changeset/65284
        http://trac.webkit.org/changeset/65288

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::namedPropertyDeleter):
        (WebCore::V8HTMLDocument::namedPropertyGetter):
        (WebCore::V8HTMLDocument::indexedPropertyGetter):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::removeItemFromMap):

2010-08-12  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig

        Unify UString::UTF8String() & String::utf8() methods,
        remove UString::cost() & make atArrayIndex a free function.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bridge/NP_jsobject.cpp:
        (_NPN_Enumerate):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        * bridge/jni/JNIBridge.cpp:
        (JavaParameter::JavaParameter):
        (JavaMethod::JavaMethod):
        (JavaMethod::signature):
        (JavaMethod::methodID):
        * bridge/jni/JNIBridge.h:
        (JSC::Bindings::JavaString::utf8):
        (JSC::Bindings::JavaParameter::type):
        (JSC::Bindings::JavaMethod::returnType):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::eval):
        (JavaJSObject::getMember):
        (JavaJSObject::setMember):
        (JavaJSObject::removeMember):
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::JavaField):
        (JavaField::valueFromInstance):
        (JavaField::setValueToInstance):
        * bridge/jni/jsc/JNIBridgeJSC.h:
        (JSC::Bindings::JavaField::type):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaStringJSC.h:
        (JSC::Bindings::JavaStringImpl::utf8):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertySlot):
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        (JSC::RuntimeArray::put):

2010-08-12  Gavin Barraclough  <barraclough@apple.com>

        Speculative build fix for chromium bindings (someone added the old include style!).

        * bindings/v8/V8DOMWindowShell.h:

2010-08-12  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        [Refactoring] TextEvent class has to many flags
        https://bugs.webkit.org/show_bug.cgi?id=43893

        Turned TextEvent::m_isLineBreak, TextEvent::m_isBacktab, TextEvent::m_isPaste 
        into single TextEvent::m_inputType enumeration.
        
        No functional change. No new tests.

        * dom/TextEvent.cpp:
        (WebCore::TextEvent::selectInputType):
        (WebCore::TextEvent::create):
        (WebCore::TextEvent::createForPlainTextPaste):
        (WebCore::TextEvent::createForFragmentPaste):
        (WebCore::TextEvent::TextEvent):
        * dom/TextEvent.h:
        (WebCore::TextEvent::):
        (WebCore::TextEvent::isLineBreak):
        (WebCore::TextEvent::isBackTab):
        (WebCore::TextEvent::isPaste):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTextInputEvent):

2010-08-12  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Delete obsolete CanvasNumberArray
        https://bugs.webkit.org/show_bug.cgi?id=38619

        Deleted unreferenced code. Built WebKit and Chromium to test.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * Android.mk:
        * bindings/js/JSCanvasNumberArrayCustom.cpp: Removed.
        * html/canvas/CanvasNumberArray.cpp: Removed.
        * html/canvas/CanvasNumberArray.h: Removed.
        * html/canvas/CanvasNumberArray.idl: Removed.

2010-08-12  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] Create callbacks for named access of elements from document object on fly.
        https://bugs.webkit.org/show_bug.cgi?id=43725

        That should speed up access to methods on document as there is no need to
        consult with interceptor before invoking the method.

        This reapplies http://trac.webkit.org/changeset/60670 reverted with
        http://trac.webkit.org/changeset/63845.  The main difference is in treatment
        of removed named elements: we don't remove an accessor any more, but leave it.
        Therefore any accessor should be able to treat the case when there is no
        expando property.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::removeItemFromMap):

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

        Reviewed by Adam Barth.

        Ensure that parser doesn't attach children that have been removed by JavaScript event handlers.
        https://bugs.webkit.org/show_bug.cgi?id=43813

        This patch re-fixes bug 40742 in a way that keeps allowing HTMLLinkElement
        to lazy-attach.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach): Added parent check.
        * html/HTMLLinkElement.cpp: Basically undoes changes introduced by r61424.
        * html/HTMLLinkElement.h: Ditto.

2010-08-12  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Clear PluginData's page pointer on page refresh
        https://bugs.webkit.org/show_bug.cgi?id=43888

        Test: plugins/access-after-page-destroyed.html

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

2010-08-12  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getParameter(STENCIL_VALUE_MASK) (and others) returns the wrong value
        https://bugs.webkit.org/show_bug.cgi?id=31842

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUnsignedLongParameter): Casting from int to unsigned long correctly.

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

        Reviewed by Joseph Pecoraro.

        Web Inspector: mimic FireBug's array detection.
        https://bugs.webkit.org/show_bug.cgi?id=30974

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

2010-08-12  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        regression in generateMipmap
        https://bugs.webkit.org/show_bug.cgi?id=43873

        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::generateMipmapLevelInfo): should set m_needToUseBlackTexture to false if generateMipmapLevelInfo runs through successfully.

2010-08-12  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by David Hyatt.

        [Qt] Split TransparencyLayer into its own header file.
        https://bugs.webkit.org/show_bug.cgi?id=43935

        * WebCore.pro: Include TransparencyLayer.h.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/qt/TransparencyLayer.h: Added.
        (WebCore::TransparencyLayer::TransparencyLayer):
        (WebCore::TransparencyLayer::operator=):

2010-08-12  François Sausset  <sausset@gmail.com>

        Reviewed by Beth Dakin.

        Horizontal padding should be 0 on mrow elements.
        https://bugs.webkit.org/show_bug.cgi?id=43908

        Updated tests in /mathml

        * css/mathml.css:
        (mrow, mfenced):
        (mfenced):

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

        Reviewed by David Hyatt.

        Make the cascade level of "user" styles configurable
        https://bugs.webkit.org/show_bug.cgi?id=43457

        * WebCore.exp.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * dom/Document.cpp:
        (WebCore::Document::pageGroupUserSheets):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        * page/PageGroup.h:
        * page/UserStyleSheet.h:
        (WebCore::UserStyleSheet::):
        (WebCore::UserStyleSheet::UserStyleSheet):
        (WebCore::UserStyleSheet::level):

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

        Fix qt build break.

        * html/ThreadableBlobRegistry.cpp:
        (WebCore::postTaskToMainThread):

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

        Reviewed by David Levin.

        Add ThreadableBlobRegistry to support calling BlobRegistry methods in
        main thread.
        https://bugs.webkit.org/show_bug.cgi?id=43874

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::addBlob):
        (WebCore::ScriptExecutionContext::removeBlob):
        (WebCore::ScriptExecutionContext::createPublicBlobURL):
        (WebCore::ScriptExecutionContext::revokePublicBlobURL):
        * dom/ScriptExecutionContext.h:
        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        (WebCore::Blob::~Blob):
        (WebCore::Blob::contextDestroyed):
        * html/Blob.h:
        * html/BlobRegistryImpl.cpp:
        (WebCore::BlobRegistryImpl::registerBlobURL):
        (WebCore::BlobRegistryImpl::unregisterBlobURL):
        (WebCore::BlobRegistryImpl::getBlobDataFromURL):
        * html/ThreadableBlobRegistry.cpp: Added.
        * html/ThreadableBlobRegistry.h: Added.

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

        Reviewed by Darin Adler.

        generate-bindings.pl should generate warning free code
        https://bugs.webkit.org/show_bug.cgi?id=43353

        * bindings/scripts/CodeGeneratorJS.pm: Suggested parentheses added around && within ||

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

        Reviewed by Kent Tamura.

        merge MarkupAccumulator and MarkupAccumulatorWrapper
        https://bugs.webkit.org/show_bug.cgi?id=43834

        Removed MarkupAccumulator and added serializeNodesWithNamespaces to use MarkupAccumulatorWrapper
        in both versions of createMarkup.  Accumulation of nodes done manually in serializeNodes is
        now done by MarkupAccumulatorWrapper as done in the original MarkupAccumulator.

        No new tests added since this is a cleanup.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Takes vector of nodes and set it to m_nodes.
        (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Adds node to m_nodes.
        (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Adds node to m_nodes.
        (WebCore::serializeNodes): Adding node to nodes is moved into MarkupAccumulatorWrapper.
        (WebCore::createMarkup): Instantiates MarkupAccumulatorWrapper.
        (WebCore::serializeNodesWithNamespaces): Renamed from MarkupAccumulator::appendMarkup.

2010-08-12  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-12  Ben Murdoch  <benm@google.com>

        Reviewed by Pavel Feldman.

        InspectorController.h missing InspectorObject forward declaration
        https://bugs.webkit.org/show_bug.cgi?id=43913

        Build fix so no new tests.

        * inspector/InspectorController.h: Adds the necessary forward declaration.

2010-08-12  Hui Huang  <hui.2.huang@nokia.com>

        Reviewed by Eric Seidel.

        m_windowRect is not updated because parent of PluginView is not
        set when updatePluginWidget is called. plugin gets wrong window
        size on setwindow.
        https://bugs.webkit.org/show_bug.cgi?id=43635

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::setParent):

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

        Not reviewed, re-apply r65241 and 65243.

        Web Inspector: brush up object proxies, introduce remote object model.
        https://bugs.webkit.org/show_bug.cgi?id=43847

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        (WebInspector.ConsoleView.prototype._format):
        (WebInspector.ConsoleView.prototype._formatarray):
        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
        (WebInspector.ConsoleMessage.prototype._format):
        (WebInspector.ConsoleCommandResult):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        (injectedScriptConstructor.):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
        * inspector/front-end/ObjectProxy.js: Removed.
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        * inspector/front-end/RemoteObject.js: Added.
        (WebInspector.RemoteObjectId):
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromNode):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.type):
        (WebInspector.RemoteObject.prototype.get objectId):
        (WebInspector.RemoteObject.prototype.get type):
        (WebInspector.RemoteObject.prototype.get description):
        (WebInspector.RemoteObject.prototype.get hasChildren):
        (WebInspector.RemoteObject.prototype.isError):
        (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
        (WebInspector.RemoteObject.prototype.getOwnProperties):
        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
        (WebInspector.RemoteObjectProperty):
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
        (WebInspector.SourceFrame.prototype._showPopup):
        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        (WebInspector.WatchExpressionTreeElement.prototype.update):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.log.logMessage):
        (WebInspector.log):
        * inspector/front-end/utilities.js:
        ():

2010-08-11  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Add support for BGRA pixel format to GraphicsContext3D.
        https://bugs.webkit.org/show_bug.cgi?id=43858

        Although this has been standard in desktop GL since 1.2, it's an 
        extension in GL ES 2.0, so a query function is provided to check
        for support.  Since they differ on semantics (GL ES 2.0 requires 
        TexImage2D()'s format and internalFormat to match, while desktop GL
        will not accept BGRA as an internalFormat), the stub implementation
        returns false until these quirks have been implemented and tested on
        each port.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::supportsBGRA):
        Add implementation for non-chromium platforms which returns false.
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        Add query function (supportsBGRA()) and the BGRA_EXT token.

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

        Not reviewed. Rolling out r65241 and 65243 for breaking inspector tests.

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

        Not reviewed. Adding the file missing in r65241.

        * inspector/front-end/RemoteObject.js: Added.
        (WebInspector.RemoteObjectId):
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromNode):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.type):
        (WebInspector.RemoteObject.prototype.get objectId):
        (WebInspector.RemoteObject.prototype.get type):
        (WebInspector.RemoteObject.prototype.get description):
        (WebInspector.RemoteObject.prototype.get hasChildren):
        (WebInspector.RemoteObject.prototype.isError):
        (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
        (WebInspector.RemoteObject.prototype.getOwnProperties):
        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
        (WebInspector.RemoteObjectProperty):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: brush up object proxies, introduce remote object model.
        https://bugs.webkit.org/show_bug.cgi?id=43847

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        (WebInspector.ConsoleView.prototype._format):
        (WebInspector.ConsoleView.prototype._formatnode):
        (WebInspector.ConsoleView.prototype._formatarray):
        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
        (WebInspector.ConsoleMessage.prototype._format):
        (WebInspector.ConsoleCommandResult):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        (injectedScriptConstructor.):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
        * inspector/front-end/ObjectProxy.js: Removed.
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        * inspector/front-end/RemoteObject.js: Added.
        (WebInspector.RemoteObjectId):
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromErrorMessage):
        (WebInspector.RemoteObject.fromNode):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.type):
        (WebInspector.RemoteObject.prototype.get objectId):
        (WebInspector.RemoteObject.prototype.get type):
        (WebInspector.RemoteObject.prototype.get description):
        (WebInspector.RemoteObject.prototype.get hasChildren):
        (WebInspector.RemoteObject.prototype.isError):
        (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
        (WebInspector.RemoteObject.prototype.getOwnProperties):
        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
        (WebInspector.RemoteObjectProperty):
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
        (WebInspector.SourceFrame.prototype._showPopup):
        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        (WebInspector.WatchExpressionTreeElement.prototype.update):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.log.logMessage):
        (WebInspector.log):
        * inspector/front-end/utilities.js:

2010-08-12  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        V8 code generator does not add V8BindingMacros.h include in all places it is needed
        https://bugs.webkit.org/show_bug.cgi?id=43907

        Adds the V8BindingMacros.h header before using the STRING_TO_V8PARAMETER_EXCEPTION_BLOCK
        macro.

        Build fix so no new tests.

        * bindings/scripts/CodeGeneratorV8.pm: include the header at the right time.

2010-08-12  Jeremy Orlow  <jorlow@chromium.org>

        Revert for now
        https://bugs.webkit.org/show_bug.cgi?id=43794 

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/GroupSettings.cpp: Removed.
        * page/GroupSettings.h: Removed.
        * page/PageGroup.cpp:
        (WebCore::PageGroup::PageGroup):
        (WebCore::PageGroup::localStorage):
        * page/PageGroup.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLocalStorageQuota):
        (WebCore::Settings::setLocalStorageDatabasePath):
        * page/Settings.h:
        (WebCore::Settings::localStorageQuota):
        (WebCore::Settings::localStorageDatabasePath):

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

        Not reviewed. Follow up to Jeremys fix, just remove the context parameter, it's not needed anymore.

        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::createImageBuffer):
        * rendering/SVGImageBufferTools.h:

2010-08-12  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.

        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::createImageBuffer):

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

        Reviewed by Dirk Schulze.

        SVG masking performance very slow
        https://bugs.webkit.org/show_bug.cgi?id=43622

        Create ImageBuffers only as large as the final rendered size on screen. Only gradient on text on CG handled this correctly so far.
        Refactored the code into a new SVGImageBufferTools class, and use the code from RenderSVGResourceMasker -> makes the IE9 demo SVG dice usable.
        Clippers, Patterns and Filters remain to be converted.

        Test: svg/zoom/page/zoom-mask-with-percentages.svg

        * Android.mk: Add SVGImageBufferTools.* to build.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/RenderSVGAllInOne.cpp: Ditto.
        * rendering/RenderSVGResourceGradient.cpp: Refactored CG gradient specific "create image buffer in absolute coordinates" code into SVGImageBufferTools class.
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourceMasker.cpp: Use new SVGImageBufferTools class, to avoid pixelation when zooming and to create image buffers as big as the final rendered size on screen, not more.
        (WebCore::RenderSVGResourceMasker::invalidateClients):
        (WebCore::RenderSVGResourceMasker::applyResource):
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
        (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/SVGImageBufferTools.cpp: Added.
        (WebCore::SVGImageBufferTools::absoluteTransformFromContext):
        (WebCore::SVGImageBufferTools::createImageBuffer):
        (WebCore::SVGImageBufferTools::clipToImageBuffer):
        * rendering/SVGImageBufferTools.h: Added.
        (WebCore::SVGImageBufferTools::SVGImageBufferTools):
        (WebCore::SVGImageBufferTools::~SVGImageBufferTools):

2010-08-10  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Adam Barth.

        Some settings are linked to the PageGroup not the Page.  Create a new class for those.
        https://bugs.webkit.org/show_bug.cgi?id=43794

        Since persistient storage is shared between pages, there's no way to modify
        some settings related to it on a per page basis.  As such, it's not technically
        correct for these settings to be on the Page's settings.  Create a new class
        called GroupSettings, move the 2 group-wide local storage settings there, and
        add a new setting for IndexedDB's path (which is prompting this change).

        No behavior has changed, so no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::PageGroup):
        (WebCore::PageGroup::localStorage):
        * page/PageGroup.h:
        (WebCore::PageGroup::groupSettings):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setSessionStorageQuota):
        * page/Settings.h:

2010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Decode images directly to QPixmap
        https://bugs.webkit.org/show_bug.cgi?id=40797

        Use the new API of Qt 4.7 to decode data from the image
        reader directly to QPixmap.

        This allow us to use JDCT_IFAST when decoding jpeg images
        to pixmap, and to decode animated GIF images, while still
        using in-place conversion of color space.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):

2010-07-14  Marcus Bulach  <bulach@chromium.org>

        Reviewed by darin@apple.com.

        Removes DontCheckEnums from some IDLs and fixes the corresponding enums.
        https://bugs.webkit.org/show_bug.cgi?id=42278

        This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=42250: it fixes some IDL/.h and enables generating compile-time checks for enums.

        Tests: idls should generate valid code.

        * dom/Node.h:
        (WebCore::Node::):
        * dom/Node.idl:
        * dom/OverflowEvent.h:
        (WebCore::OverflowEvent::):
        * dom/OverflowEvent.idl:
        * html/FileReader.cpp:
        (WebCore::FileReader::readyState):
        * html/FileReader.h:
        (WebCore::FileReader::):
        * html/FileReader.idl:

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

        Reviewed by David Levin.

        The #if clause enabling a feature should avoid the all includes of
        the feature
        https://bugs.webkit.org/show_bug.cgi?id=43866

        Modified the position of the guard to avoid including all the
        headers if the feature controlling the guard is not enabled.

        * dom/make_names.pl:

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

        Unreviewed, rolling out r65221.
        http://trac.webkit.org/changeset/65221
        https://bugs.webkit.org/show_bug.cgi?id=43896

        Broke snow leopard build. (Requested by dave_levin on
        #webkit).

        * platform/graphics/GraphicsContext3D.cpp:
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):

2010-08-11  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Add support for BGRA pixel format to GraphicsContext3D.
        https://bugs.webkit.org/show_bug.cgi?id=43858

        Although this has been standard in desktop GL since 1.2, it's an 
        extension in GL ES 2.0, so a query function is provided to check
        for support.  Since they differ on semantics (GL ES 2.0 requires 
        TexImage2D()'s format and internalFormat to match, while desktop GL
        will not accept BGRA as an internalFormat), the stub implementation
        returns false until these quirks have been implemented and tested on
        each port.

        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::supportsBGRA):
        Add implementation for non-chromium platforms which returns false.
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        Add query function (supportsBGRA()) and the BGRA_EXT token.

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

        Reviewed by Kent Tamura.

        Handle clicks and recognition events for the speech input button
        https://bugs.webkit.org/show_bug.cgi?id=43857

        * rendering/RenderInputSpeech.cpp:
        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): Selects the image based on current state.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::set_state): Switch to a new state and update the UI.
        (WebCore::InputFieldSpeechButtonElement::didCompleteRecording): 
        (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
        * rendering/TextControlInnerElements.h:
        (WebCore::InputFieldSpeechButtonElement::):
        (WebCore::InputFieldSpeechButtonElement::state):

2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        REGRESSION(65135): format specifier warnings
        https://bugs.webkit.org/show_bug.cgi?id=43876

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::appendToBuffer): cast size_t to unsigned long for %lu.
        (WebCore::WebSocketChannel::processBuffer): cast size_t to unsigned long for %lu.

2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, don't generate WebDOMEventTarget.h/.cpp as we use the ones in bindings/cpp.
        
        * DerivedSources.make:

2010-08-11  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Make PendingScript copyable so that it can be stored in containers
        https://bugs.webkit.org/show_bug.cgi?id=43875

        This will be useful for storing PendingScripts in a Vector or Deque for
        async and defer scripts.

        No new tests because no functional changes.

        * dom/PendingScript.h:
        (WebCore::PendingScript::PendingScript):
        (WebCore::PendingScript::operator=):

2010-08-11  Victoria Kirst  <vrk@google.com>

        Reviewed by David Levin.

        Fixing a regression in the UI for Mac default audio/video controls.
        https://bugs.webkit.org/show_bug.cgi?id=43750

        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderContainer):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):

2010-08-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup
        https://bugs.webkit.org/show_bug.cgi?id=43758

        This patch conditionalizes some LegacyHTMLTreeBuilder-specific code in
        HTMLElement::createContextualFragment that interferes with the new
        HTMLTreeBuilder.  Doing that exposes the above ASSERT, which I've fixed
        in this patch too.  Fixing that ASSERT involved a small refactoring in
        ExternalCharacterTokenBuffer.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::createContextualFragment):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):

2010-08-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Conditionalize wrong fragment parsing code to pass more HTML5lib tests
        https://bugs.webkit.org/show_bug.cgi?id=43877

        This code exists to support the LegacyHTMLTreeBuilder.  Unfortunately,
        it causes problems for the new HTMLTreeBuilder (which is more
        self-contained).

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

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

        Reviewed by Tony Chang.

        Can't unbold text in div in font-weight span
        https://bugs.webkit.org/show_bug.cgi?id=26871

        The bug was caused by removeInlineStyle not being able to include styled inline nodes around the start.
        Solved this problem by pushing down all inline styles instead of just text-decorations.
        This approach allows removeInlineStyle to remove styled ancestors properly and generates compact markups.

        Test: editing/style/push-down-inline-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeCSSStyle): No longer removes attributes or node when mode == RemoveNone.
        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement
        to determine the highest ancestor whose style needs to be pushed down.
        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Renamed from extractTextDecorationStyle.
        Extracts all inline CSS properties specified instead of just text decorations.
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Renamed from applyTextDecorationStyle.
        Applies inline styles using addInlineStyleIfNeeded or adds inline CSS values.
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Renamed from pushDownTextDecorationStyleAroundNode.
        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode.
        * editing/ApplyStyleCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs): Prevents moveParagraph from preserving
        the style of an empty paragraph when merged with the previous paragraph because we don't use that style anyways.

2010-08-11  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Ariya Hidayat.

        Remove dead code in CSSStyleSelector.
        https://bugs.webkit.org/show_bug.cgi?id=43805

        * css/CSSStyleSelector.cpp: Remove some debugging code that
        was compiled out.

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

        Reviewed by Beth Dakin.

        AX: isNativeCheckbox does not work as advertised
        https://bugs.webkit.org/show_bug.cgi?id=43872

        Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isInputImage):
            Only say it's an input image if its role has not been overriden
        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
        * dom/InputElement.h:
            Add methods to query if it's a checkbox or radio button type element.
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isCheckbox):

2010-08-11  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Remove obsolete WebGLArray type names
        https://bugs.webkit.org/show_bug.cgi?id=43885

        Deleted aliases to obsolete WebGLArray type names. Updated
        affected layout tests, synchronizing them with the versions in the
        Khronos repository where appropriate. Ran all layout tests.

        * bindings/js/JSDOMWindowCustom.cpp:
        * page/DOMWindow.idl:

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

        Reviewed by David Levin.

        [chromium] Geolocation breaks the compile if ENABLE_GEOLOCATION is set to 0
        https://bugs.webkit.org/show_bug.cgi?id=43753

        This change guards the entire contents of the V8 custom bindings files
        with ENABLE(GEOLOCATION) to match JSC.

        No new tests, build fix only.

        * bindings/v8/custom/V8CustomPositionCallback.cpp:
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
        * bindings/v8/custom/V8GeolocationCustom.cpp:

2010-08-11  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by David Levin.

        Include <wtf/UnusedParam.h> in GraphicsContextSkia.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43843

        wtf/UnusedParam.h must be included because UNUSED_PARAM macro is used.

        * platform/graphics/skia/GraphicsContextSkia.cpp:

2010-08-11  Nico Weber  <thakis@chromium.org>

        Reviewed by David Levin.

        [chromium/mac]: Fix colors in compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=43823

        The textures are drawn by opengl, which doesn't do any color space
        correction -- it assumes everything is in the device color space
        already. Hence, when drawing into the memory that will be uploaded
        as opengl texture, use the device color space.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateTextureContents):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::updateTextureContents):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):

2010-08-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Remove obsolete texImage2D and texSubImage2D entry points
        https://bugs.webkit.org/show_bug.cgi?id=40320

        No new tests; covered by existing WebGL tests.

        * html/canvas/WebGLRenderingContext.cpp:
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2010-08-11  Gavin Barraclough  <barraclough@apple.com>

        Windows build fix.

        * platform/win/BString.cpp:
        (WebCore::BString::BString):

2010-08-11  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix II.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2010-08-11  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

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

        Reviewed by Jeremy Orlow.

        Need EmptyDeviceOrientationClient and EmptyDeviceMotionClient for use with SVGImage
        https://bugs.webkit.org/show_bug.cgi?id=43848

        Tested by existing DeviceOrientation tests.

        * loader/EmptyClients.h:
        (WebCore::EmptyDeviceMotionClient::setController):
        (WebCore::EmptyDeviceMotionClient::startUpdating):
        (WebCore::EmptyDeviceMotionClient::stopUpdating):
        (WebCore::EmptyDeviceMotionClient::currentDeviceMotion):
        (WebCore::EmptyDeviceOrientationClient::setController):
        (WebCore::EmptyDeviceOrientationClient::startUpdating):
        (WebCore::EmptyDeviceOrientationClient::stopUpdating):
        (WebCore::EmptyDeviceOrientationClient::lastOrientation):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-08-11  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=42042
        An empty value for xml:lang isn't considered

        Revert last line change of my patch ; it happens to
        behave correctly and same as before, but makes the
        use case of empty values unneededly slower.

        No new tests. (No change in behavior)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>

        [wx, WebDOM] Build fix. Fix callback params and WebCore::String -> WTF::String fixes.

        * bindings/cpp/WebDOMCustomVoidCallback.cpp: Added.
        (WebDOMCustomVoidCallback::WebDOMCustomVoidCallback):
        (WebDOMCustomVoidCallback::~WebDOMCustomVoidCallback):
        (WebDOMCustomVoidCallback::handleEvent):
        (toWebCore):
        * bindings/cpp/WebDOMCustomVoidCallback.h: Added.
        (WebDOMCustomVoidCallback::create):
        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
        (documentWrite):
        * bindings/cpp/WebDOMString.cpp:
        (WebDOMString::equals):
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
        (WebDOMTestCallback::callbackWithClass1Param):
        (WebDOMTestCallback::callbackWithClass2Param):
        (WebDOMTestCallback::callbackWithNonBoolReturnType):
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/V8/V8TestInterface.h:
        * bindings/scripts/test/V8/V8TestObj.h:
        * wscript:

2010-08-11  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamps by Darin Adler & Sam Weinig.

        Bug 43867 - Some UString cleanup

        Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
        Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::hasCSSPropertyNamePrefix):
        (WebCore::cssPropertyName):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setPort):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * bindings/js/ScriptString.h:
        (WebCore::ScriptString::size):
        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToInspectorValue):
        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::convertValueToJObject):
        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
        (JSC::Bindings::convertArrayInstanceToJavaArray):
        (JSC::Bindings::convertValueToJValue):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):

2010-08-10  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
        
        Add a new boolean to Document to indicate that content should be paginated.  This is checked when doing page breaks
        and in a couple of other cases.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::paginatedForScreen):
        (WebCore::Document::setPaginatedForScreen):
        (WebCore::Document::paginated):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::calcColumnWidth):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcHeight):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):

2010-08-11  Adam Barth  <abarth@webkit.org>

        Windows build fix.  Turns out we need to unconditionally include
        HTMLEntityNames.cpp now that LegacyHTMLDocumentParser doesn't exist.

        * html/HTMLEntityParser.cpp:

2010-08-11  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
        https://bugs.webkit.org/show_bug.cgi?id=42897

        A <source> element inserted as a child of a media element with a networkState of NETWORK_EMPTY
        should cause the networkState to immediately change to NETWORK_NO_SOURCE.

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Remove unused variable m_processingLoad.
        (WebCore::HTMLMediaElement::prepareForLoad): Set m_networkState to NETWORK_NO_SOURCE.
        (WebCore::HTMLMediaElement::loadInternal): Remove unused variable m_processingLoad.
        (WebCore::HTMLMediaElement::selectMediaResource): No need to change m_networkState, it was done in prepareForLoad.
        * html/HTMLMediaElement.h:

        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::insertedIntoTree): Renamed from insertedIntoDocument because we want
        to do this setup whether or not the parent media element is in the document.
        * html/HTMLSourceElement.h:

2010-08-11  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Delete LegacyHTMLDocumentParser and LegacyPreloadScanner
        https://bugs.webkit.org/show_bug.cgi?id=43836

        These classes are bit-rotting disturbingly quickly.  We removed the
        last dependencies on these classes and so we can remove them.

        We might need to preserve some of their particular quirks to handle
        some legacy applications, but our current thinking is to do that with
        individual settings that affect the new parser.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::parseHTML):
        * dom/DocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        * dom/XMLDocumentParserQt.cpp:
        * html/HTMLConstructionSite.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLEntityParser.cpp:
        (WebCore::decodeNamedEntity):
        * html/HTMLEntityParser.h:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLTreeBuilder.cpp:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        * html/LegacyHTMLDocumentParser.cpp: Removed.
        * html/LegacyHTMLDocumentParser.h: Removed.
        * html/LegacyHTMLTreeBuilder.cpp:
        * html/LegacyPreloadScanner.cpp: Removed.
        * html/LegacyPreloadScanner.h: Removed.
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::appendEntry):
        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
        (WebCore::processFilesizeString):
        (WebCore::wasLastDayOfMonth):
        (WebCore::processFileDateString):
        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
        (WebCore::FTPDirectoryDocumentParser::append):
        (WebCore::FTPDirectoryDocumentParser::finish):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodeHTMLEntities):
        * page/XSSAuditor.h:
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::prepend):

2010-08-11  Chris Jerdonek  <cjerdonek@webkit.org>

        Reviewed by Adam Barth.

        Refactored FrameLoader::createWindow() out of the FrameLoader class
        since FrameLoader should not be responsible for creating windows.

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

        No new functionality, so no new tests.

        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::createWindow):
          - Updated the call to FrameLoader's createWindow().
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::createWindow):
          - Updated the call to FrameLoader's createWindow().
        * loader/FrameLoader.cpp:
        (WebCore::createWindowFromFrameLoader):
          - Made FrameLoader::createWindow() non-member, non-friend and changed it
            to accept Frame* parameters instead of FrameLoader*.
        * loader/FrameLoader.h:
          - Updated the header file to reflect the above change to FrameLoader.cpp.

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

        Reviewed by Pavel Feldman.

        WebInspector: small refactoring for CodeGeneratorInspector.
        all "notify" methods are generating in InspectorFrontend
        the other methods are generating in InspectorBackend.
        https://bugs.webkit.org/show_bug.cgi?id=43849

        * inspector/CodeGeneratorInspector.pm:

2010-08-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Misc improvements to the scrolling code
        https://bugs.webkit.org/show_bug.cgi?id=41926

        Refactor code that uses deprecated ways of dealing with the
        adjustments to use the GtkVersioning infrastructure.

        * GNUmakefile.am:
        * platform/gtk/GtkVersioning.cpp: Added.
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/ScrollViewGtk.cpp:
        * platform/gtk/ScrollbarGtk.cpp:
        (ScrollbarGtk::detachAdjustment):
        (ScrollbarGtk::updateThumbPosition):
        (ScrollbarGtk::updateThumbProportion):

2010-08-11  Nate Chapin  <japhet@chromium.org>

        Chromium mac build fix (variables weren't being initialized).

        * platform/graphics/filters/FEGaussianBlur.cpp: 
        (WebCore::FEGaussianBlur::apply): Initalize dxLeft, dxRight, dyLeft, dyRight.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: apply correct fix to storage panel status bar buttons.

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

        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype.get statusBarItems):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype._genericViewSetup):

2010-08-11  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Adam Barth.

        Override operator= for C++ DOM binding classes with private structs
        and update C++ DOM bindings test results.
        https://bugs.webkit.org/show_bug.cgi?id=43735

        * bindings/cpp/WebDOMEventTarget.cpp:
        (WebDOMEventTarget::operator=):
        * bindings/cpp/WebDOMEventTarget.h:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
        (WebDOMTestCallback::operator=):
        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
        (WebDOMTestInterface::operator=):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::operator=):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:

2010-08-11  Julie Parent  <jparent@chromium.org>

        Reviewed by Justin Garcia.

        Crash in replaceSelectionCommand with RTL text.
        https://bugs.webkit.org/show_bug.cgi?id=41485
        
        For text with mixed directionality, sort the text boxes before
        computing gaps, since that code assumes the boxes are in order.

        Test: editing/execCommand/insert-image-on-top-of-directional-text.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText): Sort boxes
        like we do in TextIterator before computing gaps.
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode): Use new compareByStart
        rather than compareBoxStart.  No functional change.
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::compareByStart): Moved compareBoxStart
        from TextIterator here so it can be used in multiple places.

2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed build fix of Leopard Intel Debug (Build)

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::processBuffer): use %lu, instead of %ul

2010-08-11  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Dirk Schulze.

        Fixes to the gaussian blur algorithm
        https://bugs.webkit.org/show_bug.cgi?id=41605

        Added the recomendations of SVG regarding the kernel size
        calculation for the approximation of the gaussian
        blur. http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement.
        Modified also some variable names to clarify algorithm, reviewed
        the situation where both standard deviations are 0.

        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::FEGaussianBlur):
        (WebCore::FEGaussianBlur::stdDeviationX):
        (WebCore::FEGaussianBlur::setStdDeviationX):
        (WebCore::FEGaussianBlur::stdDeviationY):
        (WebCore::FEGaussianBlur::setStdDeviationY):
        (WebCore::boxBlur):
        (WebCore::FEGaussianBlur::kernelPosition): Added the SVG kernel
        position recomendation.
        (WebCore::FEGaussianBlur::apply):
        (WebCore::FEGaussianBlur::externalRepresentation):
        * platform/graphics/filters/FEGaussianBlur.h:

2010-08-11  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Compile fix for Android, added include for <wtf/text/Cstring.h, this
        did not get included in Android.
        https://bugs.webkit.org/show_bug.cgi?id=41517
        
        Build fix only, no new tests.

        * page/PrintContext.cpp:

2010-08-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix length calculation to be more robust.
        https://bugs.webkit.org/show_bug.cgi?id=43777

        Test: websocket/tests/frame-length-overflow.html

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::appendToBuffer): len is size_t.
         - add sanity check for integer wraps.
        (WebCore::WebSocketChannel::skipBuffer): len is size_t.
        (WebCore::WebSocketChannel::processBuffer): length is size_t.
         - add sanity check for integer wraps.
        * websockets/WebSocketChannel.h: change m_bufferSize and len to size_t.

2010-08-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
        https://bugs.webkit.org/show_bug.cgi?id=43762

        In fixing the insertAdjacentHTML I had to make small changes to
        the error logic, which ended up bringing us closer to HTML5.

        Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
         - This ASSERT was just wrong, the child should not be attached
           in the case the parent is not attached.
        * html/HTMLElement.cpp:
        (WebCore::contextElementForInsertion):
         - This is part of HTML5, needed to know what to call the
           HTML or XML parsers with.  The previous code always passed
           "this" which is wrong in the case of beforeBegin or afterEnd insertion.
        (WebCore::HTMLElement::insertAdjacentHTML):
         - Use the right contextElement now that we know how to compute it.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
         - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.

2010-08-11  Adam Barth  <abarth@webkit.org>

        Attempt to fix Windows build.

        * platform/win/COMPtr.h:
        (WTF::):

2010-08-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Port view-source to new parser
        https://bugs.webkit.org/show_bug.cgi?id=43746

        This patch switches the view-source mode for frames over to using the
        new HTML parsing infrastructure.  This patch is an architectural change
        to how we parser view source documents.

        Previously, the LegacyHTMLDocumentParser would output a "guide string"
        that consided of the inter-attribute whitespace and various "control"
        characters.  The HTMLViewSourceDocument would then interpret this guide
        string to approximately reconstruct the source of the original document
        and colorize various syntatic constructs.

        Unfortunately, that approach is inherently low-fidelity.  It's not
        really feasible to reconstruct the input document from the token
        stream.  The old view source mode also had a number of hacks in the old
        parser (e.g., to turn of decoding of HTML entities).

        Instead of trying to reconstruct the original document from the token
        stream, we use the segmentation information given by the tokens to
        colorize the input document itself.  Each token now caries information
        about where in the input stream it came from and where various
        subcomponents (e.g., attribute names and values) are located.  This
        approach is higher fidelity because we use this segmentation
        information to colorize the original input instead of attempting to
        reconstruct the original input.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLDocumentParser.cpp:
        * html/HTMLToken.h:
        (WebCore::HTMLToken::clear):
        (WebCore::HTMLToken::startIndex):
        (WebCore::HTMLToken::length):
        (WebCore::HTMLToken::end):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        (WebCore::HTMLViewSourceDocument::addSource):
        (WebCore::HTMLViewSourceDocument::processDoctypeToken):
        (WebCore::HTMLViewSourceDocument::processTagToken):
        (WebCore::HTMLViewSourceDocument::processCommentToken):
        (WebCore::HTMLViewSourceDocument::processCharacterToken):
        (WebCore::HTMLViewSourceDocument::addRange):
        * html/HTMLViewSourceDocument.h:
        * html/HTMLViewSourceParser.cpp: Added.
        (WebCore::HTMLViewSourceParser::~HTMLViewSourceParser):
        (WebCore::HTMLViewSourceParser::insert):
        (WebCore::HTMLViewSourceParser::pumpTokenizer):
        (WebCore::HTMLViewSourceParser::append):
        (WebCore::HTMLViewSourceParser::sourceForToken):
        (WebCore::HTMLViewSourceParser::updateTokenizerState):
        (WebCore::HTMLViewSourceParser::finish):
        (WebCore::HTMLViewSourceParser::finishWasCalled):
        * html/HTMLViewSourceParser.h: Added.
        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
        (WebCore::HTMLViewSourceParser::document):
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::processToken):
        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):

2010-08-11  Yoshiki Hayashi  <yhayashi@google.com>

        Reviewed by Shinichiro Hamaji.

        Make form controls, textarea, legend and datagrid treat width:
        auto as specified in stretching vertical flexbox.  Otherwise it's
        treated as intrinsic as before.
        https://bugs.webkit.org/show_bug.cgi?id=17918

        Test: fast/flexbox/vertical-box-form-controls.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicWidth):

2010-08-10  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Add leakRef and clear to all RefPtr variants
        https://bugs.webkit.org/show_bug.cgi?id=42389

        * platform/win/COMPtr.h: Changed all uses of "template <...>" to instead do
        "template<...>". Defined many of the inlined functions outside the class
        definition, to avoid style checker warnings about multiple statements on
        a single line and for slightly better clarity of the class definition itself.
        Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
        don't have to rename all callers at once. Added a clear function. Changed
        the hash table code so it doesn't need to call releaseRef, and so it uses
        the hash table deleted value hooks already present within the class.

2010-08-10  Ariya Hidayat  <ariya@sencha.com>

        [Qt] Fix build warning: remove reference to html/BlobRegistryImp.h

        * WebCore.pro:

2010-08-10  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=43803
        <rdar://problem/6988023> Only the last Korean character can be shown if font style is enabled while typing (43803)

        Test: platform/mac/editing/input/bold-node.html

        * editing/Editor.cpp: (WebCore::Editor::setComposition): It is not clear to me what the
        "baseNode == extentNode" check is about in this function , but let's try to make it more
        likely that it passes.

2010-08-10  Hayato Ito  <hayato@chromium.org>

        Reviewed by Kent Tamura.

        Make CSSSelector::specificity() non-recursive.
        https://bugs.webkit.org/show_bug.cgi?id=43784

        This change is one of the required changes to fix the following master bug:
        https://bugs.webkit.org/show_bug.cgi?id=42806

        No functional change, thus no tests.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::specificity):
        (WebCore::CSSSelector::specificityForOneSelector):
        (WebCore::CSSSelector::specificityForPage):
        * css/CSSSelector.h:

2010-08-10  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        2d.path.clip.empty.html test is failing
        https://bugs.webkit.org/show_bug.cgi?id=43161

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::clip):
        Catching the empty path case from being sent directly to 
        CGContextClip - which would ignore it. Instead, using 
        CGContextClip with a CGRectZero to achieve the desired
        behavior of reducing the clipping region to nothing.

2010-08-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Add video files to enable video in WebKit EFL
        https://bugs.webkit.org/show_bug.cgi?id=43790

        Add files regarding html5 video to CMakeList.txt for WebKit Efl.
        But, this patch is not run html5 video on WebKit EFL yet.

        * CMakeLists.txt: Add files related to html5video.
        * platform/efl/LocalizedStringsEfl.cpp: Add functions for html5 video.
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines): Disable MediaPlayerPrivate::r
      egisterMediaEngine for WebKit EFL.

2010-08-10  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        Add a toRenderSVGImage function
        https://bugs.webkit.org/show_bug.cgi?id=43789

        Add a function for casting to RenderSVGImage and use it.

        * rendering/RenderSVGImage.h:
        (WebCore::toRenderSVGImage):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGImage):
        * rendering/SVGRenderTreeAsText.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::attach):

2010-08-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Clients of HTMLTokenizer should be able to see where characters went in the token
        https://bugs.webkit.org/show_bug.cgi?id=43766

        When viewing the source of a document, we want to colorize different
        parts of the input depending on how they were tokenized.  In this
        patch, we expose the internal segmentation of a token by recording the
        start and end offsets for each attribute name and each attribute value.

        * html/HTMLToken.h:
        (WebCore::HTMLToken::addNewAttribute):
        (WebCore::HTMLToken::beginAttributeName):
        (WebCore::HTMLToken::endAttributeName):
        (WebCore::HTMLToken::beginAttributeValue):
        (WebCore::HTMLToken::endAttributeValue):
        (WebCore::HTMLToken::appendToAttributeName):
        (WebCore::HTMLToken::appendToAttributeValue):
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-08-10  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by David Levin.

        Do not post a sync task to the DB thread if it's terminating.
        https://bugs.webkit.org/show_bug.cgi?id=43676

        * bindings/generic/ActiveDOMCallback.cpp: The context can
        sometimes be NULL. Check if it's NULL instead of asserting that
        it's not.
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):

        * storage/Database.cpp: Do not post a sync task to the DB thread
        if the DB thread is terminating. Also, when a task is destroyed,
        ASSERT that it was completed, or that it had no synchronizer.
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::Database::tableNames):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
        (WebCore::DatabaseTask::~DatabaseTask):
        (WebCore::DatabaseTask::performTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseTaskSynchronizer::hasCheckedForTermination):
        (WebCore::DatabaseTaskSynchronizer::setHasCheckedForTermination):
        (WebCore::DatabaseTask::hasSynchronizer):
        (WebCore::DatabaseTask::hasCheckedForTermination):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::terminationRequested):
        (WebCore::DatabaseThread::scheduleTask):
        (WebCore::DatabaseThread::scheduleImmediateTask):
        * storage/DatabaseThread.h:

2010-08-10  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2010-08-10  Jian Li  <jianli@chromium.org>

        Fix more build break.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Reader::readBlob):
        (WebCore::ZigZag::Reader::readFile):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::revokeBlobURL):
        * dom/ScriptExecutionContext.h:
        * html/Blob.cpp:
        (WebCore::Blob::slice):

2010-08-10  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig

        Bug 43817 - Remove UString::Rep
        UString::Rep has for a long time been replaced by UStringImpl (Rep
        remaining as a typedef).  UStringImpl has since been removed too
        (unified with StringImpl). Remove Rep, rename rep() to impl() and
        m_rep to m_impl.  Also add impl() method to Identifier, and rename
        its UString member from _ustring to m_string.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::findAtomicString):
        * bindings/js/JSDOMBinding.h:
        (WebCore::ustringToString):
        (WebCore::identifierToString):
        (WebCore::ustringToAtomicString):
        (WebCore::identifierToAtomicString):
        * bindings/js/SerializedScriptValue.h:
        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
        * bridge/IdentifierRep.cpp:
        (WebCore::IdentifierRep::get):
        * bridge/c/c_class.cpp:
        (JSC::Bindings::CClass::methodsNamed):
        (JSC::Bindings::CClass::fieldNamed):
        * bridge/jni/jsc/JavaClassJSC.cpp:
        (JavaClass::JavaClass):
        (JavaClass::methodsNamed):
        (JavaClass::fieldNamed):
        * bridge/jni/jsc/JavaStringJSC.h:
        (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
        (JSC::Bindings::JavaStringImpl::init):
        (JSC::Bindings::JavaStringImpl::UTF8String):
        (JSC::Bindings::JavaStringImpl::uchars):
        (JSC::Bindings::JavaStringImpl::length):
        (JSC::Bindings::JavaStringImpl::uString):
        * bridge/jsc/BridgeJSC.h:

2010-08-10  Jian Li  <jianli@chromium.org>

        Fix qt build break.

        * html/BlobRegistryImpl.cpp:
        * html/BlobRegistryImpl.h:
        * html/BlobURL.cpp:
        * html/BlobURL.h:
        * platform/BlobRegistry.h:

2010-08-10  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add the support to register the blob data.
        https://bugs.webkit.org/show_bug.cgi?id=43600

        This is the first step towards adding Blob URL support. The blob has
        an internal URL (used by FileReader) and public URLs (used by Blob.url).
        The URL and its associated data are managed by BlobRegistry interface.

        This patch does not remove the usage of BlobItem. It will be removed
        when all the blob data support is hooked up and the new tests will be
        added then.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedBlob::create):
        (WebCore::SerializedBlob::url):
        (WebCore::SerializedBlob::type):
        (WebCore::SerializedBlob::size):
        (WebCore::SerializedBlob::SerializedBlob):
        (WebCore::SerializedFile::create):
        (WebCore::SerializedFile::path):
        (WebCore::SerializedFile::url):
        (WebCore::SerializedFile::type):
        (WebCore::SerializedFile::SerializedFile):
        (WebCore::SerializedFileList::item):
        (WebCore::SerializedFileList::SerializedFileList):
        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
        (WebCore::SharedSerializedData::asBlob):
        (WebCore::SharedSerializedData::asFile):
        (WebCore::SerializingTreeWalker::convertIfTerminal):
        (WebCore::DeserializingTreeWalker::convertIfTerminal):
        (WebCore::TeardownTreeWalker::convertIfTerminal):
        * bindings/js/SerializedScriptValue.h:
        (WebCore::SerializedScriptValueData::):
        (WebCore::SerializedScriptValueData::asString):
        (WebCore::SerializedScriptValueData::asBlob):
        (WebCore::SerializedScriptValueData::asFile):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Writer::writeBlob):
        (WebCore::ZigZag::Writer::writeFile):
        (WebCore::ZigZag::Writer::writeFileList):
        (WebCore::ZigZag::Writer::doWriteUintHelper):
        (WebCore::ZigZag::Writer::doWriteUint32):
        (WebCore::ZigZag::Writer::doWriteUint64):
        (WebCore::ZigZag::Serializer::writeBlob):
        (WebCore::ZigZag::Serializer::writeFile):
        (WebCore::ZigZag::Reader::readBlob):
        (WebCore::ZigZag::Reader::readFile):
        (WebCore::ZigZag::Reader::readFileList):
        (WebCore::ZigZag::Reader::doReadUintHelper):
        (WebCore::ZigZag::Reader::doReadUint32):
        (WebCore::ZigZag::Reader::doReadUint64):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::trackBlobURL):
        (WebCore::ScriptExecutionContext::revokeBlobURL):
        * dom/ScriptExecutionContext.h:
        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        (WebCore::Blob::~Blob):
        (WebCore::Blob::createPublicURL):
        * html/Blob.h:
        (WebCore::Blob::create):
        (WebCore::Blob::url):
        * html/BlobRegistryImpl.cpp: Added.
        * html/BlobRegistryImpl.h: Added.
        * html/BlobStorageData.h: Added.
        * html/BlobURL.cpp: Added.
        * html/BlobURL.h: Added.
        * html/File.cpp:
        (WebCore::File::File):
        * html/File.h:
        (WebCore::File::create):
        * platform/BlobData.cpp: Added.
        * platform/BlobData.h: Added.
        * platform/BlobRegistry.h: Added.

2010-08-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        SegmentedString should keep track of how many characters it consumes
        https://bugs.webkit.org/show_bug.cgi?id=43765

        The easiest way to keep track of how many characters we've consumed
        would be to increment a counter every time we advance, but that's too
        slow.  Instead, we keep track lazily and update our summary durning the
        slow case of advance (which is sufficiently rare).

        There's some subtly to how this works w.r.t. "unconsuming" characters
        by pushing them back on the front of the segmented string.  This isn't
        really a "right answer" here because the notion of unconsuming input
        isn't present in the API.  This patch makes some assumptions about how
        clients of this class use its API.  In a future patch, we might want to
        rename some of the method names to make this more explicit.

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::operator=):
        (WebCore::SegmentedString::append):
        (WebCore::SegmentedString::prepend):
        (WebCore::SegmentedString::advanceSubstring):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedSubstring::numberOfCharactersConsumed):
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::numberOfCharactersConsumed):

2010-08-10  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.
        
        Bug 43816 - Remove UStringImpl
        The class was actually removed a long time ago, replaced by StringImpl.
        UStringImpl is just a typedef onto StringImpl.  Remove this.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::findAtomicString):

2010-08-09  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Prefer the medium-quality (bilinear) image resampling for 2D canvas on
        Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=43646
        
        This is what the accelerated path is going to do,
        so do it in the software path as well.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * platform/graphics/GraphicsContext.h:

2010-08-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Dave Hyatt.

        Removing an element from an anonymous block causes crash
        https://bugs.webkit.org/show_bug.cgi?id=42309

        There was a case where a continuation was added as a child, but if you asked
        that child who is your parent, it would return the wrong answer.
   
        The specific scenario was when a sibling of an element who was the start of a 
        continuation was present. Retrieving the parent object had then follow the sibling
        chain and then follow the originating continuation chain.

        Test: accessibility/removed-anonymous-block-child-causes-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::nextSibling):
            Fix erroneous comment
        (WebCore::nextContinuation):
        (WebCore::AccessibilityRenderObject::renderParentObject):
            Handle unhandled continuation case.
        (WebCore::AccessibilityRenderObject::addChildren):
            ASSERT that the parentObject() is the same when adding a new child.

2010-08-10  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Take checks for ruby base existence out of the ASSERTs.
        https://bugs.webkit.org/show_bug.cgi?id=43795

        Test: fast/ruby/ruby-remove-no-base.html

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::addChild):
        (WebCore::RenderRubyRun::removeChild):

2010-08-06  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        texture functions should gen INVALID_OPERATION if no texture is bound
        https://bugs.webkit.org/show_bug.cgi?id=42907

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D): Check if a texture is bound to target.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
        (WebCore::WebGLRenderingContext::getTexParameter): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::texParameter): Ditto.
        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::validateTextureBinding): Check if target is valid and if a texture is bound to it.
        * html/canvas/WebGLRenderingContext.h: Declare validateTextureBinding().

2010-08-10  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Sam Weinig.

        [WINCE] Implement Path::currentPoint()
        https://bugs.webkit.org/show_bug.cgi?id=42927

        * platform/graphics/wince/PathWince.cpp:
        (WebCore::Path::currentPoint):

2010-08-10  Ariya Hidayat  <ariya@sencha.com>

        [Qt] Warning fix, remove reference to platform/text/StringImpl.h

        * WebCore.pro:

2010-08-10  Alice Liu  <alice.liu@apple.com>

        Chromium build fix attempt.  not reviewed
        
        * platform/text/TextBoundaries.cpp: use correct stringimplh include

2010-08-10  Jian Li  <jianli@chromium.org>

        Chromium build fix.

        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:

2010-08-10  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Change the ScriptController::processingUserGesture to static method
        and use dynamic(JSC binding)/entered(V8 binding) frame to check the user gesture.
        https://bugs.webkit.org/show_bug.cgi?id=42827.

        Test: fast/events/popup-blocked-from-iframe-script.html

        * WebCore.order:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::processingUserGesture):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::createWindow):
        (WebCore::domWindowAllowPopUp):
        (WebCore::JSDOMWindow::open):
        (WebCore::JSDOMWindow::showModalDialog):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::navigateIfAllowed):
        (WebCore::JSLocation::reload):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * bindings/js/ScriptController.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::ScriptController::anyPageIsProcessingUserGesture):
        * bindings/v8/ScriptController.h:
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::processingUserGesture):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::isProcessingUserGesture):

2010-08-10  Gavin Barraclough  <barraclough@apple.com>

        Chromium build fix

        * platform/graphics/chromium/FontPlatformDataLinux.h:

2010-08-10  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.

        Bug 43786 - Move AtomicStringHash from WebCore to WTF
        Also remove deprecated string headers from WebCore/platform/text.

        * ForwardingHeaders/wtf/text/AtomicStringHash.h: Added.
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        * bindings/js/JSClipboardCustom.cpp:
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
        * bindings/js/JSDOMPluginArrayCustom.cpp:
        * bindings/js/JSDOMPluginCustom.cpp:
        * bindings/js/JSDOMStringMapCustom.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDataGridColumnListCustom.cpp:
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        * bindings/js/JSMessagePortCustom.cpp:
        * bindings/js/JSNodeListCustom.cpp:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        * bindings/scripts/test/V8/V8TestInterface.h:
        * bindings/scripts/test/V8/V8TestObj.h:
        * bindings/v8/ScriptDebugServer.h:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8Binding.h:
        * bridge/jni/v8/JavaClassV8.h:
        * css/CSSFontFaceSource.h:
        * css/CSSFontSelector.cpp:
        * css/CSSFontSelector.h:
        * css/CSSNamespace.h:
        * css/CSSParser.cpp:
        * css/CSSParser.h:
        * css/CSSParserValues.h:
        * css/CSSStyleSelector.h:
        * css/CSSVariablesDeclaration.h:
        * css/MediaFeatureNames.h:
        * css/MediaQueryExp.h:
        * css/WebKitCSSKeyframesRule.h:
        * dom/CustomEvent.h:
        * dom/Document.cpp:
        * dom/Event.cpp:
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/EventTarget.h:
        * dom/InputElement.h:
        * dom/MessagePort.cpp:
        * dom/MessagePort.h:
        * dom/NameNodeList.h:
        * dom/NodeRareData.h:
        * dom/QualifiedName.h:
        * dom/ScriptElement.cpp:
        * dom/SpaceSplitString.h:
        * dom/TagNodeList.h:
        * dom/XMLDocumentParser.h:
        * editing/EditorCommand.cpp:
        * history/mac/HistoryItemMac.mm:
        * html/BlobBuilder.cpp:
        * html/DataGridColumn.h:
        * html/DataGridColumnList.cpp:
        * html/HTMLDocument.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLTokenizer.cpp:
        * html/HTMLTokenizer.h:
        * html/LegacyPreloadScanner.cpp:
        * html/LegacyPreloadScanner.h:
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorValues.h:
        * loader/Cache.h:
        * loader/CrossOriginAccessControl.cpp:
        * loader/CrossOriginPreflightResultCache.h:
        * loader/DocLoader.h:
        * loader/ImageLoader.h:
        * loader/appcache/ApplicationCache.h:
        * loader/appcache/ApplicationCacheStorage.h:
        * loader/appcache/DOMApplicationCache.h:
        * loader/icon/IconDatabase.h:
        * loader/icon/IconRecord.h:
        * loader/loader.h:
        * notifications/Notification.h:
        * page/FrameTree.h:
        * page/Page.cpp:
        * page/PageGroup.h:
        * page/SecurityOrigin.h:
        * page/Settings.h:
        * page/WindowFeatures.cpp:
        * page/animation/AnimationBase.h:
        * page/animation/AnimationControllerPrivate.h:
        * page/animation/CompositeAnimation.h:
        * platform/Cookie.h:
        * platform/KURL.cpp:
        * platform/KURLGoogle.cpp:
        * platform/KURLHash.h:
        * platform/Length.cpp:
        * platform/LinkHash.cpp:
        * platform/LinkHash.h:
        * platform/MIMETypeRegistry.cpp:
        * platform/MIMETypeRegistry.h:
        * platform/SchemeRegistry.h:
        * platform/ThreadGlobalData.cpp:
        * platform/ThreadGlobalData.h:
        * platform/cf/BinaryPropertyList.cpp:
        * platform/chromium/SearchPopupMenuChromium.cpp:
        * platform/efl/ClipboardEfl.cpp:
        * platform/efl/CookieJarEfl.cpp:
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        * platform/graphics/FontCache.cpp:
        * platform/graphics/FontFamily.h:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/cg/ImageSourceCGWin.cpp:
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        * platform/graphics/chromium/FontCacheLinux.cpp:
        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/filters/Filter.h:
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/qt/FontCacheQt.cpp:
        * platform/graphics/win/FontCacheWin.cpp:
        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
        * platform/graphics/win/FontPlatformDataWin.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/wince/FontPlatformData.cpp:
        * platform/graphics/wx/FontPlatformData.h:
        * platform/gtk/ClipboardGtk.cpp:
        * platform/gtk/DataObjectGtk.h:
        * platform/haiku/ClipboardHaiku.cpp:
        * platform/haiku/CookieJarHaiku.cpp:
        * platform/haiku/SearchPopupMenuHaiku.cpp:
        * platform/mac/SearchPopupMenuMac.mm:
        * platform/mac/ThreadCheck.mm:
        * platform/network/CredentialStorage.cpp:
        * platform/network/HTTPHeaderMap.h:
        * platform/network/cf/DNSCFNet.cpp:
        * platform/network/curl/CookieJarCurl.cpp:
        * platform/qt/ClipboardQt.cpp:
        * platform/text/AtomicString.h: Removed.
        * platform/text/AtomicStringHash.h: Removed.
        * platform/text/AtomicStringImpl.h: Removed.
        * platform/text/AtomicStringKeyedMRUCache.h:
        * platform/text/StringBuilder.cpp:
        * platform/text/StringHash.h: Removed.
        * platform/text/StringImpl.h: Removed.
        * platform/text/TextCodecLatin1.cpp:
        * platform/text/TextCodecUTF16.cpp:
        * platform/text/TextCodecUserDefined.cpp:
        * platform/text/cf/HyphenationCF.cpp:
        * platform/text/cf/StringImplCF.cpp:
        * platform/text/mac/HyphenationMac.mm:
        * platform/text/mac/StringImplMac.mm:
        * platform/text/transcoder/FontTranscoder.h:
        * platform/text/wince/TextCodecWinCE.cpp:
        * platform/win/BString.cpp:
        * platform/win/ClipboardWin.cpp:
        * platform/win/SearchPopupMenuWin.cpp:
        * platform/wince/SearchPopupMenuWince.cpp:
        * platform/wx/ClipboardWx.cpp:
        * plugins/DOMMimeTypeArray.cpp:
        * plugins/DOMPlugin.cpp:
        * plugins/DOMPluginArray.cpp:
        * plugins/PluginDatabase.h:
        * plugins/PluginPackage.h:
        * plugins/PluginStream.h:
        * rendering/RenderApplet.h:
        * rendering/RenderText.cpp:
        * rendering/style/BindingURI.h:
        * rendering/style/ContentData.cpp:
        * rendering/style/CounterContent.h:
        * rendering/style/CounterDirectives.h:
        * rendering/style/KeyframeList.h:
        * rendering/style/StyleRareInheritedData.h:
        * storage/AbstractDatabase.cpp:
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseTracker.h:
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/OriginQuotaManager.h:
        * storage/OriginUsageRecord.h:
        * storage/SQLTransactionCoordinator.h:
        * storage/StorageAreaSync.h:
        * storage/StorageMap.h:
        * storage/StorageNamespaceImpl.cpp:
        * storage/chromium/QuotaTracker.h:
        * svg/SVGAltGlyphElement.h:
        * svg/SVGDocumentExtensions.cpp:
        * svg/SVGDocumentExtensions.h:
        * svg/SVGFitToViewBox.cpp:
        * svg/SVGLangSpace.h:
        * svg/animation/SMILTimeContainer.h:
        * svg/graphics/filters/SVGFilterBuilder.h:
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.cpp:
        * websockets/WebSocketHandshake.cpp:
        * websockets/WebSocketHandshakeResponse.cpp:
        * wml/WMLPageState.h:
        * workers/AbstractWorker.h:
        * workers/DefaultSharedWorkerRepository.h:
        * workers/Worker.h:
        * workers/WorkerContext.h:
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestUpload.cpp:
        * xml/XMLHttpRequestUpload.h:
        * xml/XPathExpressionNode.h:
        * xml/XPathNamespace.h:
        * xml/XPathParser.cpp:
        * xml/XSLTProcessor.h:

2010-08-10  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Adding changes that escaped from r65072.

        Web Inspector: move database processing to native layer.
        https://bugs.webkit.org/show_bug.cgi?id=43788

        * inspector/front-end/InspectorBackendStub.js:
        (WebInspector.InspectorBackendStub):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype._genericViewSetup):

2010-08-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Inputs of type 'search' have weird looking checkboxes instead of search/clear icons
        https://bugs.webkit.org/show_bug.cgi?id=43760

        Draw appropriate GTK+ stock images for search/clear icons in search entries.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):

2010-08-10  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Qt build fix, follow up for r65072.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):

2010-08-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move database processing to native layer.

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

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::dispatch):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::executeSQL):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorStorageAgent.cpp: Added.
        (WebCore::):
        (WebCore::InspectorStorageAgent::InspectorStorageAgent):
        (WebCore::InspectorStorageAgent::~InspectorStorageAgent):
        (WebCore::InspectorStorageAgent::executeSQL):
        (WebCore::InspectorStorageAgent::clearFrontend):
        * inspector/InspectorStorageAgent.h: Added.
        (WebCore::InspectorStorageAgent::create):
        (WebCore::InspectorStorageAgent::frontend):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        (WebInspector.sqlTransactionSucceeded):
        (WebInspector.sqlTransactionFailed):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryFinished):
        (WebInspector.DatabaseQueryView.prototype._queryError):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        * inspector/front-end/InjectedScript.js:
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.dataGridForResult):

2010-08-10  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        [V8] DeviceMotionEvent can not be used from JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=43785

        This is tested by the existing tests fast/dom/DeviceMotion/create-event.html
        and fast/dom/DeviceMotion/optional-event-properties.html.

        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):

2010-08-10  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Antonio Gomes.

        [Qt] Build WebKit2 into a static lib

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

        Just build changes so no new tests.

        * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
        * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
        * features.pri: Added.

2010-08-10  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
        https://bugs.webkit.org/show_bug.cgi?id=43780

        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::hasFrontend):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::create):
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        (WebCore::InspectorDebuggerAgent::failedToParseSource):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::didContinue):
        * inspector/InspectorDebuggerAgent.h:

2010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Make sure NPAPI plugins get an initial setNPWindow on Mac

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

        * plugins/mac/PluginViewMac.mm:

2010-08-10  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Use SVGPathParser to create SVG paths and to perform path animations
        https://bugs.webkit.org/show_bug.cgi?id=43696

        Removed toString() functions in all SVGPathSeg* objects as well as toPath() in SVGPathSegList.
        These hacks were used to create a SVG path data string or a platform path from a SVGPathSegList.
        Use the new SVGPathParser instead.

        Doesn't affect any tests.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::toPathData):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildStringFromByteStream):
        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSeg.cpp:
        * svg/SVGPathSeg.h:
        * svg/SVGPathSegArc.cpp:
        * svg/SVGPathSegArc.h:
        * svg/SVGPathSegClosePath.h:
        (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubic.h:
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        * svg/SVGPathSegCurvetoQuadratic.h:
        * svg/SVGPathSegLinetoHorizontal.h:
        * svg/SVGPathSegLinetoVertical.h:
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::getPathSegAtLength):
        * svg/SVGPathSegList.h:

2010-08-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65056.
        http://trac.webkit.org/changeset/65056
        https://bugs.webkit.org/show_bug.cgi?id=43773

        "Clearly I missed something.  I'm too tired to try and fix
        now.  Will re-land in the morning." (Requested by eseidel on
        #webkit).

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::insertAdjacentHTML):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):

2010-08-10  Yoshiki Hayashi  <yhayashi@google.com>

        Reviewed by Kent Tamura.

        Iterate over :first-letter so that it will be included in innerText.
        https://bugs.webkit.org/show_bug.cgi?id=39863

        Test: fast/dom/inner-text-first-letter.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::TextIterator::advance):
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::TextIterator::emitText):
        * editing/TextIterator.h:

2010-08-10  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix crashes by SelectionController::modify().
        https://bugs.webkit.org/show_bug.cgi?id=43032

        Test: editing/selection/selection-modify-crash.html

        * editing/visible_units.cpp:
        (WebCore::endOfDocument): Add NULL-check for document()->documentElement().

2010-08-10  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add missing SVGPathSegList source for SVGPathParser
        https://bugs.webkit.org/show_bug.cgi?id=43691

        Added SVGPathSegListSource to parse normalized or unaltered SVGPathSegLists and transform
        them to either a SVG path string, or a SVGPathByteStream. This will be needed to synchronize
        all SVGPathSegLists and the SVG path string of the 'd' attribute.
        Refactored SVGPathSource code, to read concrete path segments instead of type/flag/coordinates
        from the data sources. This is a further abstraction and seperates the reading of content from
        the parsing and interpreting.

        Doesn't affect any tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGPathByteStreamSource.cpp:
        (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
        (WebCore::SVGPathByteStreamSource::nextCommand):
        (WebCore::SVGPathByteStreamSource::parseMoveToSegment):
        (WebCore::SVGPathByteStreamSource::parseLineToSegment):
        (WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment):
        (WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment):
        (WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment):
        (WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment):
        (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathByteStreamSource::parseArcToSegment):
        * svg/SVGPathByteStreamSource.h:
        (WebCore::SVGPathByteStreamSource::moveToNextToken):
        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::parseMoveToSegment):
        (WebCore::SVGPathParser::parseLineToSegment):
        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
        (WebCore::SVGPathParser::parseLineToVerticalSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathParser::parseArcToSegment):
        * svg/SVGPathSegListSource.cpp: Added.
        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
        (WebCore::SVGPathSegListSource::~SVGPathSegListSource):
        (WebCore::SVGPathSegListSource::hasMoreData):
        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
        (WebCore::SVGPathSegListSource::nextCommand):
        (WebCore::SVGPathSegListSource::parseMoveToSegment):
        (WebCore::SVGPathSegListSource::parseLineToSegment):
        (WebCore::SVGPathSegListSource::parseLineToHorizontalSegment):
        (WebCore::SVGPathSegListSource::parseLineToVerticalSegment):
        (WebCore::SVGPathSegListSource::parseCurveToCubicSegment):
        (WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment):
        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathSegListSource::parseArcToSegment):
        * svg/SVGPathSegListSource.h: Added.
        (WebCore::SVGPathSegListSource::create):
        (WebCore::SVGPathSegListSource::moveToNextToken):
        * svg/SVGPathSource.h:
        * svg/SVGPathStringSource.cpp:
        (WebCore::SVGPathStringSource::parseMoveToSegment):
        (WebCore::SVGPathStringSource::parseLineToSegment):
        (WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
        (WebCore::SVGPathStringSource::parseLineToVerticalSegment):
        (WebCore::SVGPathStringSource::parseCurveToCubicSegment):
        (WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
        (WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathStringSource::parseArcToSegment):
        * svg/SVGPathStringSource.h:

2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: small refactoring for CodeGeneratorInspector.
        A number of push calls were replaced by embedded text.
        Just for improve code readability.
        https://bugs.webkit.org/show_bug.cgi?id=43770

        * inspector/CodeGeneratorInspector.pm:

2010-08-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
        https://bugs.webkit.org/show_bug.cgi?id=43762

        In fixing the insertAdjacentHTML I had to make small changes to
        the error logic, which ended up bringing us closer to HTML5.

        Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
         - This ASSERT was just wrong, the child should not be attached
           in the case the parent is not attached.
        * html/HTMLElement.cpp:
        (WebCore::contextElementForInsertion):
         - This is part of HTML5, needed to know what to call the
           HTML or XML parsers with.  The previous code always passed
           "this" which is wrong in the case of beforeBegin or afterEnd insertion.
        (WebCore::HTMLElement::insertAdjacentHTML):
         - Use the right contextElement now that we know how to compute it.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
         - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.

2010-08-09  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove InspectorFrontend class and use RemoteInspectorFrontend instead.
        https://bugs.webkit.org/show_bug.cgi?id=43726

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp: Removed.
        * inspector/InspectorFrontend.h: Removed.

2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Remove obsolete JS wrappers for did* methods.
        https://bugs.webkit.org/show_bug.cgi?id=43738

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/BreakpointManager.js:
        * inspector/front-end/Callback.js:
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/DOMStorage.js:
        * inspector/front-end/Database.js:
        * inspector/front-end/InjectedScriptAccess.js:
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/ResourcesPanel.js:
        * inspector/front-end/ScriptView.js:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/inspector.js:
        (WebInspector.reportProtocolError):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix attempt VIII.

        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::handleElementNamespaces):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix attempt VII.

        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::handleElementNamespaces):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix attempt VI.

        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::handleElementNamespaces):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix attempt V.

        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::handleElementNamespaces):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix attempt IV.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::selectorText):
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::handleElementNamespaces):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Speculative chromium build fix.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::charactersAreAllASCII):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Qt build fix III.

        * css/CSSSelector.cpp:

2010-08-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove error-prone external SegementedSubstring contructor
        https://bugs.webkit.org/show_bug.cgi?id=43752

        There's a lot of code that assumes that SegmentedString takes ownership
        of its substrings.  For example, when the HTML parser pauses and
        resumes asynchronously, it could explode if SegmentedString didn't own
        its substrings.

        Prior to this patch, there was a constructor that let
        SegmentedSubstring use an external string buffer.  It turns out it was
        only used in a handful of places, but I'd rather pay the memcpy of
        these small strings than risk having them used after free.

        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::documentWrite):
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::parseComment):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::SegmentedString):

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Speculative Qt build fix.

        * css/CSSSelector.cpp:

2010-08-09  Gavin Barraclough  <barraclough@apple.com>

        Speculative gtk build fix.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::handlePostReadFile):

2010-08-06  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig

        Bug 43594 - Add string forwards to Forward.h
        This allows us to remove forward declarations for these classes from
        WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).

        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityARIAGrid.h:
        * accessibility/AccessibilityListBoxOption.h:
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.h:
        * bindings/cpp/WebDOMCString.h:
        * bindings/cpp/WebDOMString.h:
        * bindings/gobject/ConvertToUTF8String.h:
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSMessagePortCustom.h:
        * bindings/js/JavaScriptCallFrame.h:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptProfile.h:
        * bindings/js/ScriptSourceProvider.h:
        * bindings/js/ScriptString.h:
        * bindings/js/WorkerScriptController.h:
        * bindings/objc/DOMImplementationFront.h:
        * bindings/v8/ScheduledAction.h:
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8Proxy.h:
        * bindings/v8/V8Utilities.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.h:
        * bridge/c/c_utility.h:
        * css/CSSFontSelector.h:
        * css/CSSHelper.h:
        * css/CSSOMUtils.h:
        * css/CSSPrimitiveValue.h:
        * css/MediaList.h:
        * css/StyleBase.h:
        * css/StyleSheetList.h:
        * css/WebKitCSSKeyframesRule.h:
        * dom/CheckedRadioButtons.h:
        * dom/DOMImplementation.h:
        * dom/DocumentMarker.h:
        * dom/DynamicNodeList.h:
        * dom/EventTarget.h:
        * dom/MessagePort.h:
        * dom/MessagePortChannel.h:
        * dom/NameNodeList.h:
        * dom/Node.h:
        * dom/NodeList.h:
        * dom/OptionGroupElement.h:
        * dom/ScriptExecutionContext.h:
        * dom/SelectElement.h:
        * dom/ViewportArguments.h:
        * dom/make_names.pl:
        * editing/HTMLInterchange.h:
        * editing/htmlediting.h:
        * editing/markup.h:
        * html/CollectionCache.h:
        * html/DOMFormData.h:
        * html/DataGridColumnList.h:
        * html/DateComponents.h:
        * html/FileStream.h:
        * html/FileStreamProxy.h:
        * html/FormDataList.h:
        (WebCore::FormDataList::appendData):
        * html/HTMLCollection.h:
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.h:
        * html/HTMLParserQuirks.h:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptRunnerHost.h:
        * html/StepRange.h:
        * html/canvas/CanvasGradient.h:
        * html/canvas/CanvasNumberArray.h:
        * html/canvas/CanvasPattern.h:
        * inspector/InjectedScript.h:
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorClient.h:
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorValues.h:
        * inspector/ScriptDebugListener.h:
        * loader/CachedResourceClient.h:
        * loader/CrossOriginAccessControl.h:
        * loader/DocumentThreadableLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/RedirectScheduler.h:
        * loader/SubframeLoader.h:
        * loader/appcache/DOMApplicationCache.h:
        * loader/archive/ArchiveFactory.h:
        * loader/icon/IconDatabaseClient.h:
        * notifications/NotificationPresenter.h:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Console.h:
        * page/ContextMenuClient.h:
        * page/DOMSelection.h:
        * page/EditorClient.h:
        * page/EventHandler.h:
        * page/FrameView.h:
        * page/GeolocationPositionCache.h:
        * page/History.h:
        * page/Location.h:
        * page/Navigator.h:
        * page/NavigatorBase.h:
        * page/PluginHalterClient.h:
        * page/PrintContext.h:
        * page/SpeechInput.h:
        * page/SpeechInputListener.h:
        * page/animation/AnimationController.h:
        * platform/CookieJar.h:
        * platform/CrossThreadCopier.h:
        * platform/DragImage.h:
        * platform/FileSystem.h:
        * platform/Language.h:
        * platform/Length.h:
        * platform/LinkHash.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.h:
        * platform/Logging.h:
        * platform/Pasteboard.h:
        * platform/PopupMenuClient.h:
        * platform/SearchPopupMenu.h:
        * platform/Widget.h:
        * platform/cf/BinaryPropertyList.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ClipboardUtilitiesChromium.h:
        * platform/cocoa/KeyEventCocoa.h:
        * platform/graphics/Color.h:
        * platform/graphics/FontCache.h:
        * platform/graphics/FontData.h:
        * platform/graphics/FontSelector.h:
        * platform/graphics/GraphicsTypes.h:
        * platform/graphics/Icon.h:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/Path.h:
        * platform/graphics/StringTruncator.h:
        * platform/graphics/cairo/FontCustomPlatformData.h:
        * platform/graphics/cairo/FontPlatformData.h:
        * platform/graphics/cg/FontPlatformData.h:
        * platform/graphics/cg/ImageSourceCG.h:
        * platform/graphics/chromium/FontCustomPlatformData.h:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/haiku/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/qt/FontPlatformData.h:
        * platform/graphics/win/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/wince/FontPlatformData.h:
        * platform/graphics/wince/MediaPlayerPrivateWince.h:
        * platform/graphics/wince/MediaPlayerProxy.h:
        * platform/graphics/wx/FontCustomPlatformData.h:
        * platform/graphics/wx/FontPlatformData.h:
        * platform/mac/PasteboardHelper.h:
        * platform/network/DNS.h:
        * platform/network/FormData.h:
        * platform/network/FormDataBuilder.h:
        * platform/network/HTTPParsers.h:
        * platform/text/Hyphenation.h:
        * platform/text/LineEnding.h:
        * platform/text/TextCodec.h:
        * platform/text/TextEncoding.h:
        * platform/text/TextStream.h:
        * platform/win/BString.h:
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/WCDataObject.h:
        * platform/win/WebCoreTextRenderer.h:
        * plugins/DOMMimeType.h:
        * plugins/DOMMimeTypeArray.h:
        * plugins/DOMPlugin.h:
        * plugins/DOMPluginArray.h:
        * rendering/CounterNode.h:
        * rendering/HitTestResult.h:
        * rendering/RenderObjectChildList.h:
        * rendering/RenderText.h:
        * rendering/RenderTreeAsText.h:
        * rendering/TextControlInnerElements.h:
        * rendering/style/ContentData.h:
        * rendering/style/RenderStyle.h:
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseTrackerClient.h:
        * storage/SQLTransaction.h:
        * storage/SQLTransactionSync.h:
        * storage/Storage.h:
        * storage/chromium/DatabaseObserver.h:
        * svg/SVGAnimatedTemplate.h:
        * svg/SVGDocumentExtensions.h:
        * svg/SVGGlyphElement.h:
        * svg/SVGHKernElement.h:
        * svg/SVGNumberList.h:
        * svg/SVGPointList.h:
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGStylable.h:
        * svg/SVGTests.h:
        * svg/SVGTransformList.h:
        * svg/SVGTransformable.h:
        * svg/SVGVKernElement.h:
        * websockets/ThreadableWebSocketChannel.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketHandshakeResponse.h:
        * wml/WMLErrorHandling.h:
        * wml/WMLPageState.h:
        * wml/WMLVariables.h:
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerRepository.h:
        * workers/Worker.h:
        * workers/WorkerContextProxy.h:
        * workers/WorkerLoaderProxy.h:
        * workers/WorkerLocation.h:
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerReportingProxy.h:
        * workers/WorkerThread.h:
        * xml/DOMParser.h:
        * xml/XMLHttpRequestUpload.h:
        * xml/XPathEvaluator.h:
        * xml/XPathExpression.h:
        * xml/XPathNSResolver.h:
        * xml/XPathResult.h:
        * xml/XPathUtil.h:

2010-08-09  Nat Duca  <nduca@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Blue line visible at the right hand side of the window with accelerated compositor
        https://bugs.webkit.org/show_bug.cgi?id=43748

        Correct the ortho projection matrix for the root layer, which was
        too large by 0.5px in both width and height. For even view sizes,
        this would cause the viewport to appear 1 pixel too small.

        Fixing this requires removal of several 0.5 correction factors
        that were previously added to compensate for the too-large viewport.

        Finally, compute the translation for the root layer quad using
        floating point rather than integer arithmetic. This avoids us losing
        a key half-pixel of translation when the width of the window is odd.

        To test, size window to even/odd dimensions. No blue line should be visible.

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

2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle should be removed
        https://bugs.webkit.org/show_bug.cgi?id=43465

        Removed fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle
        because StyleChange's applyFontColor, applyFontFace, and applyFontSize all return false
        if there was no difference between the new font color, font size, font face and that of the computed style.

        Also added a work-around for the bug 28282 in getPropertiesNotInComputedStyle with a test so that
        the above change will not add a redundant font or span element.

        Test: editing/style/fore-color-by-name.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getRGBAFontColor): Added.
        (WebCore::StyleChange::extractTextStyles): Calls getRGBAFontColor.
        (WebCore::getPropertiesNotInComputedStyle): Removes color property manually by checking the RGBA values.
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): See above.

2010-08-09  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Fix compilation of VideoLayerChromium on Mac OS X with compositor
        https://bugs.webkit.org/show_bug.cgi?id=43757

        No new tests; build fix only (associated functionality not implemented yet).

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateTextureContents):
        (WebCore::VideoLayerChromium::createTextureRect):
        (WebCore::VideoLayerChromium::updateTextureRect):
        * platform/graphics/chromium/VideoLayerChromium.h:

2010-08-09  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Need to implement GraphicsContextQt::clipConvexPolygon()
        https://bugs.webkit.org/show_bug.cgi?id=41310

        Based on the prototype code by Simon Hausmann.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * rendering/RenderObject.h:

2010-08-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: Placeholder value for text fields not exposed like it should be
        https://bugs.webkit.org/show_bug.cgi?id=43598

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::placeholderValue):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        Undo fails in RemoveCSSPropertyCommand when the corresponding style attribute is removed
        https://bugs.webkit.org/show_bug.cgi?id=43639

        The bug was caused when RemoveCSSPropertyCommand is called with CSSMutableStyleDeclaration of some styled element,
        and the style attribute of the element is removed subsequently. When the attribute removal is undone, new instance of
        CSSMutableStyleDeclaration is created and RemoveCSSPropertyCommand's m_style became detached from the element.

        Modified RemoveCSSPropertyCommand to store the styled element directly instead of its CSSMutableStyleDeclaration.

        Test: editing/undo/remove-css-property-and-remove-style.html

        * WebCore.order:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeCSSStyle): Calls removeCSSProperty.
        (WebCore::ApplyStyleCommand::extractTextDecorationStyle): Calls removeCSSProperty.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeCSSProperty): Takes StyledElement instead of CSSMutableStyleDeclaration.
        * editing/CompositeEditCommand.h:
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Takes StyledElement instead of CSSMutableStyleDeclaration.
        (WebCore::RemoveCSSPropertyCommand::doApply): See above.
        (WebCore::RemoveCSSPropertyCommand::doUnapply): See above.
        * editing/RemoveCSSPropertyCommand.h:
        (WebCore::RemoveCSSPropertyCommand::create): See above.

2010-08-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        Use getIdentifierValue to obtain direction and unicode-bidi properties in ApplyStyleCommand
        https://bugs.webkit.org/show_bug.cgi?id=43699

        Deployed getIdentifierValue in various parts of ApplyStyleCommand where
        direction and unicode-bidi properties were obtained manually.

        No new tests since this is a cleanup.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getIdentifierValue): Takes CSSStyleDeclaration instead of CSSMutableStyleDeclaration.
        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Calls getIdentifierValue.
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Calls getIdentifierValue.
        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls getIdentifierValue.
        * editing/ApplyStyleCommand.h:

2010-08-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove trailing whitespace in HTMLViewSourceDocument.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43741

        No behavior change.  The whitespace was distracting me while porting
        this class to the new parser.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addText):
        (WebCore::HTMLViewSourceDocument::addLink):

2010-08-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Use the HTML5 TreeBuilder for Fragment Parsing
        https://bugs.webkit.org/show_bug.cgi?id=43586

        The bulk of this change is just a transcription of the HTML5 spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#fragment-case

        DocumentParser() now sets the right tokenizer state before handling
        fragments.  Since default code path uses the HTML5 tokenizer with the
        legacy tree builder, this fixes 2 tokenizer-state tests for the html5lib.
        This fixes 2 more tree-builder tests when the html5 treebuilder is enabled too.

        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::parseHTML):
         - HTML5 implementation of fragment parsing requires the context element (parent)
           pointer.  The legacy implementation handles all parsing branches which require
           the context element outside of the parser itself, which likely produces "wrong"
           results.  We'll remove those branches when we turn on the HMTL5 fragment parser.
        (WebCore::DocumentFragment::parseXML):
         - Rename "parent" to "contextElement" to match the HTML path (and the HTML5 spec).
        * dom/DocumentFragment.h:
        * dom/Element.cpp:
        (WebCore::Element::createContextualFragment):
         - Pass the contextElement (this).
        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::setForm):
         - Needed by for the fragment case.
        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
         - I'm not sure this method should exist, it only has one caller.
           but for now, I've moved the fragment case FIXME out to the
           one caller and implemented it.
        * html/HTMLConstructionSite.h:
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLNames::tokenizerStateForContextElement):
         - Part of the fragment case handling for the HTML5 parser.
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
         - Set the Tokenizer state based on the contextElement.
        (WebCore::HTMLDocumentParser::parseDocumentFragment):
         - Take a contextElement argument.
        * html/HTMLDocumentParser.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerHTML):
         - Added a FIXME before the branches the old parser used to avoid ever needing
           to pass a context element when parsing HTML fragments.
        (WebCore::HTMLElement::insertAdjacentHTML):
         - Pass the context element.
        * html/HTMLTokenizer.h:
        * html/HTMLTreeBuilder.cpp:
         - I added a new helper class FragmentParsingContext to simplify the two
           HTMLTreeBuilder constructors and hide the existence of m_dummyDocumentForFragmentParse.
         - I also removed m_isParsingFragment and replaced it with an isParsingFragment() function.
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::~FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
         - I had to implement two notImplemented() states in order to get most of the
           layout tests to pass when using the HTML5 parser fragment case.
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::finished):
         - The HTML5 parsing algorithm fragment case uses a dummy document to handle all the parsing
           and then moves all the children from the dummy document over into a DocumentFragment
           when the parse is done.  We could avoid this adopt step by making the TreeBuilder a bit
           more complicated, but I'm not sure that's necessary (yet).
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::isParsingFragment):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::scriptingPermission):
        * xml/XSLTProcessor.cpp:
        (WebCore::createFragmentFromSource):

2010-08-09  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Auto-generate most HTML5 DB bindings.
        https://bugs.webkit.org/show_bug.cgi?id=43382

        * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
        and the custom implementations of openDatabase{Sync}().
        * 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/JSDOMWindowCustom.cpp:
        * bindings/js/JSDatabaseCustom.cpp: Removed.
        * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
        * bindings/js/JSWorkerContextCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
        * bindings/v8/custom/V8WorkerContextCustom.cpp:

        * bindings/scripts/CodeGeneratorGObject.pm: Change the code generators
        to check that each value can be converted to the respective
        argument type.
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::~JSTestCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
        (WebCore::TestObjInternal::intMethodWithArgsCallback):
        (WebCore::TestObjInternal::objMethodWithArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
        (WebCore::TestObjInternal::overloadedMethod1Callback):
        (WebCore::TestObjInternal::overloadedMethod2Callback):
        (WebCore::TestObjInternal::overloadedMethod3Callback):
        (WebCore::TestObjInternal::overloadedMethod4Callback):
        (WebCore::):
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/v8/custom/V8BindingMacros.h:

        * bindings/v8/V8Binding.h: Minor changes required to support the
        auto-generated bindings.
        (WebCore::V8Parameter::V8Parameter):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * page/DOMWindow.idl:
        * storage/Database.cpp:
        (WebCore::Database::transaction):
        (WebCore::Database::readTransaction):
        (WebCore::Database::runTransaction):
        * storage/Database.h:
        * storage/Database.idl:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::readTransaction):
        (WebCore::DatabaseSync::runTransaction):
        * storage/DatabaseSync.h:
        * storage/DatabaseSync.idl:
        * workers/WorkerContext.idl:

2010-08-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move HTMLViewSourceDocument from legacyParserAddChild to parserAddChild
        https://bugs.webkit.org/show_bug.cgi?id=43740

        This removes the DTD checks, which aren't needed for view source
        documents.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addText):
        (WebCore::HTMLViewSourceDocument::addLink):

2010-08-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Fixed an uninitialized member variable in the Color(CGColorRef) constructor.

        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::Color::Color): Initialize m_valid to true if the color is not 0.

2010-08-09  James Robinson  <jamesr@chromium.org>

        Chromium compile fix, unreviewed.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        (WebCore::PlatformContextSkia::setGraphicsContext3D):

2010-08-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
        https://bugs.webkit.org/show_bug.cgi?id=43656

        When compositing an accelerated canvas that is using both hardware and software drawing,
        we need a callback before compositing the layer to make sure that we upload any software
        drawn results to the texture.  This will go away as soon as implement all draw calls
        in hardware.

        To test, run any canvas demo that runs in mixed mode and verifies that the software results
        always show up.

        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::updateTextureContents):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PrepareTextureCallbackImpl::create):
        (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
        (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
        (WebCore::PlatformContextSkia::setGraphicsContext3D):

2010-08-09  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        sizeInBytes should be removed
        https://bugs.webkit.org/show_bug.cgi?id=43693

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::sizeInBytes): Don't generate GL errors.  Generate them in the callers instead.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate GL error if sizeInBytes fails.
        * html/canvas/WebGLRenderingContext.h: Make sizeInBytes private helper.
        * html/canvas/WebGLRenderingContext.idl: Remove sizeInBytes.

2010-08-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=43702
        <video> element does not resize correctly

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState): RenderVideo::videoSizeChanged is gone, just use
        updateFromElement instead.
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Ditto.
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute): Clear the image loader and cached image when 
        the 'poster' attribute is changed and we aren't displaying a poster.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::RenderVideo):
        (WebCore::RenderVideo::intrinsicSizeChanged): videoSizeChanged -> updateIntrinsicSize.
        (WebCore::RenderVideo::updateIntrinsicSize): Renamed from videoSizeChanged, calculate initial 
        intrinsic size with calculateIntrinsicSize
        (WebCore::RenderVideo::calculateIntrinsicSize): New, calculate size according to current spec.
        (WebCore::RenderVideo::imageChanged): Reset intrinsic size to default when poster fails to load.
        (WebCore::RenderVideo::updatePlayer): Call updateIntrinsicSize.
        * rendering/RenderVideo.h: Renamed videoSizeChanged to updateIntrinsicSize and make private.

2010-08-09  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Fixes custom JS bindings for IDBCursor after r64828.
        https://bugs.webkit.org/show_bug.cgi?id=43729

        Build fix, no tests.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * storage/IDBObjectStore.h:

2010-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r64993.
        http://trac.webkit.org/changeset/64993
        https://bugs.webkit.org/show_bug.cgi?id=43734

        broke chromium compile (Requested by jamesr on #webkit).

        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::updateTextureContents):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        (WebCore::PlatformContextSkia::setGraphicsContext3D):

2010-08-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
        https://bugs.webkit.org/show_bug.cgi?id=43656

        When compositing an accelerated canvas that is using both hardware and software drawing,
        we need a callback before compositing the layer to make sure that we upload any software
        drawn results to the texture.  This will go away as soon as implement all draw calls
        in hardware.

        To test, run any canvas demo that runs in mixed mode and verifies that the software results
        always show up.

        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::updateTextureContents):
        * platform/graphics/chromium/CanvasLayerChromium.h:
        (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PrepareTextureCallbackImpl::create):
        (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
        (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
        (WebCore::PlatformContextSkia::setGraphicsContext3D):

2010-08-09  Dominic Cooney  <dominicc@google.com>

        Reviewed by Adam Barth.

        Moves window.open logic into the generic bindings.

        This patch moves window.open logic from V8 into the generic
        bindings so it could be shared with JSC. JSC sharing is not in
        this patch. This patch is of the same flavor/intent as 33201.

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

        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::createWindow):
        (WebCore::::open):
        (WebCore::::completeURL):
        * bindings/generic/BindingSecurity.h:
        (WebCore::::allowPopUp):
        (WebCore::::shouldAllowNavigation):
        * bindings/v8/V8Binding.h:
        (WebCore::V8Binding::emptyScriptValue):
        * bindings/v8/V8Utilities.cpp:
        (WebCore::transferHiddenDependency):
        (WebCore::processingUserGesture):
        (WebCore::shouldAllowNavigation):
        (WebCore::completeURL):
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::showModalDialogCallback):
        (WebCore::V8DOMWindow::openCallback):
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::getActiveFrame):
        (WebCore::::getFirstFrame):
        (WebCore::::processingUserGesture):
        * bindings/v8/specialization/V8BindingState.h:
        (WebCore::):

2010-08-09  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Darin Adler.

        Fixes xcode project issues after r64828:
        https://bugs.webkit.org/show_bug.cgi?id=43638

        Build fix, no tests (sort-Xcode-project-file should not throw any warnings).

        * WebCore.xcodeproj/project.pbxproj: fixed IDBCursor and related IndexedDB files, and re-ran sort-Xcode-project-file.

2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Remove callId argument from all backend agents' methods.
        https://bugs.webkit.org/show_bug.cgi?id=43723

        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getProfilerLogLines):
        (WebCore::InspectorBackend::clearConsoleMessages):
        (WebCore::InspectorBackend::getDatabaseTableNames):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getCookies):
        (WebCore::InspectorController::getDOMStorageEntries):
        (WebCore::InspectorController::setDOMStorageItem):
        (WebCore::InspectorController::removeDOMStorageItem):
        (WebCore::InspectorController::getProfileHeaders):
        (WebCore::InspectorController::getProfile):
        (WebCore::InspectorController::getResourceContent):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getChildNodes):
        (WebCore::InspectorDOMAgent::setAttribute):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::changeTagName):
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setTextNodeValue):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRanges):
        (WebCore::InspectorDOMAgent::getInlineStyle):
        (WebCore::InspectorDOMAgent::getComputedStyle):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::setStyleText):
        (WebCore::InspectorDOMAgent::setStyleProperty):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::editScriptSource):
        (WebCore::InspectorDebuggerAgent::getScriptSource):
        * inspector/InspectorDebuggerAgent.h:

2010-08-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Take into account style color to draw MathML mroot radical.
        https://bugs.webkit.org/show_bug.cgi?id=43628

        Test: mathml/presentation/roots.xhtml

        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):

2010-08-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Implement MathML deprecated style attributes
        https://bugs.webkit.org/show_bug.cgi?id=43503

        Test: mathml/presentation/attributes.xhtml

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::mapToEntry):
        (WebCore::MathMLElement::parseMappedAttribute):
        * mathml/mathattrs.in:

2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: remove unnecessary did* methods from RemoteInspectorFrontend.
        https://bugs.webkit.org/show_bug.cgi?id=43721

        * inspector/CodeGeneratorInspector.pm:

2010-08-09  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        Canvas: Fast-path for setting the already set color with setStrokeColor() and setFillColor()
        https://bugs.webkit.org/show_bug.cgi?id=43718

        Avoid creating CanvasStyle objects when setting the same fill or stroke color using
        the WebKit-specific setters of CanvasRenderingContext2D.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeColor):
        (WebCore::CanvasRenderingContext2D::setFillColor):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::isEquivalentColor):
        * html/canvas/CanvasStyle.h: Added CanvasStyle::isEquivalentColor() overloads
        for RGBA and CMYKA channel values.

2010-08-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: restore original last panel restore logic.

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

        * inspector/front-end/inspector.js:
        (WebInspector.showPanel):

2010-08-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, fixing the builds after r64967.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2010-05-27  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        <http://webkit.org/b/36359>
        Double clicking page's last editable inline element causes assertion failure.
        <http://webkit.org/b/36360>
        Double clicking page's first editable inline element cannot select a word. 

        nextBoundary() and previousBoundary() assumed that editable
        boundaries are on block-level elements, But it can appear on
        inline-level elements. So we start boundary look-up from the given
        node, instead of the containingBlock of the given node.
        Also, added TextIteratorEndsAtEditingBoundary to
        BackwardsCharacterIterator, otherwise, the VisiblePosition
        returned by BackwardsCharacterIterator might cross an editing
        boundary.

        Test: editing/selection/doubleclick-inline-first-last-contenteditable.html        

        * dom/Position.cpp:
        (WebCore::Position::parentEditingBoundary): Added.
        * dom/Position.h:
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        (WebCore::SimplifiedBackwardsTextIterator::crossesEditingBoundary): Added.
        (WebCore::SimplifiedBackwardsTextIterator::setCurrentNode): Added.
        (WebCore::SimplifiedBackwardsTextIterator::clearCurrentNode): Added.
        (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
        * editing/TextIterator.h:
        (WebCore::):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):

2010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: Current implementation of showPanel is a bit complicated.
        It is using internal enum for all the panels and this is the problem because
        we should change a lot of code for a new panel.
        https://bugs.webkit.org/show_bug.cgi?id=43711

        * WebCore.exp.in:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::storeLastActivePanel):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        * inspector/front-end/inspector.js:
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):
        (WebInspector.toggleSearchingForNode):
        (WebInspector.showPanel):
        (WebInspector.selectDatabase):
        (WebInspector.selectDOMStorage):
        (WebInspector.showProfileForURL):

2010-08-09  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsContext::clipOut(IntRect) ignores the transformation matrix.
        https://bugs.webkit.org/show_bug.cgi?id=43705

        Just like clipOut(Path), which is taken care in r60796 already,
        clipOut(IntRect) must transform the window bounding box properly.

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

2010-08-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Implement mfenced MathML element
        Update stretchy operator code to take into account new brackets and to tune layout parameters
        https://bugs.webkit.org/show_bug.cgi?id=42472

        Test: mathml/presentation/fenced.xhtml

        * WebCore.xcodeproj/project.pbxproj:
        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
        (WebCore::MathMLInlineContainerElement::createRenderer):
        * mathml/RenderMathMLFenced.cpp: Added.
        (WebCore::RenderMathMLFenced::RenderMathMLFenced):
        (WebCore::RenderMathMLFenced::updateFromElement):
        (WebCore::RenderMathMLFenced::makeOperatorStyle):
        (WebCore::RenderMathMLFenced::makeFences):
        (WebCore::RenderMathMLFenced::addChild):
        (WebCore::RenderMathMLFenced::layout):
        * mathml/RenderMathMLFenced.h: Added.
        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
        (WebCore::RenderMathMLOperator::stretchToHeight):
        (WebCore::):
        (WebCore::RenderMathMLOperator::updateFromElement):
        (WebCore::RenderMathMLOperator::createStackableStyle):
        (WebCore::RenderMathMLOperator::createGlyph):

2010-08-08  ryuan choi  <ryuan.choi@samsung.com>

        Reviewed by Darin Adler.

        REGRESSION(64898,64949) build break because of wrong filename
        https://bugs.webkit.org/show_bug.cgi?id=43701

        add SVGPathStringSource.cpp and modify SVGPathSourceString.cpp to
        SVGPathStringSource.cpp

        simple fixing build break, so No new tests.

        * CMakeLists.txt:

2010-08-08  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Antonio Gomes.

        Inconsistent Qt version checks
        https://bugs.webkit.org/show_bug.cgi?id=43695

        Use QT_VERSION_CHECK macro instead of encoded hex.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):
        * platform/network/qt/NetworkStateNotifierPrivate.h:
        * platform/network/qt/NetworkStateNotifierQt.cpp:
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::start):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMediaSliderTrack):

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

        Reviewed by Antonio Gomes.

        Web Inspector: Fix warning in WebCore/inspector/InspectorDebuggerAgent.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43698

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::editScriptSource): Add suggested parentheses.

2010-08-05  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        Pasting should fire textInput event.
        https://bugs.webkit.org/show_bug.cgi?id=42958

        - Extended TextEvents to hold paste-specific parameters
        - Did fire TextEvents at where we originally did immediate pastes.
        - Factored out TextEvent handling from EventHandler::defaultTextInputEventHandler()
          to Editor::handleTextEvent() because it's solely done by the editor.
        - move actual pasting logic to Editor::handleTextEvent() 

        Test: editing/pasteboard/paste-text-events.html

        * WebCore.exp.in:
        * dom/TextEvent.cpp:
        (WebCore::TextEvent::create):
        (WebCore::TextEvent::createForPlainTextPaste):
        (WebCore::TextEvent::createForFragmentPaste):
        (WebCore::TextEvent::TextEvent):
        * dom/TextEvent.h:
        (WebCore::TextEvent::isPaste):
        (WebCore::TextEvent::shouldSmartReplace):
        (WebCore::TextEvent::shouldMatchStyle):
        (WebCore::TextEvent::pastingFragment):
        * editing/Editor.cpp:
        (WebCore::Editor::handleTextEvent):
        (WebCore::Editor::pasteAsPlainText):
        (WebCore::Editor::pasteAsFragment):
        (WebCore::Editor::pasteAsPlainTextWithPasteboard):
        (WebCore::Editor::pasteWithPasteboard):
        (WebCore::Editor::dispatchCPPEvent):
        (WebCore::Editor::findEventTargetFromSelection):
        * editing/Editor.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultTextInputEventHandler):

2010-08-08  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, add member needed to compile Mac-specific font code.

        * platform/graphics/wx/FontPlatformData.h:
        (WebCore::FontPlatformData::ctFont):

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

        Reviewed by Eric Seidel.

        [Qt] Fix warnings in WebCore/platform/WindowsKeyboardCodes.h
        https://bugs.webkit.org/show_bug.cgi?id=43360

        * platform/WindowsKeyboardCodes.h: Undef macros which are also defined in MinGW/include/winuser.h to aviod gcc redefinition warning

2010-08-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Adam Barth.

        Set the shouldLazyAttach flag to true in the tree builder's adoption agency algorithm
        https://bugs.webkit.org/show_bug.cgi?id=43610

        Sets the shouldLazyAttach flag to true for appendChild() calls inside the HTML tree
        builder's adoption agency flag.  This is a speedup assuming that nodes subjected
        to the adoption agency are likely to be frequently reparented, and thus it is better
        to delay creating the render tree until later (when hopefully the DOM is finalized).

        On my mac pro this speeds up fast/parser/residual-style-hang.html by 2.6X.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-08-08  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: speed-up Element.prototype.removeChildren
        https://bugs.webkit.org/show_bug.cgi?id=43687

        * inspector/front-end/utilities.js:
        (Element.prototype.removeChildren):

2010-08-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: remove hand written InspectorFrontend from almost all places.
        https://bugs.webkit.org/show_bug.cgi?id=43630

        * inspector/ConsoleMessage.cpp:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
        * inspector/InjectedScriptHost.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::focusNode):
        (WebCore::InspectorController::windowVisible):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::setSearchingForNode):
        (WebCore::InspectorController::setMonitoringXHR):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::show):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        (WebCore::InspectorController::postWorkerNotificationToFrontend):
        (WebCore::InspectorController::didCreateWorker):
        (WebCore::InspectorController::didDestroyWorker):
        (WebCore::InspectorController::toggleRecordButton):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::enableDebugger):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::evaluateForTestInFrontend):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        * inspector/TimelineRecordFactory.cpp:

2010-08-08  Dan Bernstein  <mitz@apple.com>

        Try to fix the Chromium Mac build after r64915.

        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
        (WebCore::FontPlatformData::ctFont): Copied from mac/FontPlatformDataMac.mm.

2010-08-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add missing String builder for SVGPathParser
        https://bugs.webkit.org/show_bug.cgi?id=43682

        Introduces SVGPathStringBuilder. SVGPathParser clients, like normalized and unaltered
        SVGPathSegLists or SVGPathByteStreams, can be parsed and transformed to a string.
        StringBuilder can create a string of individual strings, seperated by spaces now.
        Share more code in SVGPathParserFactory and use a common general concept to manage SVG path
        data parsing.

        Doesn't affect any tests.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/text/StringBuilder.cpp:
        (WebCore::StringBuilder::toString): Added possibility to use a space between individual strings. 
        * platform/text/StringBuilder.h: Cleanup according to WebKit style.
        (WebCore::):
        (WebCore::StringBuilder::StringBuilder):
        (WebCore::StringBuilder::setNonNull):
        (WebCore::StringBuilder::isNull):
        * svg/SVGAllInOne.cpp:
        * svg/SVGPathBuilder.h:
        (WebCore::SVGPathBuilder::cleanup): Clear all references.
        * svg/SVGPathByteStreamBuilder.h:
        (WebCore::SVGPathByteStreamBuilder::cleanup): dito.
        * svg/SVGPathConsumer.h:
        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::cleanup): dito.
        * svg/SVGPathParser.h:
        * svg/SVGPathParserFactory.cpp: Cleanup of factory. More code get shared.
        (WebCore::globalSVGPathBuilder):
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::globalSVGPathByteStreamBuilder):
        (WebCore::globalSVGPathStringBuilder):
        (WebCore::globalSVGPathParser):
        (WebCore::SVGPathParserFactory::buildPathFromString):
        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::buildStringFromByteStream):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSegListBuilder.h:
        (WebCore::SVGPathSegListBuilder::cleanup):
        * svg/SVGPathStringBuilder.cpp: Added. Build string from parsed SVG data.
        (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
        (WebCore::SVGPathStringBuilder::moveTo):
        (WebCore::SVGPathStringBuilder::lineTo):
        (WebCore::SVGPathStringBuilder::lineToHorizontal):
        (WebCore::SVGPathStringBuilder::lineToVertical):
        (WebCore::SVGPathStringBuilder::curveToCubic):
        (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
        (WebCore::SVGPathStringBuilder::curveToQuadratic):
        (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathStringBuilder::arcTo):
        (WebCore::SVGPathStringBuilder::closePath):
        * svg/SVGPathStringBuilder.h: Added.
        (WebCore::SVGPathStringBuilder::cleanup):
        (WebCore::SVGPathStringBuilder::result):

2010-08-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        cross_fuzz WebCore::SelectionController::isFocusedAndActive ReadAV@NULL (9e865de49b1800ec790dcc35d8ebd069)
        https://bugs.webkit.org/show_bug.cgi?id=43040

        The pointer from Document to Frame can be null.  See http://webkit.org/coding/major-objects.html.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2010-08-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        frame()->selection() can't be null
        https://bugs.webkit.org/show_bug.cgi?id=43681

        SelectionController is a component of Frame.  If frame is non-null, it
        can't possibly be null.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::setActive):

2010-08-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        SVGLength uses ASSERTs to validate user input
        https://bugs.webkit.org/show_bug.cgi?id=43680

        ASSERTs aren't in release builds, so we can't use them to validate user
        input!  We've seen a bunch of examples of this in SVG code.  It might
        be worth auditing all the code to remove this misguided pattern.

        Test: svg/dom/svg-length-units.html

        * svg/SVGLength.cpp:
        (WebCore::SVGLength::newValueSpecifiedUnits):
        (WebCore::SVGLength::convertToSpecifiedUnits):

2010-08-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Empty strings can have more than one ref
        https://bugs.webkit.org/show_bug.cgi?id=43666

        These asserts are trying to say that we have a thread-safe copy of the
        string, but they're not accurate for empty strings because we use a
        special static empty string that magically has infinite refs.

        * storage/OriginUsageRecord.cpp:
        (WebCore::OriginUsageRecord::addDatabase):
        (WebCore::OriginUsageRecord::markDatabase):

2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
        Reviewed by Eric Seidel.

        [WML] Add KURL parameter to WMLDocument::create() 
        https://bugs.webkit.org/show_bug.cgi?id=43173

        To fix build break in WML, url parameter is added. Because, 
        Document class has url parameter.

        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::WMLDocument):
        * wml/WMLDocument.h:
        (WebCore::WMLDocument::create): Add an url parameter to create() method

2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [WML] Change getIDAttribute() with getIdAttribute()
        https://bugs.webkit.org/show_bug.cgi?id=43175

        Change getIDAttribute() with getIdAttribute() because function 
        name was changed.

        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::findNamedCardInDocument): Change getIDAttribute() with getIdAttribute().

2010-08-07  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        WebTiming does not take page cache into account
        https://bugs.webkit.org/show_bug.cgi?id=42772

        When restoring a page from the page cache, reset its DocumentLoadTiming
        struct and record navigationStart.
    
        Test: fast/events/onunload-back-to-page-cache.html

        * loader/DocumentLoadTiming.h: removed Noncopyable, since it's just a simple struct.
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::resetTiming): Added method.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Uncommented assert.
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): Added resetTiming() call.

2010-08-07  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Eric Seidel.

        Allow custom memory allocation control for EventHandlingState struct
        https://bugs.webkit.org/show_bug.cgi?id=43548

        Inherits the following class from FastAllocBase because it is
        instantiated by 'new':

        struct name         - instantiated at: WebCore/
        EventHandlingState  - html/HTMLInputElement.cpp:2051

        * html/HTMLInputElement.cpp:

2010-08-07  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Remove unecessary focus code.
        https://bugs.webkit.org/show_bug.cgi?id=43542

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

2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [WML] Include FormDataBuilder.h in WMLGoElement.h
        https://bugs.webkit.org/show_bug.cgi?id=43177

        To fix build breaks in WMLGoElement.cpp, FormDataBuilder.h needs to be included.

        * wml/WMLGoElement.cpp: Include FormDataBuilder.h

2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [WML] Add dummy argument to SelectElement::defaultEventHandler() in WMLSelectElement
        https://bugs.webkit.org/show_bug.cgi?id=43176

        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::defaultEventHandler): Sets NULL parameter to SelectElement::defaultEventHandler.

2010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [WML] Change DocumentParser with ScriptableDocumentParser in WMLDocument
        https://bugs.webkit.org/show_bug.cgi?id=43174

        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing): Change DocumentParser with ScriptableDocumentParser.

2010-08-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Use ctFont() to get the CTFont.

        * platform/graphics/mac/FontMac.mm:
        (WebCore::showGlyphsWithAdvances):

2010-08-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        document->documentElement can always be null
        https://bugs.webkit.org/show_bug.cgi?id=43677

        This ASSERT is bogus.

        * css/StyleMedia.cpp:
        (WebCore::StyleMedia::matchMedium):

2010-08-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8285090> First word on a line doesn’t hyphenate properly
        https://bugs.webkit.org/show_bug.cgi?id=43679

        Test: fast/text/hyphenate-first-word.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::tryHyphenating): The character at lastSpace is not necessarily a whitespace character
        before the current word. It can also be part of the word, such as when the word is the first
        one on the line. Include the charcater at lastSpace in the string passed to lastHyphenLocation().

2010-08-07  Dan Bernstein  <mitz@apple.com>

        Build fix

        * platform/graphics/SimpleFontData.h:

2010-08-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Created a separate SimpleFontData constructor exclusively for SVG fonts and moved the CTFontRef
        from SimpleFontData to FontPlatformData.
        https://bugs.webkit.org/show_bug.cgi?id=43674

        * config.h: Moved definitions of WTF_USE_CORE_TEXT and WTF_USE_ATSUI from here to wtf/Platform.h.
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Use new SimpleFontData constructor for SVG fonts.
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData): Separated into two constructors, one for
        PlatformFontData-based fonts and one for SVG fonts.
        * platform/graphics/SimpleFontData.h: Moved the m_CTFont member variable and the getCTFont()
        accessor from here…
        * platform/graphics/mac/FontPlatformData.h: …to here, renaming the latter ctFont().
        * platform/graphics/mac/FontPlatformDataMac.mm:
        (WebCore::FontPlatformData::FontPlatformData): Copy m_CTFont.
        (WebCore::FontPlatformData::operator=): Copy m_CTFont.
        (WebCore::FontPlatformData::setFont): Clear m_CTFont.
        (WebCore::FontPlatformData::ctFont): Moved here from SimpleFontDataCoreText.cpp and renamed.
        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes): Updated to use FontPlatformData::ctFont().
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::SVGFontData): Added an assertion.

2010-08-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Regression: Memory corruption in tree builder
        https://bugs.webkit.org/show_bug.cgi?id=43672

        Turns out this ASSERT was wrong and we need the branch.  Yay for
        test-driven development.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-08-07  Dirk Schulze  <krit@webkit.org>

        Unreviewed build-fix.

        Come up with a more efficient way to represent Path segments
        https://bugs.webkit.org/show_bug.cgi?id=41159

        Landed wrong version of the patch.

        * svg/SVGPathByteStreamSource.cpp:
        (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
        (WebCore::SVGPathByteStreamSource::hasMoreData):
        * svg/SVGPathByteStreamSource.h:
        (WebCore::SVGPathByteStreamSource::moveToNextToken):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::createSVGPathByteStreamFromString):
        * svg/SVGPathParserFactory.h:

2010-08-07  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Come up with a more efficient way to represent Path segments
        https://bugs.webkit.org/show_bug.cgi?id=41159

        Introduce SVGPathByteStream as a fast and efficient way to organize the synchronization
        of Path, SVG path data string and SVGPathSegList in normalized and unaltered modes.
        Extended SVGPathParserFactory to accept SVGPathByteStreams as input source and to create
        a SVGPathByteStream from a SVG path data string.

        Doesn't affect any tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGPathByteStream.h: Added.
        (WebCore::):
        (WebCore::SVGPathByteStream::create):
        (WebCore::SVGPathByteStream::data):
        (WebCore::SVGPathByteStream::begin):
        (WebCore::SVGPathByteStream::end):
        (WebCore::SVGPathByteStream::append):
        (WebCore::SVGPathByteStream::clear):
        (WebCore::SVGPathByteStream::isEmpty):
        (WebCore::SVGPathByteStream::SVGPathByteStream):
        * svg/SVGPathByteStreamBuilder.cpp: Added.
        (WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
        (WebCore::SVGPathByteStreamBuilder::moveTo):
        (WebCore::SVGPathByteStreamBuilder::lineTo):
        (WebCore::SVGPathByteStreamBuilder::lineToHorizontal):
        (WebCore::SVGPathByteStreamBuilder::lineToVertical):
        (WebCore::SVGPathByteStreamBuilder::curveToCubic):
        (WebCore::SVGPathByteStreamBuilder::curveToCubicSmooth):
        (WebCore::SVGPathByteStreamBuilder::curveToQuadratic):
        (WebCore::SVGPathByteStreamBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathByteStreamBuilder::arcTo):
        (WebCore::SVGPathByteStreamBuilder::closePath):
        * svg/SVGPathByteStreamBuilder.h: Added.
        (WebCore::SVGPathByteStreamBuilder::setCurrentByteStream):
        (WebCore::SVGPathByteStreamBuilder::writeType):
        (WebCore::SVGPathByteStreamBuilder::writeFlag):
        (WebCore::SVGPathByteStreamBuilder::writeFloat):
        (WebCore::SVGPathByteStreamBuilder::writeFloatPoint):
        (WebCore::SVGPathByteStreamBuilder::writeSegmentType):
        * svg/SVGPathByteStreamSource.cpp: Added.
        (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
        (WebCore::SVGPathByteStreamSource::~SVGPathByteStreamSource):
        (WebCore::SVGPathByteStreamSource::hasMoreData):
        (WebCore::SVGPathByteStreamSource::parseFloat):
        (WebCore::SVGPathByteStreamSource::parseFlag):
        (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
        (WebCore::SVGPathByteStreamSource::nextCommand):
        * svg/SVGPathByteStreamSource.h: Added.
        (WebCore::SVGPathByteStreamSource::create):
        (WebCore::SVGPathByteStreamSource::readType):
        (WebCore::SVGPathByteStreamSource::readFlag):
        (WebCore::SVGPathByteStreamSource::readFloat):
        (WebCore::SVGPathByteStreamSource::readSVGSegmentType):
        (WebCore::SVGPathByteStreamSource::readFloatPoint):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::globalSVGPathByteStreamBuilder):
        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        * svg/SVGPathParserFactory.h:

2010-08-07  Dirk Schulze  <krit@webkit.org>

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r64904.
        http://trac.webkit.org/changeset/64904
        https://bugs.webkit.org/show_bug.cgi?id=43671

        Broke the Qt Windows builders. (Requested by bbandix on
        #webkit).

        * WebCore.pri:
        * WebCore.pro:
        * features.pri: Removed.

2010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Eric Seidel.

        [Qt] Build WebKit2 into a static lib

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

        Just build changes so no new tests.

        * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
        * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
        * features.pri: Added.

2010-08-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Daniel Bates.

        Pattern fill with image not rendered after reload
        https://bugs.webkit.org/show_bug.cgi?id=41596

        Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
        resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)

        Test: http/tests/misc/slow-loading-image-in-pattern.html

        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::imageChanged):

2010-08-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Generalize SVGPathParser to allow more than just strings as input source
        https://bugs.webkit.org/show_bug.cgi?id=43618

        Generalize SVGPathParser, by allowing different parsing sources than just strings.
        For now only a SVGPathStringSource is available, parsing from bytestreams follows soon.
        Each client that wants to parse strings, like Path or SVGPathSegList objects, only
        needs to use the new central SVGPathParserFactory, which glues consumer and sources together.
        Moved the SVGPathSegType enum from SVGPathSeg class in WebCore namespace, for
        easier access throughout the SVG code.

        Doesn't affect any tests.

        * Android.mk:
        * CMakeLists.txt
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
        * svg/SVGGlyphElement.cpp:
        (WebCore::parsePathData):
        * svg/SVGPathBuilder.cpp:
        (WebCore::SVGPathBuilder::SVGPathBuilder):
        (WebCore::SVGPathBuilder::moveTo):
        (WebCore::SVGPathBuilder::lineTo):
        (WebCore::SVGPathBuilder::curveToCubic):
        (WebCore::SVGPathBuilder::closePath):
        * svg/SVGPathBuilder.h:
        (WebCore::SVGPathBuilder::setCurrentPath):
        (WebCore::SVGPathBuilder::arcTo):
        * svg/SVGPathConsumer.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::parseMappedAttribute):
        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::SVGPathParser):
        (WebCore::SVGPathParser::parseClosePathSegment):
        (WebCore::SVGPathParser::parseMoveToSegment):
        (WebCore::SVGPathParser::parseLineToSegment):
        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
        (WebCore::SVGPathParser::parseLineToVerticalSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathParser::parseArcToSegment):
        (WebCore::SVGPathParser::parsePathDataFromSource):
        (WebCore::SVGPathParser::decomposeArcToCubic):
        * svg/SVGPathParser.h:
        (WebCore::SVGPathParser::setCurrentConsumer):
        * svg/SVGPathParserFactory.cpp: Added.
        (WebCore::globalSVGPathBuilder):
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::globalSVGPathParser):
        (WebCore::SVGPathParserFactory::self):
        (WebCore::SVGPathParserFactory::SVGPathParserFactory):
        (WebCore::SVGPathParserFactory::~SVGPathParserFactory):
        (WebCore::SVGPathParserFactory::buildPathFromString):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
        * svg/SVGPathParserFactory.h: Added.
        * svg/SVGPathSeg.h:
        (WebCore::):
        (WebCore::SVGPathSeg::~SVGPathSeg):
        (WebCore::SVGPathSeg::):
        (WebCore::SVGPathSeg::pathSegType):
        (WebCore::SVGPathSeg::pathSegTypeAsLetter):
        (WebCore::SVGPathSeg::toString):
        (WebCore::SVGPathSeg::associatedAttributeName):
        (WebCore::SVGPathSeg::SVGPathSeg):
        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
        (WebCore::SVGPathSegSingleCoord::setX):
        (WebCore::SVGPathSegSingleCoord::x):
        (WebCore::SVGPathSegSingleCoord::setY):
        (WebCore::SVGPathSegSingleCoord::y):
        (WebCore::SVGPathSegSingleCoord::toString):
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::getPathSegAtLength):
        (WebCore::SVGPathSegList::toPathData):
        (WebCore::SVGPathSegList::createAnimated):
        * svg/SVGPathSegListBuilder.cpp:
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::moveTo):
        (WebCore::SVGPathSegListBuilder::lineTo):
        (WebCore::SVGPathSegListBuilder::curveToCubic):
        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathSegListBuilder::arcTo):
        * svg/SVGPathSegListBuilder.h:
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
        * svg/SVGPathSource.h: Added.
        (WebCore::SVGPathSource::~SVGPathSource):
        (WebCore::SVGPathSource::SVGPathSource):
        * svg/SVGPathStringSource.cpp: Added.
        (WebCore::SVGPathStringSource::SVGPathStringSource):
        (WebCore::SVGPathStringSource::~SVGPathStringSource):
        (WebCore::SVGPathStringSource::endOfStream):
        (WebCore::SVGPathStringSource::parseFloat):
        (WebCore::SVGPathStringSource::parseFlag):
        (WebCore::SVGPathStringSource::skipSpaces):
        (WebCore::SVGPathStringSource::parseSVGSegmentType):
        (WebCore::SVGPathStringSource::hasRemainingCoordinatesInCurrentCommand):
        * svg/SVGPathStringSource.h: Added.
        (WebCore::SVGPathStringSource::create):

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

        Reviewed by Adam Barth.

        Define setPrivateBrowsingEnabled()
        https://bugs.webkit.org/show_bug.cgi?id=42283

        Define the scope of 'private browsing' in WebKit
        See also https://bugs.webkit.org/show_bug.cgi?id=41801

        * page/Settings.h:

2010-08-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION (r64712): YouTube video pages have contents of <noembed> elements overlapping the video description
        https://bugs.webkit.org/show_bug.cgi?id=43605

        The old parser used to drop <noembed> on the floor.  We're supposed to
        add it to the DOM, but we don't want to create a renderer for it.

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

2010-08-06  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Fix style violations in Document
        https://bugs.webkit.org/show_bug.cgi?id=43657

        No new tests because no new functionality.

        * dom/Document.cpp:
        (WebCore::acceptsEditingFocus):
        (WebCore::Document::Document):
        (WebCore::Document::importNode):
        (WebCore::Document::adoptNode):
        (WebCore::Document::getElementById):
        (WebCore::Document::readyState):
        (WebCore::Document::createTreeWalker):
        (WebCore::Document::shouldScheduleLayout):
        (WebCore::Document::nextFocusableNode):
        (WebCore::Document::previousFocusableNode):
        (WebCore::Document::nodeAbsIndex):
        (WebCore::Document::nodeWithAbsIndex):
        (WebCore::Document::childTypeAllowed):
        (WebCore::Document::canReplaceChild):
        (WebCore::Document::recalcStyleSelector):
        (WebCore::Document::setFocusedNode):
        (WebCore::Document::attachNodeIterator):
        (WebCore::Document::detachNodeIterator):
        (WebCore::Document::parseQualifiedName):
        (WebCore::Document::getImageMap):
        (WebCore::Document::setInPageCache):
        (WebCore::Document::addMarker):
        (WebCore::Document::copyMarkers):
        (WebCore::Document::shiftMarkers):
        (WebCore::Document::setMarkersActive):
        (WebCore::Document::parentDocument):
        (WebCore::Document::topDocument):
        (WebCore::FormElementKeyHash::hash):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        (WebCore::Document::incDOMTreeVersion):
        (WebCore::Document::domTreeVersion):

2010-08-06  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed, release Qt build fix.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::containsPaintedContent): Guard call to toRenderVideo()
        with #if ENABLE(VIDEO).

2010-08-06  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        HTML5 "video" tag with poster frame defined "flashes" right before movie displays
        https://bugs.webkit.org/show_bug.cgi?id=37591
        <rdar://problem/5650561>

        If a video element has a poster frame, display it until the playback is requested or the movie's
        time is changed.

        Test: compositing/video/video-poster.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_displayMode.
        (WebCore::HTMLMediaElement::prepareForLoad): Set m_displayMode to Unknown.
        (WebCore::HTMLMediaElement::loadResource): Call updateDisplayState to let it set configure
        the poster, if necessary.
        (WebCore::HTMLMediaElement::noneSupported): updatePosterImage -> updateDisplayState.
        (WebCore::HTMLMediaElement::setNetworkState): Ditto.
        (WebCore::HTMLMediaElement::setReadyState): Ditto.
        (WebCore::HTMLMediaElement::finishSeek): Set display mode to Video so a video frame will be
        displayed if a poster is currently visible.
        (WebCore::HTMLMediaElement::mediaPlayerRepaint): updatePosterImage -> updateDisplayState.
        (WebCore::HTMLMediaElement::updatePlayState): Set display mode to Video.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::displayMode): New.
        (WebCore::HTMLMediaElement::setDisplayMode): Ditto.
        (WebCore::HTMLMediaElement::updateDisplayState): Ditto.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement): Remove m_shouldDisplayPosterImage.
        (WebCore::HTMLVideoElement::attach): Call shouldDisplayPosterImage instead of checking
        m_shouldDisplayPosterImage directly.
        (WebCore::HTMLVideoElement::detach): Ditto.
        (WebCore::HTMLVideoElement::parseMappedAttribute): Set m_displayMode to Unknown before calling 
        updateDisplayState so shouldDisplayPosterImage() will return the correct result. Remove the
        PLUGIN_PROXY_FOR_VIDEO code, it is now in updateDisplayState.
        (WebCore::HTMLVideoElement::setDisplayMode): Renamed from updatePosterImage and rework logic
        so we tell the media engine it is OK to display video frames when there is no poster, or 
        once the media engine has something to display and the movie has started or seeked.
        (WebCore::HTMLVideoElement::updateDisplayState): New, manage display mode based on poster 
        attribute.
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::shouldDisplayPosterImage):

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::prepareForRendering): New, call media engine's prepareForRendering.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::prepareForRendering):

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_isAllowedToRender.
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::isReadyForVideoSetup): Renamed from isReadyForRendering.
        (WebCore::MediaPlayerPrivate::prepareForRendering): New, set m_isAllowedToRender and
        inform the client that render tree should be updated so we correctly switch from showing
        the poster, which often doens't use a layer, to showing video frames, which do.
        (WebCore::MediaPlayerPrivate::updateStates): Don't call setUpVideoRendering until 
        isReadyForVideoSetup() returns true.
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): isReadyForRendering -> isReadyForVideoSetup

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::containsPaintedContent): Only consider video when displaying
        video frames so a poster won't force compositing mode.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::shouldDisplayVideo): New, return true when not displaying a poster.
        * rendering/RenderVideo.h:

2010-08-06  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        Accelerated 2d canvases should get compositing layers
        https://bugs.webkit.org/show_bug.cgi?id=43362

        Allows for 2d canvas rendering contexts to use a GraphicsContext3D for
        accelerated rendering.  The rendering context holds the GraphicsContext3D
        alive and exposes it to the compositor.  The 3d context itself is passed
        down through the GraphicsContext to use for actual rendering:
        https://bug-43362-attachments.webkit.org/attachment.cgi?id=63557

        This approach will let us simultaneously prototype accelerated techniques
        for canvas 2d and revise the design of canvas elements without destabilizing
        all ports.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::willDraw):
        (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable):
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::isAccelerated):
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::willDraw):
        (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
        * html/canvas/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::graphicsContext3D):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::syncSoftwareCanvas):

2010-08-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Chris Fleizach.

        Make AX Code use more specific RenderObject subclass types
        https://bugs.webkit.org/show_bug.cgi?id=43632

        No functional change, thus no tests.

        * accessibility/AXObjectCache.cpp:
        (WebCore::nodeHasRole):
         - Make this take a String instead of AtomicString, to avoid
           thrashing the atomic string hash.
           It would be better to take a const char* here, except
           one caller passes nullAtom.
        (WebCore::createFromRenderer):
         - Split this out from getOrCreate to make it simpler.
         - No longer needs to deal with setting a "result"
           pointer and can instead just return.
         - I've also made this function use RenderBoxModelObject*
           where appropriate.
        (WebCore::AXObjectCache::getOrCreate):
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityImageMapLink.cpp:
        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
         - Fix style.
        * accessibility/AccessibilityMenuList.cpp:
        (WebCore::AccessibilityMenuList::AccessibilityMenuList):
         - Use a more specific type.
        (WebCore::AccessibilityMenuList::renderer):
        * accessibility/AccessibilityMenuList.h:
        (WebCore::AccessibilityMenuList::create):
        * accessibility/AccessibilityMenuListPopup.cpp:
         - Need RenderMenuList.h since renderer() is a RenderMenuList*
        * accessibility/AccessibilityObject.cpp:
        (WebCore::renderListItemContainerForNode):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderBoxModelObject):
         - New helper function, similar to Node::renderBoxModelObject()
        (WebCore::isInlineWithContinuation):
        (WebCore::AccessibilityRenderObject::isNativeImage):
        (WebCore::AccessibilityRenderObject::isAttachment):
        (WebCore::AccessibilityRenderObject::isMultiSelectable):
        (WebCore::AccessibilityRenderObject::isReadOnly):
        (WebCore::AccessibilityRenderObject::isFieldset):
        (WebCore::AccessibilityRenderObject::actionElement):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::setValue):
        (WebCore::AccessibilityRenderObject::widget):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
        (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::msaaRoleForRenderer):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        * accessibility/AccessibilityTable.h:
         - Remove unneeded "using namespace std".

2010-08-06  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Factor an AsyncScriptRunner out of Document
        https://bugs.webkit.org/show_bug.cgi?id=43633

        This copies the existing implementation exactly. In the future
        this will use PendingScript which handles ref counting without
        the need for those manual ref()/deref()s. This is also currently
        a trivial class, but a little more logic will be added to it to
        support <script async>.

        No new tests because no new functionality.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/AsyncScriptRunner.cpp: Added.
        (WebCore::AsyncScriptRunner::AsyncScriptRunner):
        (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
        (WebCore::AsyncScriptRunner::executeScriptSoon):
        (WebCore::AsyncScriptRunner::suspend):
        (WebCore::AsyncScriptRunner::resume):
        (WebCore::AsyncScriptRunner::timerFired):
        * dom/AsyncScriptRunner.h: Added.
        (WebCore::AsyncScriptRunner::create):
        (WebCore::AsyncScriptRunner::hasPendingScripts):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        * dom/Document.h:
        (WebCore::Document::asyncScriptRunner):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::notifyFinished):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2010-08-06  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Implement GLES2Canvas/Texture in terms of GraphicsContext3D instead of direct OpenGL calls
        https://bugs.webkit.org/show_bug.cgi?id=43608

        This converts all OpenGL calls in GLES2(Canvas|Texture) to calls on the corresponding GraphicsContext3D
        API, due to feedback on https://bugs.webkit.org/show_bug.cgi?id=43362.  Nearly all the changes are
        applying the regex s/gl([A-Z])/m_context->%1</ and removing unnecessary makeCurrent() calls.
        Other changes hilighted below.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::affineTo3x3):
        (WebCore::GLES2Canvas::GLES2Canvas):
        (WebCore::GLES2Canvas::~GLES2Canvas):
        (WebCore::GLES2Canvas::clearRect):
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::applyCompositeOperator):
        (WebCore::GLES2Canvas::getQuadVertices):
        (WebCore::GLES2Canvas::getQuadIndices):
            - use new typed XXArray classes for buffer uploads
        (WebCore::loadShader):
        (WebCore::GLES2Canvas::getSimpleProgram):
        (WebCore::GLES2Canvas::getTexProgram):
        (WebCore::GLES2Canvas::createTexture):
        (WebCore::GLES2Canvas::checkGLError):
        * platform/graphics/chromium/GLES2Canvas.h:
        (WebCore::GLES2Canvas::context):
        * platform/graphics/chromium/GLES2Texture.cpp:
        (WebCore::GLES2Texture::GLES2Texture):
        (WebCore::GLES2Texture::~GLES2Texture):
        (WebCore::GLES2Texture::create):
        (WebCore::convertFormat):
        (WebCore::GLES2Texture::load):
        (WebCore::GLES2Texture::bind):
        * platform/graphics/chromium/GLES2Texture.h:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::fillRect):
            - add a missing restore() call to the H/W path
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawBitmapGLES2):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setGraphicsContext3D):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
            - avoid applying CTM to uploads
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
        * platform/graphics/skia/PlatformContextSkia.h:

2010-08-06  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        Composited canvas should be treated the same by the compositor and not be WebGL specific
        https://bugs.webkit.org/show_bug.cgi?id=43589

        This treats all GraphicsContext3D-backed layers the same instead of special casing WebGL.
        The cross-platform change is to rename GraphicsLayer::setContentsToWebGL() to
        GraphicsLayer::setContentsToCanvas() and to rename all implementations.

        This patch also renames the chromium class used for accelerating these layers.

        Cross platform changes:
        * WebCore.gypi:
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToCanvas):
            Rename the function on the base class. GraphicsLayerCA and GraphicsLayerChromium implement this.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::isAcceleratedCanvas):
            Helper function to see if a renderer is associated with an accelerated compositing layer.
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::containsPaintedContent):
        (WebCore::RenderLayerBacking::rendererContentChanged):
       Chromium specific changes:
        * platform/graphics/chromium/CanvasLayerChromium.cpp: Added.
        (WebCore::CanvasLayerChromium::create):
        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
        (WebCore::CanvasLayerChromium::textureId):
        (WebCore::CanvasLayerChromium::updateTextureContents):
        (WebCore::CanvasLayerChromium::setContext):
        * platform/graphics/chromium/CanvasLayerChromium.h: Added.
        (WebCore::CanvasLayerChromium::drawsContent):
        (WebCore::CanvasLayerChromium::ownsTexture):
        (WebCore::CanvasLayerChromium::shaderProgramId):
        (WebCore::CanvasLayerChromium::setShaderProgramId):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::):
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
        * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
        Mac specific changes:
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::):
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
        (WebCore::GraphicsLayerCA::setContentsToCanvas):

2010-08-06  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Eric Seidel.

        Add PluginView::bindingInstance() to PluginViewNone
        https://bugs.webkit.org/show_bug.cgi?id=42936

        * bindings/js/ScriptControllerEfl.cpp:
        (WebCore::ScriptController::createScriptInstanceForWidget): Removed workaround.
        * plugins/PluginViewNone.cpp: Added property svn:eol-style.
        (WebCore::PluginView::bindingInstance): Added missing method and use it on WinCE.

2010-08-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Use new "package" name also for the directory where the inspector
        support files are installed.

        * GNUmakefile.am:

2010-08-06  Jian Li  <jianli@chromium.org>

        Fix chromium build break.

        * inspector/InspectorDebuggerAgent.h:

2010-08-06  Dirk Schulze  <krit@webkit.org>

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-06  Jessie Berlin  <jberlin@apple.com>

        Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
        Unreviewed.

        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityARIAGrid.h:
        * accessibility/AccessibilityListBoxOption.h:
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.h:
        * bindings/cpp/WebDOMCString.h:
        * bindings/cpp/WebDOMString.h:
        * bindings/gobject/ConvertToUTF8String.h:
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSMessagePortCustom.h:
        * bindings/js/JavaScriptCallFrame.h:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptProfile.h:
        * bindings/js/ScriptSourceProvider.h:
        * bindings/js/ScriptString.h:
        * bindings/js/WorkerScriptController.h:
        * bindings/objc/DOMImplementationFront.h:
        * bindings/v8/ScheduledAction.h:
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8Proxy.h:
        * bindings/v8/V8Utilities.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.h:
        * bridge/c/c_utility.h:
        * css/CSSFontSelector.h:
        * css/CSSHelper.h:
        * css/CSSOMUtils.h:
        * css/CSSPrimitiveValue.h:
        * css/MediaList.h:
        * css/StyleBase.h:
        * css/StyleSheetList.h:
        * css/WebKitCSSKeyframesRule.h:
        * dom/CheckedRadioButtons.h:
        * dom/DOMImplementation.h:
        * dom/DocumentMarker.h:
        * dom/DynamicNodeList.h:
        * dom/EventTarget.h:
        * dom/MessagePort.h:
        * dom/MessagePortChannel.h:
        * dom/NameNodeList.h:
        * dom/Node.h:
        * dom/NodeList.h:
        * dom/OptionGroupElement.h:
        * dom/ScriptExecutionContext.h:
        * dom/SelectElement.h:
        * dom/ViewportArguments.h:
        * dom/make_names.pl:
        * editing/HTMLInterchange.h:
        * editing/htmlediting.h:
        * editing/markup.h:
        * html/CollectionCache.h:
        * html/DOMFormData.h:
        * html/DataGridColumnList.h:
        * html/DateComponents.h:
        * html/FileStream.h:
        * html/FileStreamProxy.h:
        * html/FormDataList.h:
        (WebCore::FormDataList::appendData):
        * html/HTMLCollection.h:
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.h:
        * html/HTMLParserQuirks.h:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptRunnerHost.h:
        * html/StepRange.h:
        * html/canvas/CanvasGradient.h:
        * html/canvas/CanvasNumberArray.h:
        * html/canvas/CanvasPattern.h:
        * inspector/InjectedScript.h:
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorClient.h:
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorValues.h:
        * inspector/ScriptDebugListener.h:
        * loader/CachedResourceClient.h:
        * loader/CrossOriginAccessControl.h:
        * loader/DocumentThreadableLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/RedirectScheduler.h:
        * loader/SubframeLoader.h:
        * loader/appcache/DOMApplicationCache.h:
        * loader/archive/ArchiveFactory.h:
        * loader/icon/IconDatabaseClient.h:
        * notifications/NotificationPresenter.h:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Console.h:
        * page/ContextMenuClient.h:
        * page/DOMSelection.h:
        * page/EditorClient.h:
        * page/EventHandler.h:
        * page/FrameView.h:
        * page/GeolocationPositionCache.h:
        * page/History.h:
        * page/Location.h:
        * page/Navigator.h:
        * page/NavigatorBase.h:
        * page/PluginHalterClient.h:
        * page/PrintContext.h:
        * page/SpeechInput.h:
        * page/SpeechInputListener.h:
        * page/animation/AnimationController.h:
        * platform/CookieJar.h:
        * platform/CrossThreadCopier.h:
        * platform/DragImage.h:
        * platform/FileSystem.h:
        * platform/Language.h:
        * platform/Length.h:
        * platform/LinkHash.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.h:
        * platform/Logging.h:
        * platform/Pasteboard.h:
        * platform/PopupMenuClient.h:
        * platform/SearchPopupMenu.h:
        * platform/Widget.h:
        * platform/cf/BinaryPropertyList.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ClipboardUtilitiesChromium.h:
        * platform/cocoa/KeyEventCocoa.h:
        * platform/graphics/Color.h:
        * platform/graphics/FontCache.h:
        * platform/graphics/FontData.h:
        * platform/graphics/FontSelector.h:
        * platform/graphics/GraphicsTypes.h:
        * platform/graphics/Icon.h:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/Path.h:
        * platform/graphics/StringTruncator.h:
        * platform/graphics/cairo/FontCustomPlatformData.h:
        * platform/graphics/cairo/FontPlatformData.h:
        * platform/graphics/cg/FontPlatformData.h:
        * platform/graphics/cg/ImageSourceCG.h:
        * platform/graphics/chromium/FontCustomPlatformData.h:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/haiku/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/qt/FontPlatformData.h:
        * platform/graphics/win/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/wince/FontPlatformData.h:
        * platform/graphics/wince/MediaPlayerPrivateWince.h:
        * platform/graphics/wince/MediaPlayerProxy.h:
        * platform/graphics/wx/FontCustomPlatformData.h:
        * platform/graphics/wx/FontPlatformData.h:
        * platform/mac/PasteboardHelper.h:
        * platform/network/DNS.h:
        * platform/network/FormData.h:
        * platform/network/FormDataBuilder.h:
        * platform/network/HTTPParsers.h:
        * platform/text/Hyphenation.h:
        * platform/text/LineEnding.h:
        * platform/text/TextCodec.h:
        * platform/text/TextEncoding.h:
        * platform/text/TextStream.h:
        * platform/win/BString.h:
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/WCDataObject.h:
        * platform/win/WebCoreTextRenderer.h:
        * plugins/DOMMimeType.h:
        * plugins/DOMMimeTypeArray.h:
        * plugins/DOMPlugin.h:
        * plugins/DOMPluginArray.h:
        * rendering/CounterNode.h:
        * rendering/HitTestResult.h:
        * rendering/RenderObjectChildList.h:
        * rendering/RenderText.h:
        * rendering/RenderTreeAsText.h:
        * rendering/TextControlInnerElements.h:
        * rendering/style/ContentData.h:
        * rendering/style/RenderStyle.h:
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseTrackerClient.h:
        * storage/SQLTransaction.h:
        * storage/SQLTransactionSync.h:
        * storage/Storage.h:
        * storage/chromium/DatabaseObserver.h:
        * svg/SVGAnimatedTemplate.h:
        * svg/SVGDocumentExtensions.h:
        * svg/SVGGlyphElement.h:
        * svg/SVGHKernElement.h:
        * svg/SVGNumberList.h:
        * svg/SVGPointList.h:
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGStylable.h:
        * svg/SVGTests.h:
        * svg/SVGTransformList.h:
        * svg/SVGTransformable.h:
        * svg/SVGVKernElement.h:
        * websockets/ThreadableWebSocketChannel.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketHandshakeResponse.h:
        * wml/WMLErrorHandling.h:
        * wml/WMLPageState.h:
        * wml/WMLVariables.h:
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerRepository.h:
        * workers/Worker.h:
        * workers/WorkerContextProxy.h:
        * workers/WorkerLoaderProxy.h:
        * workers/WorkerLocation.h:
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerReportingProxy.h:
        * workers/WorkerThread.h:
        * xml/DOMParser.h:
        * xml/XMLHttpRequestUpload.h:
        * xml/XPathEvaluator.h:
        * xml/XPathExpression.h:
        * xml/XPathNSResolver.h:
        * xml/XPathResult.h:
        * xml/XPathUtil.h:

2010-08-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        WebGLBuffer::associateBufferData(ArrayBufferView* array) copies incorrect data for sliced views
        https://bugs.webkit.org/show_bug.cgi?id=42124

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::associateBufferDataImpl): Helper function that's called by all associateBufferData().
        (WebCore::WebGLBuffer::associateBufferData): Call associateBufferDataImpl().
        (WebCore::WebGLBuffer::associateBufferSubDataImpl): Helper function that's called by all associateBufferSubData().
        (WebCore::WebGLBuffer::associateBufferSubData): Call associateBufferSubDataImpl().
        * html/canvas/WebGLBuffer.h: Declare helper functions.

2010-08-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        noembed should respect whether plugins are enabled
        https://bugs.webkit.org/show_bug.cgi?id=43611

        This instruction isn't in the HTML5 spec, but it seems like the right
        thing to do.  I suspect this is because the spec doesn't understand
        that plugins can be disabled.

        I'm not sure how we can test this in DumpRenderTree, but I'm open to
        suggestions.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::adjustedLexerState):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLTreeBuilder::scriptEnabled):
        (WebCore::HTMLTreeBuilder::pluginsEnabled):
        * html/HTMLTreeBuilder.h:

2010-08-06  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Factor out PendingScript and protect its members
        https://bugs.webkit.org/show_bug.cgi?id=43391

        This will be shared by AsyncScriptRunner.

        No new tests because no new functionality.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/PendingScript.cpp: Added.
        (WebCore::PendingScript::~PendingScript):
        (WebCore::PendingScript::element):
        (WebCore::PendingScript::releaseElementAndClear):
        (WebCore::PendingScript::setCachedScript):
        (WebCore::PendingScript::cachedScript):
        * dom/PendingScript.h: Added.
        (WebCore::PendingScript::PendingScript):
        (WebCore::PendingScript::startingLineNumber):
        (WebCore::PendingScript::watchingForLoad):
        (WebCore::PendingScript::setWatchingForLoad):
        (WebCore::PendingScript::hasElement):
        (WebCore::PendingScript::adoptElement):
        (WebCore::PendingScript::notifyFinished):
        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
        (WebCore::HTMLScriptRunner::requestScript):
        * html/HTMLScriptRunner.h:

2010-08-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Darin Adler.

        Change permission to access methods in XMLDocumentParser.h
        https://bugs.webkit.org/show_bug.cgi?id=43180

        Change permission to access wellFormed(), lineNumber() and columnNumber()
        in XMLDocumentParser.h. Because, the methods are used by WML.

        * dom/XMLDocumentParser.h:
        (WebCore::XMLDocumentParser::wellFormed): Change accebility permission. 

2010-08-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Support for image drags
        https://bugs.webkit.org/show_bug.cgi?id=40788

        Add image drag-and-drop support for WebKit GTK+.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::setDragImage): Filled this stub.
        (WebCore::ClipboardGtk::setDragImageElement): Filled this stub.
        (WebCore::ClipboardGtk::createDragImage): Filled this stub.
        (WebCore::ClipboardGtk::declareAndWriteDragImage): Write the image URL, markup, and image itself to the data object member.
        * platform/gtk/ClipboardGtk.h: Brought method declarations into line with the parent class.

2010-08-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extract debugger implementation into InspectorDebuggerAgent
        https://bugs.webkit.org/show_bug.cgi?id=42340

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::resume):
        (WebCore::InspectorController::loadBreakpoints):
        (WebCore::InspectorController::saveBreakpoints):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::debuggerAgent):
        * inspector/InspectorDebuggerAgent.cpp: Added.
        (WebCore::md5Base16):
        (WebCore::formatBreakpointId):
        (WebCore::InspectorDebuggerAgent::create):
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
        (WebCore::InspectorDebuggerAgent::activateBreakpoints):
        (WebCore::InspectorDebuggerAgent::deactivateBreakpoints):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
        (WebCore::InspectorDebuggerAgent::editScriptSource):
        (WebCore::InspectorDebuggerAgent::getScriptSource):
        (WebCore::InspectorDebuggerAgent::pause):
        (WebCore::InspectorDebuggerAgent::resume):
        (WebCore::InspectorDebuggerAgent::stepOverStatement):
        (WebCore::InspectorDebuggerAgent::stepIntoStatement):
        (WebCore::InspectorDebuggerAgent::stepOutOfFunction):
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        (WebCore::InspectorDebuggerAgent::loadBreakpoints):
        (WebCore::InspectorDebuggerAgent::saveBreakpoints):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        (WebCore::InspectorDebuggerAgent::failedToParseSource):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::didContinue):
        (WebCore::InspectorDebuggerAgent::remoteFrontend):
        * inspector/InspectorDebuggerAgent.h: Added.
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):

2010-08-06  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser and Steve Block.

        https://bugs.webkit.org/show_bug.cgi?id=42865
        Implement DeviceMotionEvent

        Implement the DeviceMotionEvent interface as defined
        in http://dev.w3.org/geo/api/spec-source-orientation.html
        This is currently an empty implementation, in that there is
        no motion client connected - the platform implementations
        will need to do that.

        Tests: fast/dom/DeviceMotion/create-event.html
               fast/dom/DeviceMotion/optional-event-properties.html
               fast/dom/DeviceMotion/window-property.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * Android.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
          - Add new files for DeviceMotionEvent build support
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
          - new runtime flags for device motion
        * bindings/js/JSDeviceMotionEventCustom.cpp: Added.
        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: Added.
          - Custom JS binding to translate property access through
            to the DeviceMotionData object that the Event holds
        * bindings/js/JSEventCustom.cpp:
          - Include the custom code for DeviceMotionEvent
        * dom/DeviceMotionClient.h: Added.
          - Pure virtual client for DeviceMotion access
        * dom/DeviceMotionController.cpp: Added.
        * dom/DeviceMotionController.h: Added.
          - Controller class that manages event dispatch
        * dom/DeviceMotionData.cpp: Added.
        * dom/DeviceMotionData.h: Added.
          - Representation of the data that comes from a device motion
            client that is then used within the event.
        * dom/DeviceMotionEvent.cpp: Added.
        * dom/DeviceMotionEvent.h: Added.
        * dom/DeviceMotionEvent.idl: Added.
          - The actual event implementation
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
          - Update createEvent to allow "devicemotion" events
        * dom/Event.cpp:
        * dom/Event.h:
          - isDeviceMotionEvent virtual method
        * dom/EventNames.h:
          - new "devicemotion" event type
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
          - allow creation of "devicemotion" events and pass registration
            through to the Page's deviceMotionController object
        * page/Page.cpp:
        * page/Page.h:
          - new PageClient for deviceMotionController

2010-08-06  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Remove "Online/Offline" icon for Chrome's appcache devtools UI.
        https://bugs.webkit.org/show_bug.cgi?id=43450

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
        (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState):
        * inspector/front-end/Settings.js:

2010-08-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolling out 64835, 64836 and 64839.

        * 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/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::openDatabase):
        * bindings/js/JSDatabaseCustom.cpp: Added.
        (WebCore::JSDatabase::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabase::transaction):
        (WebCore::JSDatabase::readTransaction):
        * bindings/js/JSDatabaseSyncCustom.cpp: Added.
        (WebCore::JSDatabaseSync::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabaseSync::transaction):
        (WebCore::JSDatabaseSync::readTransaction):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::openDatabase):
        (WebCore::JSWorkerContext::openDatabaseSync):
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::~JSTestCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
        (WebCore::TestObjInternal::intMethodWithArgsCallback):
        (WebCore::TestObjInternal::objMethodWithArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjInternal::serializedValueCallback):
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
        (WebCore::TestObjInternal::overloadedMethod1Callback):
        (WebCore::TestObjInternal::overloadedMethod2Callback):
        (WebCore::TestObjInternal::overloadedMethod3Callback):
        (WebCore::TestObjInternal::overloadedMethod4Callback):
        (WebCore::):
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/v8/V8Binding.h:
        (WebCore::String):
        (WebCore::AtomicString):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
        (WebCore::V8Database::changeVersionCallback):
        (WebCore::createTransaction):
        (WebCore::V8Database::transactionCallback):
        (WebCore::V8Database::readTransactionCallback):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
        (WebCore::V8DatabaseSync::changeVersionCallback):
        (WebCore::createTransaction):
        (WebCore::V8DatabaseSync::transactionCallback):
        (WebCore::V8DatabaseSync::readTransactionCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):
        * page/DOMWindow.idl:
        * storage/Database.cpp:
        (WebCore::Database::transaction):
        * storage/Database.h:
        * storage/Database.idl:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::transaction):
        * storage/DatabaseSync.h:
        * storage/DatabaseSync.idl:
        * workers/WorkerContext.idl:

2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, fix the "GTK Linux 64-bit Debug" bot.

        CodeGeneratorGObject.pm doesn't know yet how to auto-generate
        callbacks, so we should not auto-generate functions that take
        callbacks as parameters. This shouldn't break anything, because
        all these functions were marked as ["Custom"] until now, and this
        code generator skipped those functions anyway.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, "Qt Linux Realese minimal" build fix.

        * bindings/scripts/CodeGeneratorJS.pm:

2010-08-06  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Auto-generate all HTML5 DB bindings.
        https://bugs.webkit.org/show_bug.cgi?id=43382

        * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
        and the custom implementations of openDatabas{Sync}().
        * 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/JSDOMWindowCustom.cpp:
        * bindings/js/JSDatabaseCustom.cpp: Removed.
        * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
        * bindings/js/JSWorkerContextCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
        * bindings/v8/custom/V8WorkerContextCustom.cpp:

        * bindings/scripts/CodeGeneratorJS.pm: Change the code generators
        to check that a value was passed for each non-optional argument,
        and that the value can be converted to the argument type.
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::~JSTestCallback):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
        (WebCore::TestObjInternal::intMethodWithArgsCallback):
        (WebCore::TestObjInternal::objMethodWithArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
        (WebCore::TestObjInternal::serializedValueCallback):
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
        (WebCore::TestObjInternal::overloadedMethod1Callback):
        (WebCore::TestObjInternal::overloadedMethod2Callback):
        (WebCore::TestObjInternal::overloadedMethod3Callback):
        (WebCore::TestObjInternal::overloadedMethod4Callback):
        (WebCore::):
        (WebCore::ConfigureV8TestObjTemplate):
        * bindings/v8/V8Binding.h:
        (WebCore::String):
        (WebCore::AtomicString):

        * page/DOMWindow.idl: Minor changes required by the auto-generated
        bindings.
        * storage/Database.cpp:
        (WebCore::Database::transaction):
        (WebCore::Database::readTransaction):
        (WebCore::Database::runTransaction):
        * storage/Database.h:
        * storage/Database.idl:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::readTransaction):
        (WebCore::DatabaseSync::runTransaction):
        * storage/DatabaseSync.h:
        * storage/DatabaseSync.idl:
        * workers/WorkerContext.idl:

2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix warning, breaking win build.

        * svg/SVGLength.cpp:
        (WebCore::SVGLength::toCSSPrimitiveValue):

2010-08-06  Alexey Proskuryakov  <ap@apple.com>

        Fix crashing Leopard and Gtk bots.

        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Don't register ISO8859-16, because older versions of ICU don't support ISO-8859-16, causing
        crashes when we try to register an alias. Also, we don't need it, because Firefox doesn't
        support this particular alias (it supports ISO8859-1 to ISO8859-15, but only supports the
        main name for ISO-8859-16).

2010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVG - stroke-width:0 bug with stroke other than "none"
        https://bugs.webkit.org/show_bug.cgi?id=42387

        Stop storing refcounted CSSValue/CSSValueList objects in SVGRenderStyle, replacing them with SVGLength types.
        Allows us to directly specify default values for stroke-dashoffset/width in the SVGRenderStyle, fixing a problem
        with stroke-width animations when resetting to the original stored baseVal, exposed in svg/W3C-1.1/animate-elem-40-t.svg
        Originally discovered by Fady Samuel.

        Test: svg/custom/path-zero-strokewidth.svg

        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::strokeDashArrayToCSSValueList): New helper function converting from Vector<SVGLength> to CSSValueList.
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Convert SVGLength values to CSSPrimitiveValues.
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty): Convert CSSPrimitiveValues to SVGLength objects, for SVGRenderStyle storage.
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Just grab strokeWidth SVGLength value from SVGRenderSTyle, no need to call cssPrimitiveToLength anymore.
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox): Ditto.
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::calculateBaselineShift): Ditto (for baseline-shift).
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::buildLayoutInformation): Ditto (for kerning).
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto (for stroke-width/stroke-dashoffset/stroke-dasharray).
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle): Ditto.
        * rendering/SVGTextLayoutUtilities.cpp:
        (WebCore::calculateCSSKerning): Ditto.
        * rendering/SVGTextLayoutUtilities.h:
        * rendering/style/SVGRenderStyle.cpp: Remove no longer needed cssPrimitiveToLength function.
        * rendering/style/SVGRenderStyle.h: Stop storing RefPtr<CSSValue> / RefPtr<CSSValueList> but use SVGLength/Vector<SVGLength>.
        (WebCore::SVGRenderStyle::initialStrokeDashArray): Allows us to specify correct default values, instead of null pointers.
        (WebCore::SVGRenderStyle::initialBaselineShiftValue): Specify 0px default value.
        (WebCore::SVGRenderStyle::initialKerning): Ditto.
        (WebCore::SVGRenderStyle::initialStrokeDashOffset): Ditto.
        (WebCore::SVGRenderStyle::initialStrokeWidth): Specify 1px default value.
        (WebCore::SVGRenderStyle::setStrokeDashArray): Takes a Vector<SVGLength> now, not a PassRefPtr<CSSValueList>.
        (WebCore::SVGRenderStyle::setStrokeWidth): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
        (WebCore::SVGRenderStyle::setStrokeDashOffset): Ditto.
        (WebCore::SVGRenderStyle::setKerning): Ditto.
        (WebCore::SVGRenderStyle::setStopColor): Pass Color as const-reference.
        (WebCore::SVGRenderStyle::setFloodColor): Ditto.
        (WebCore::SVGRenderStyle::setLightingColor): Ditto.
        (WebCore::SVGRenderStyle::setBaselineShiftValue): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
        (WebCore::SVGRenderStyle::setShadow): Reformat, had wrong style.
        (WebCore::SVGRenderStyle::setClipperResource): Pass String as const-reference.
        (WebCore::SVGRenderStyle::setFilterResource): Ditto.
        (WebCore::SVGRenderStyle::setMaskerResource): Ditto.
        (WebCore::SVGRenderStyle::setMarkerStartResource): Ditto.
        (WebCore::SVGRenderStyle::setMarkerMidResource): Ditto.
        (WebCore::SVGRenderStyle::setMarkerEndResource): Ditto.
        (WebCore::SVGRenderStyle::strokeDashArray): Return Vector<SVGLength>.
        (WebCore::SVGRenderStyle::strokeWidth): Return SVGLength.
        (WebCore::SVGRenderStyle::strokeDashOffset): Ditto.
        (WebCore::SVGRenderStyle::kerning): Ditto.
        (WebCore::SVGRenderStyle::baselineShiftValue): Ditto.
        * rendering/style/SVGRenderStyleDefs.cpp:
        (WebCore::StyleStrokeData::StyleStrokeData): Changed initialization order, to group stroke properties.
        * rendering/style/SVGRenderStyleDefs.h: Store SVGLength values instead of reference counted CSS objects.
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::SVGLength): Add copy constructor.
        (WebCore::SVGLength::operator==): Add comparision operator.
        (WebCore::SVGLength::operator!=): Ditto.
        (WebCore::SVGLength::fromCSSPrimitiveValue): New static helper function to convert from a CSSPrimitiveValue.
        (WebCore::SVGLength::toCSSPrimitiveValue): New static helper function to convert to a CSSPrimitiveValue.
        * svg/SVGLength.h: Reindent.

2010-08-06  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Move Qt's popup menu implementation from WebCore to WebKit layer
        https://bugs.webkit.org/show_bug.cgi?id=43427

        After PopupMenu changes in bug 42592 class QtAbstractWebPopup became unecessary and
        there is no need to keep any Qt specific code for popup menus in WebCore/platform/qt.

        PopupMenuQt has been moved from WebCore/platform/qt to WebKit/qt/WebCoreSupport and
        assumed the responsibilities of QtAbstractWebPopup. SearchPopupMenuQt has been moved
        to WebKit/qt/WebCoreSupport as well.

        All classes that previously inherited from QtAbstractWebPopup now inherit from 
        QWebSelectMethod and QtPlatformPlugin's method createSelectInputMethod now returns an
        instance of class QWebSelectMethod instead of QtAbstractWebPopup.

        * WebCore.pro:
        * platform/qt/PopupMenuQt.cpp: Removed.
        * platform/qt/PopupMenuQt.h: Removed.
        * platform/qt/QtAbstractWebPopup.cpp: Removed.
        * platform/qt/QtAbstractWebPopup.h: Removed.
        * platform/qt/SearchPopupMenuQt.cpp: Removed.
        * platform/qt/SearchPopupMenuQt.h: Removed.

2010-08-05  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Initial bindings and plumbing for IDBCursor.
        https://bugs.webkit.org/show_bug.cgi?id=41888

        Test: storage/indexeddb/idb-opencursor.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbCursor):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBCursor.cpp: Added.
        (WebCore::IDBCursor::IDBCursor):
        (WebCore::IDBCursor::~IDBCursor):
        (WebCore::IDBCursor::direction):
        (WebCore::IDBCursor::key):
        (WebCore::IDBCursor::value):
        (WebCore::IDBCursor::update):
        (WebCore::IDBCursor::continueFunction):
        (WebCore::IDBCursor::remove):
        * storage/IDBCursor.h: Added.
        (WebCore::IDBCursor::):
        (WebCore::IDBCursor::create):
        * storage/IDBCursor.idl: Added.
        * storage/IDBCursorBackendImpl.cpp: Added.
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::direction):
        (WebCore::IDBCursorBackendImpl::key):
        (WebCore::IDBCursorBackendImpl::value):
        (WebCore::IDBCursorBackendImpl::update):
        (WebCore::IDBCursorBackendImpl::continueFunction):
        (WebCore::IDBCursorBackendImpl::remove):
        * storage/IDBCursorBackendImpl.h: Added.
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBCursorBackendInterface.h: Added.
        (WebCore::IDBCursorBackendInterface::~IDBCursorBackendInterface):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::timerFired):
        * storage/IDBRequest.h:

2010-08-06  Andrei Popescu  <andreip@google.com>

        Unreviewed, release build fix.

        Leopard relase build is broken due to absolute path to JSIDBTransaction.cpp file present in Xcode project file.
        https://bugs.webkit.org/show_bug.cgi?id=43616

        * WebCore.xcodeproj/project.pbxproj:

2010-08-05  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] IndexedDB is missing the Transaction interface.
        https://bugs.webkit.org/show_bug.cgi?id=42970

        Add IDBTransaction boilerplate.

        No new tests, not functional yet.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/EventNames.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::canSuspend):
        (WebCore::IDBRequest::timerFired):
        (WebCore::IDBRequest::onEventCommon):
        * storage/IDBRequest.h:
        * storage/IDBTransaction.cpp: Added.
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::~IDBTransaction):
        (WebCore::IDBTransaction::mode):
        (WebCore::IDBTransaction::db):
        (WebCore::IDBTransaction::objectStore):
        (WebCore::IDBTransaction::abort):
        (WebCore::IDBTransaction::scriptExecutionContext):
        (WebCore::IDBTransaction::canSuspend):
        (WebCore::IDBTransaction::eventTargetData):
        (WebCore::IDBTransaction::ensureEventTargetData):
        * storage/IDBTransaction.h: Added.
        (WebCore::IDBTransaction::create):
        (WebCore::IDBTransaction::):
        (WebCore::IDBTransaction::toIDBTransaction):
        (WebCore::IDBTransaction::refEventTarget):
        (WebCore::IDBTransaction::derefEventTarget):
        * storage/IDBTransaction.idl: Added.
        * storage/IDBTransactionBackendInterface.h: Added.
        (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):

2010-08-06  Rafael Antognolli  <antognolli@profusion.mobi>

        Unreviewed build fix.

        [EFL] Regression (64735) build fix for efl.
        https://bugs.webkit.org/show_bug.cgi?id=43564

        Removing bindings/js/ScriptArray.cpp from the WebCore_SOURCES.
        No new features, so no new tests.

        * CMakeLists.txt:

2010-08-05  Alexey Proskuryakov  <ap@apple.com>

        Fix http/tests/webarchive/test-css-url-encoding-shift-jis.html

        For some reason, I didn't see the failure locally, but bots complain.

        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register "shift-jis" (with dash instead of underscore). At least Firefox supports it.

2010-08-05  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Fraser.

        Form button input elements lacking text in some cases after switching from
        visibility:collapse to visibility:visible
        https://bugs.webkit.org/show_bug.cgi?id=38050
        
        A relayout is required after toggling visibility from collapse to another value.

        Test: fast/css/visibility-collapse-form-buttons.html

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): If we're toggling from visibility:collapse to another
            visibility value (or vice versa) then we need to trigger a relayout.

2010-08-05  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=43554
        Way too many encoding aliases are treated as valid

        <rdar://problem/7863399> Garbage characters displayed in some yesky.com pages.

        <rdar://problem/7859068> Garbage characters displayed for most text at ceping.zhaopin.com

        Test: http/tests/misc/bad-charset-alias.html

        * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset):
        Fix encoding name length computation. Previously, a trailing quote was ignored by
        TextEncodingRegistry.
        
        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Added dashes to alias names that didn't have them. Added aliases prompted by regression tests.

        * platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::registerEncodingNames):
        Don't register 8859-1, other browsers do not support this encoding name.

        * platform/text/TextEncoding.cpp: (WebCore::Latin1Encoding):
        "Latin-1" is not a real encoding name, it's not known to Firefox or IE.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::TextEncodingNameHash::equal): Changed to no longer ignore non-alphanumeric characters.
        There is a good chance that we'll be missing support for some necessary alias names, but other
        browsers don't ignore any characters when matching names.
        (WebCore::TextEncodingNameHash::hash): Ditto.
        (WebCore::checkExistingName): Re-formatted a line.
        (WebCore::isUndesiredAlias): Added a filter to reject "8859_1" and any names containing commas.
        (WebCore::addToTextEncodingNameMap): Used it.
        (WebCore::atomicCanonicalTextEncodingName): Changed to no longer ignore non-alphanumeric characters.

2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Temporary files should not be created in the current directory
        https://bugs.webkit.org/show_bug.cgi?id=43562

        Don't create temporary files in the current directory, use QDir::tempPath()
        instead, as suggested by the QTemporaryFile documentation.

        * platform/qt/FileSystemQt.cpp:
        (WebCore::openTemporaryFile):

2010-08-05  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Make STIX font the default one to render MathML
        https://bugs.webkit.org/show_bug.cgi?id=41961

        * css/mathml.css:
        (math):

2010-08-05  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Eric Seidel.

        Apply a stylistic fix to the patch 62640.
        https://bug-41175-attachments.webkit.org/attachment.cgi?id=62640
        https://bugs.webkit.org/show_bug.cgi?id=41175

        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
        (getImageData):

2010-08-05  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Make SearchPopupMenuWin more portable
        https://bugs.webkit.org/show_bug.cgi?id=43527

        Add #if PLATFORM(CF) around CoreFoundation code.

        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenuWin::enabled):
        (WebCore::SearchPopupMenuWin::saveRecentSearches):
        (WebCore::SearchPopupMenuWin::loadRecentSearches):

2010-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63653.
        http://trac.webkit.org/changeset/63653
        https://bugs.webkit.org/show_bug.cgi?id=43592

        regressed multiple background-images (Requested by smfr on
        #webkit).

        * manual-tests/css3-background-layer-count.html: Removed.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::fillUnsetProperties):
        (WebCore::FillLayer::cullEmptyLayers):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::adjustBackgroundLayers):
        (WebCore::InheritedFlags::adjustMaskLayers):

2010-08-05  Mark Rowe  <mrowe@apple.com>

        Reviewed by Jon Honeycutt.

        Fix some leaks seen on the buildbot.

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::paintToCanvas): Adopt the newly-created CoreGraphics objects rather than sharing ownership
        and over-incrementing their reference count. Also cleaned up the bizarre wrapping used for function arguments while I was
        touching this code.

2010-08-05  James Robinson  <jamesr@chromium.org>

        Rubber stamped by Eric Seidel.

        [SVG] SVGPathSeg.cpp needs an #if ENABLE(SVG) guard
        https://bugs.webkit.org/show_bug.cgi?id=43599

        Matches the rest of the .cpp files in this directory.

        * svg/SVGPathSeg.cpp:

2010-08-05  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Kent Tamura.

        Calling setCustomValidity should trigger a layout
        https://bugs.webkit.org/show_bug.cgi?id=43582

        Test: fast/forms/setCustomValidity.html

        * html/ValidityState.cpp:
        (WebCore::ValidityState::setCustomErrorMessage): Call setNeedsValidityCheck to tell the system that the validity might have changed.
        * html/ValidityState.h:

2010-08-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add ability to get a JSValueRef for a node handle and a world
        https://bugs.webkit.org/show_bug.cgi?id=43591

        * WebCore.exp.in: Add exports.

2010-08-05  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig

        Bug 43594 - Add string forwards to Forward.h
        This allows us to remove forward declarations for these classes from
        WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).

        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityARIAGrid.h:
        * accessibility/AccessibilityListBoxOption.h:
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.h:
        * bindings/cpp/WebDOMCString.h:
        * bindings/cpp/WebDOMString.h:
        * bindings/gobject/ConvertToUTF8String.h:
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSMessagePortCustom.h:
        * bindings/js/JavaScriptCallFrame.h:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptProfile.h:
        * bindings/js/ScriptSourceProvider.h:
        * bindings/js/ScriptString.h:
        * bindings/js/WorkerScriptController.h:
        * bindings/objc/DOMImplementationFront.h:
        * bindings/v8/ScheduledAction.h:
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8Proxy.h:
        * bindings/v8/V8Utilities.h:
        * bindings/v8/custom/V8CustomXPathNSResolver.h:
        * bridge/c/c_utility.h:
        * css/CSSFontSelector.h:
        * css/CSSHelper.h:
        * css/CSSOMUtils.h:
        * css/CSSPrimitiveValue.h:
        * css/MediaList.h:
        * css/StyleBase.h:
        * css/StyleSheetList.h:
        * css/WebKitCSSKeyframesRule.h:
        * dom/CheckedRadioButtons.h:
        * dom/DOMImplementation.h:
        * dom/DocumentMarker.h:
        * dom/DynamicNodeList.h:
        * dom/EventTarget.h:
        * dom/MessagePort.h:
        * dom/MessagePortChannel.h:
        * dom/NameNodeList.h:
        * dom/Node.h:
        * dom/NodeList.h:
        * dom/OptionGroupElement.h:
        * dom/ScriptExecutionContext.h:
        * dom/SelectElement.h:
        * dom/ViewportArguments.h:
        * dom/make_names.pl:
        * editing/HTMLInterchange.h:
        * editing/htmlediting.h:
        * editing/markup.h:
        * html/CollectionCache.h:
        * html/DOMFormData.h:
        * html/DataGridColumnList.h:
        * html/DateComponents.h:
        * html/FileStream.h:
        * html/FileStreamProxy.h:
        * html/FormDataList.h:
        (WebCore::FormDataList::appendData):
        * html/HTMLCollection.h:
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.h:
        * html/HTMLParserQuirks.h:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptRunnerHost.h:
        * html/StepRange.h:
        * html/canvas/CanvasGradient.h:
        * html/canvas/CanvasNumberArray.h:
        * html/canvas/CanvasPattern.h:
        * inspector/InjectedScript.h:
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorClient.h:
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorValues.h:
        * inspector/ScriptDebugListener.h:
        * loader/CachedResourceClient.h:
        * loader/CrossOriginAccessControl.h:
        * loader/DocumentThreadableLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/RedirectScheduler.h:
        * loader/SubframeLoader.h:
        * loader/appcache/DOMApplicationCache.h:
        * loader/archive/ArchiveFactory.h:
        * loader/icon/IconDatabaseClient.h:
        * notifications/NotificationPresenter.h:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Console.h:
        * page/ContextMenuClient.h:
        * page/DOMSelection.h:
        * page/EditorClient.h:
        * page/EventHandler.h:
        * page/FrameView.h:
        * page/GeolocationPositionCache.h:
        * page/History.h:
        * page/Location.h:
        * page/Navigator.h:
        * page/NavigatorBase.h:
        * page/PluginHalterClient.h:
        * page/PrintContext.h:
        * page/SpeechInput.h:
        * page/SpeechInputListener.h:
        * page/animation/AnimationController.h:
        * platform/CookieJar.h:
        * platform/CrossThreadCopier.h:
        * platform/DragImage.h:
        * platform/FileSystem.h:
        * platform/Language.h:
        * platform/Length.h:
        * platform/LinkHash.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.h:
        * platform/Logging.h:
        * platform/Pasteboard.h:
        * platform/PopupMenuClient.h:
        * platform/SearchPopupMenu.h:
        * platform/Widget.h:
        * platform/cf/BinaryPropertyList.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ClipboardUtilitiesChromium.h:
        * platform/cocoa/KeyEventCocoa.h:
        * platform/graphics/Color.h:
        * platform/graphics/FontCache.h:
        * platform/graphics/FontData.h:
        * platform/graphics/FontSelector.h:
        * platform/graphics/GraphicsTypes.h:
        * platform/graphics/Icon.h:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/Path.h:
        * platform/graphics/StringTruncator.h:
        * platform/graphics/cairo/FontCustomPlatformData.h:
        * platform/graphics/cairo/FontPlatformData.h:
        * platform/graphics/cg/FontPlatformData.h:
        * platform/graphics/cg/ImageSourceCG.h:
        * platform/graphics/chromium/FontCustomPlatformData.h:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/haiku/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/qt/FontPlatformData.h:
        * platform/graphics/win/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/wince/FontPlatformData.h:
        * platform/graphics/wince/MediaPlayerPrivateWince.h:
        * platform/graphics/wince/MediaPlayerProxy.h:
        * platform/graphics/wx/FontCustomPlatformData.h:
        * platform/graphics/wx/FontPlatformData.h:
        * platform/mac/PasteboardHelper.h:
        * platform/network/DNS.h:
        * platform/network/FormData.h:
        * platform/network/FormDataBuilder.h:
        * platform/network/HTTPParsers.h:
        * platform/text/Hyphenation.h:
        * platform/text/LineEnding.h:
        * platform/text/TextCodec.h:
        * platform/text/TextEncoding.h:
        * platform/text/TextStream.h:
        * platform/win/BString.h:
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/WCDataObject.h:
        * platform/win/WebCoreTextRenderer.h:
        * plugins/DOMMimeType.h:
        * plugins/DOMMimeTypeArray.h:
        * plugins/DOMPlugin.h:
        * plugins/DOMPluginArray.h:
        * rendering/CounterNode.h:
        * rendering/HitTestResult.h:
        * rendering/RenderObjectChildList.h:
        * rendering/RenderText.h:
        * rendering/RenderTreeAsText.h:
        * rendering/TextControlInnerElements.h:
        * rendering/style/ContentData.h:
        * rendering/style/RenderStyle.h:
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseTrackerClient.h:
        * storage/SQLTransaction.h:
        * storage/SQLTransactionSync.h:
        * storage/Storage.h:
        * storage/chromium/DatabaseObserver.h:
        * svg/SVGAnimatedTemplate.h:
        * svg/SVGDocumentExtensions.h:
        * svg/SVGGlyphElement.h:
        * svg/SVGHKernElement.h:
        * svg/SVGNumberList.h:
        * svg/SVGPointList.h:
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGStylable.h:
        * svg/SVGTests.h:
        * svg/SVGTransformList.h:
        * svg/SVGTransformable.h:
        * svg/SVGVKernElement.h:
        * websockets/ThreadableWebSocketChannel.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketHandshakeResponse.h:
        * wml/WMLErrorHandling.h:
        * wml/WMLPageState.h:
        * wml/WMLVariables.h:
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerRepository.h:
        * workers/Worker.h:
        * workers/WorkerContextProxy.h:
        * workers/WorkerLoaderProxy.h:
        * workers/WorkerLocation.h:
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerReportingProxy.h:
        * workers/WorkerThread.h:
        * xml/DOMParser.h:
        * xml/XMLHttpRequestUpload.h:
        * xml/XPathEvaluator.h:
        * xml/XPathExpression.h:
        * xml/XPathNSResolver.h:
        * xml/XPathResult.h:
        * xml/XPathUtil.h:

2010-08-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        U+0000 is turned to U+FFFD (replacement character)
        https://bugs.webkit.org/show_bug.cgi?id=42112

        This patch introduces an intentional parsing difference from the HTML5
        parsing specificiation.  The spec requires us to convert NULL
        characters to U+FFFD, but doing so causes compatibility issues with a
        number of sites, including US Bank.

        In this patch, we strip the null characters instead in certain cases.
        Firefox has made a corresponding change.  After gathering compatability
        data, we hope to convince the HTML WG to adopt this change.

        Tests: fast/tokenizer/null-in-text.html
               fast/tokenizer/null-xss.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::reset):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::setSkipLeadingNewLineForListing):
        (WebCore::HTMLTokenizer::forceNullCharacterReplacement):
        (WebCore::HTMLTokenizer::setForceNullCharacterReplacement):
        (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::InputStreamPreprocessor):
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-08-05  Andy Estes  <aestes@apple.com>

        Reviewed by David Kilzer.

        Rename iOS-related OS and PLATFORM macros.
        https://bugs.webkit.org/show_bug.cgi?id=43493

        Rename WTF_OS_IPHONE_OS to WTF_OS_IOS, WTF_PLATFORM_IPHONE to
        WTF_PLATFORM_IOS, and WTF_PLATFORM_IPHONE_SIMULATOR to
        WTF_PLATFORM_IOS_SIMULATOR.

        * platform/cocoa/KeyEventCocoa.mm:
        * platform/iphone/KeyEventIPhone.mm:
        * platform/network/Credential.h:

2010-08-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Use the visited link provider for visited links
        https://bugs.webkit.org/show_bug.cgi?id=43583

        Export Page::visitedStateChanged and Page::allvisitedStateChanged.

        * WebCore.exp.in:

2010-08-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Touching SVGNames should only rebuild hundreds of files, not thousands
        https://bugs.webkit.org/show_bug.cgi?id=43308

        Remove SVGNames.h include from several core SVG header files
        which do not need to include it.

        One of them, SVGPathSeg.h, required creation of an SVGPathSeg.cpp.
        A bunch of SVGPathSeg* could remove PlatformString.h includes if
        we moved their toString() methods into the .cpp files.

        I re-indented on header to stop check-webkit-style from complaining.
        I removed a couple mode lines I saw, since my understanding from
        previous webkit-dev threads is that we plan to remove those all.

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAngle.h:
        * svg/SVGPathSeg.cpp: Added.
        (WebCore::SVGPathSeg::~SVGPathSeg):
        (WebCore::SVGPathSeg::pathSegType):
        (WebCore::SVGPathSeg::pathSegTypeAsLetter):
        (WebCore::SVGPathSeg::toString):
        (WebCore::SVGPathSeg::associatedAttributeName):
        (WebCore::SVGPathSegSingleCoord::toString):
        * svg/SVGPathSeg.h:
        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
        * svg/SVGPathSegArc.cpp:
        (WebCore::SVGPathSegArc::toString):
        * svg/SVGPathSegArc.h:
        (WebCore::SVGPathSegArc::SVGPathSegArc):
        * svg/SVGPathSegClosePath.h:
        (WebCore::SVGPathSegClosePath::create):
        (WebCore::SVGPathSegClosePath::pathSegType):
        (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
        (WebCore::SVGPathSegClosePath::toString):
        * svg/SVGPathSegCurvetoCubic.h:
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        * svg/SVGPathSegCurvetoQuadratic.h:
        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
        * svg/SVGPathSegLineto.h:
        * svg/SVGPathSegLinetoHorizontal.h:
        * svg/SVGPathSegLinetoVertical.h:
        * svg/SVGPathSegMoveto.h:
        * svg/SVGTransform.h:

2010-08-05  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-05  Adam Barth  <abarth@webkit.org>

        Actually make HTMLEntityNames.json valid JSON.

        * html/HTMLEntityNames.json:

2010-08-05  Beth Dakin  <bdakin@apple.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=43516 REGRESSION: 
        Huge number of memory leaks after enabling MathML
        -and corresponding-
        <rdar://problem/8274123>

        Destroy the old children in 
        RenderMathMLOperator::updateFromElement() instead of just removing 
        them since just removing them will cause them to leak.
        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::updateFromElement):

2010-08-05  Tony Chang  <tony@chromium.org>

        Reviewed by David Hyatt.

        Fix a crash when a hidden iframe with a custom scrollbar finishes loading an image.
        https://bugs.webkit.org/show_bug.cgi?id=42724

        Test: scrollbars/hidden-iframe-scrollbar-crash2.html

        * page/FrameView.cpp:
        (WebCore::FrameView::createScrollbar):
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::createCustomScrollbar): Pass in Frame
        (WebCore::RenderScrollbar::RenderScrollbar): Pass in Frame
        (WebCore::RenderScrollbar::owningRenderer): Use the frame to get the RenderBox
        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
        (WebCore::RenderScrollbar::updateScrollbarParts):
        (WebCore::RenderScrollbar::updateScrollbarPart):
        * rendering/RenderScrollbar.h:
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::computeScrollbarWidth): null check
        (WebCore::RenderScrollbarPart::computeScrollbarHeight): null check

2010-08-05  Yong Li  <yoli@rim.com>

        Reviewed by Adam Treat.

        Fix the problem that down-sampling code doesn't work
        for some GIF's. GIF reader can call setSize() multiple times.
        We should clear the scaling maps before adding new entries.
        Also add a fast path to check if the size has changed since last time.

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

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::setSize):

2010-08-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: In the current implementation of inspector agents we're calling
        did methods manually. That is error prone and is bad from protocol point of view.
        It would be better to call did methods automatically from the corresponding methods
        of InspectorBackendDispatcher and report the results. As far as our protocol is
        statefull this trick will keep it in the consistent state.
        https://bugs.webkit.org/show_bug.cgi?id=43489

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getProfilerLogLines):
        (WebCore::InspectorBackend::setInjectedScriptSource):
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::clearConsoleMessages):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        (WebCore::InspectorBackend::getDatabaseTableNames):
        * inspector/InspectorBackend.h:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::getCookies):
        (WebCore::InspectorController::getDOMStorageEntries):
        (WebCore::InspectorController::setDOMStorageItem):
        (WebCore::InspectorController::removeDOMStorageItem):
        (WebCore::InspectorController::getProfileHeaders):
        (WebCore::InspectorController::getProfile):
        (WebCore::InspectorController::editScriptSource):
        (WebCore::InspectorController::getScriptSource):
        (WebCore::InspectorController::setBreakpoint):
        (WebCore::InspectorController::getResourceContent):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorClient):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getChildNodes):
        (WebCore::InspectorDOMAgent::setAttribute):
        (WebCore::InspectorDOMAgent::removeAttribute):
        (WebCore::InspectorDOMAgent::removeNode):
        (WebCore::InspectorDOMAgent::changeTagName):
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::setTextNodeValue):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRanges):
        (WebCore::InspectorDOMAgent::getInlineStyle):
        (WebCore::InspectorDOMAgent::getComputedStyle):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::setStyleText):
        (WebCore::InspectorDOMAgent::setStyleProperty):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorValue::asNumber):
        (WebCore::InspectorBasicValue::asNumber):
        * inspector/InspectorValues.h:
        * inspector/front-end/Callback.js:
        (WebInspector.Callback.prototype.processCallback):
        (WebInspector.Callback.prototype.removeCallbackEntry):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        * inspector/front-end/inspector.js:
        (WebInspector.reportProtocolError):

2010-08-04  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Style cleanups in WebGL
        https://bugs.webkit.org/show_bug.cgi?id=38761

        Cleaned up all style violations in WebGL-related files reported by
        check-webkit-style. No logic or other changes. Built WebKit and
        Chromium and ran WebGL layout tests.

        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::ArrayBuffer):
        (WebCore::ArrayBuffer::data):
        (WebCore::ArrayBuffer::byteLength):
        (WebCore::ArrayBuffer::~ArrayBuffer):
        (WebCore::ArrayBuffer::tryAllocate):
        * html/canvas/ArrayBufferView.cpp:
        (WebCore::ArrayBufferView::setImpl):
        * html/canvas/ArrayBufferView.h:
        * html/canvas/TypedArrayBase.h:
        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::deleteObjectImpl):
        (WebCore::WebGLBuffer::associateBufferData):
        * html/canvas/WebGLBuffer.h:
        (WebCore::WebGLBuffer::~WebGLBuffer):
        (WebCore::WebGLBuffer::elementArrayBuffer):
        (WebCore::WebGLBuffer::getTarget):
        (WebCore::WebGLBuffer::isBuffer):
        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::deleteObjectImpl):
        * html/canvas/WebGLFramebuffer.h:
        (WebCore::WebGLFramebuffer::~WebGLFramebuffer):
        (WebCore::WebGLFramebuffer::isDepthAttached):
        (WebCore::WebGLFramebuffer::isStencilAttached):
        (WebCore::WebGLFramebuffer::isDepthStencilAttached):
        (WebCore::WebGLFramebuffer::isFramebuffer):
        * html/canvas/WebGLGetInfo.cpp:
        * html/canvas/WebGLGetInfo.h:
        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::deleteObject):
        * html/canvas/WebGLObject.h:
        (WebCore::WebGLObject::object):
        (WebCore::WebGLObject::detachContext):
        (WebCore::WebGLObject::context):
        (WebCore::WebGLObject::isBuffer):
        (WebCore::WebGLObject::isFramebuffer):
        (WebCore::WebGLObject::isProgram):
        (WebCore::WebGLObject::isRenderbuffer):
        (WebCore::WebGLObject::isShader):
        (WebCore::WebGLObject::isTexture):
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::deleteObjectImpl):
        * html/canvas/WebGLProgram.h:
        (WebCore::WebGLProgram::~WebGLProgram):
        (WebCore::WebGLProgram::isLinkFailureFlagSet):
        (WebCore::WebGLProgram::setLinkFailureFlag):
        (WebCore::WebGLProgram::isProgram):
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::deleteObjectImpl):
        * html/canvas/WebGLRenderbuffer.h:
        (WebCore::WebGLRenderbuffer::~WebGLRenderbuffer):
        (WebCore::WebGLRenderbuffer::setInternalFormat):
        (WebCore::WebGLRenderbuffer::getInternalFormat):
        (WebCore::WebGLRenderbuffer::isInitialized):
        (WebCore::WebGLRenderbuffer::setInitialized):
        (WebCore::WebGLRenderbuffer::isRenderbuffer):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::beginPaint):
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::getActiveAttrib):
        (WebCore::WebGLRenderingContext::getActiveUniform):
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::is3d):
        (WebCore::WebGLRenderingContext::isAccelerated):
        (WebCore::WebGLRenderingContext::graphicsContext3D):
        (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
        (WebCore::WebGLRenderingContext::VertexAttribState::initValue):
        * html/canvas/WebGLShader.cpp:
        (WebCore::WebGLShader::deleteObjectImpl):
        * html/canvas/WebGLShader.h:
        (WebCore::WebGLShader::~WebGLShader):
        (WebCore::WebGLShader::getType):
        (WebCore::WebGLShader::isShader):
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::deleteObjectImpl):
        * html/canvas/WebGLTexture.h:
        (WebCore::WebGLTexture::~WebGLTexture):
        (WebCore::WebGLTexture::isCubeMapRWrapModeInitialized):
        (WebCore::WebGLTexture::setCubeMapRWrapModeInitialized):
        (WebCore::WebGLTexture::isTexture):
        (WebCore::WebGLTexture::LevelInfo::LevelInfo):
        (WebCore::WebGLTexture::LevelInfo::setInfo):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        (WebCore::GraphicsContext3D::Attributes::Attributes):
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        (WebCore::GraphicsContext3D::platformTexture):
        (WebCore::GraphicsContext3D::platformLayer):

2010-08-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Make the viewport meta tag parser support the Android
        target-densitydpi extension.
        http://webkit.org/b/43492

        http://developer.android.com/reference/android/webkit/WebView.html
        Section 'Building web pages to support different screen densities'

        * dom/ViewportArguments.cpp:
        (WebCore::setViewportFeature):
        (WebCore::viewportErrorMessageTemplate):
        * dom/ViewportArguments.h:
        (WebCore::):
        (WebCore::ViewportArguments::ViewportArguments):
        (WebCore::ViewportArguments::hasCustomArgument):

2010-08-05  Jian Li  <jianli@chromium.org>
 
        Reviewed by David Levin.

        Unify blob related feature defines to ENABLE(BLOB).
        https://bugs.webkit.org/show_bug.cgi?id=43081

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * dom/EventTarget.cpp:
        * dom/EventTarget.h:
        * dom/ExceptionCode.h:
        (WebCore::):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        * html/Blob.cpp:
        * html/Blob.h:
        * html/Blob.idl:
        * html/FileError.h:
        * html/FileError.idl:
        * html/FileReader.cpp:
        * html/FileReader.h:
        * html/FileReader.idl:
        * html/FileStream.cpp:
        (WebCore::FileStream::openForRead):
        * html/FileStream.h:
        * html/FileStreamClient.h:
        * html/FileStreamProxy.cpp:
        * html/FileStreamProxy.h:
        * html/FileThread.cpp:
        * html/FileThread.h:
        * page/DOMWindow.idl:
        * platform/BlobItem.cpp:
        (WebCore::getFileSnapshotModificationTime):
        (WebCore::DataBlobItem::slice):
        (WebCore::FileBlobItem::slice):
        * platform/BlobItem.h:
        * platform/network/FormData.cpp:
        (WebCore::FormData::deepCopy):
        (WebCore::FormData::appendFile):
        (WebCore::FormData::appendItem):
        (WebCore::FormData::appendKeyValuePairItems):
        * platform/network/FormData.h:
        (WebCore::operator==):
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::closeCurrentStream):
        (WebCore::advanceCurrentStream):
        (WebCore::formCreate):
        (WebCore::formRead):
        (WebCore::setHTTPBody):

2010-08-05  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        When trying to wrap a Node we know is an Element fallback to a
        simple Element wrapper in the worst case, not to Node.

        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::createWrapper):

2010-08-05  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Implement basic values of MathML mathvariant attribute
        https://bugs.webkit.org/show_bug.cgi?id=43481

        Test: mathml/presentation/attributes.xhtml

        * css/mathml.css:
        (math[mathvariant="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"]):
        (math[mathvariant="bold"], mstyle[mathvariant="bold"], mo[mathvariant="bold"], mn[mathvariant="bold"], mi[mathvariant="bold"], mtext[mathvariant="bold"], mspace[mathvariant="bold"], ms[mathvariant="bold"]):
        (math[mathvariant="italic"], mstyle[mathvariant="italic"], mo[mathvariant="italic"], mn[mathvariant="italic"], mi[mathvariant="italic"], mtext[mathvariant="italic"], mspace[mathvariant="italic"], ms[mathvariant="italic"]):
        (math[mathvariant="bold-italic"], mstyle[mathvariant="bold-italic"], mo[mathvariant="bold-italic"], mn[mathvariant="bold-italic"], mi[mathvariant="bold-italic"], mtext[mathvariant="bold-italic"], mspace[mathvariant="bold-italic"], ms[mathvariant="bold-italic"]):
        * mathml/mathattrs.in:

2010-08-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: inspected page crashes when there is a cyclic reference in Object prototype
        https://bugs.webkit.org/show_bug.cgi?id=43558

        Test: inspector/debugger-cyclic-ref.html

        * bindings/v8/ScriptValue.cpp:
        (WebCore::v8ToInspectorValue):

2010-08-05  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Fix rendering of speech button and enable layout tests
        https://bugs.webkit.org/show_bug.cgi?id=43425

        Rewrote the speech button rendering code to match how the spin buttons (for input type=number)
        are implemented as the previous implementation did not work well on many platforms.

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        (WebCore::RenderTextControlSingleLine::hasControlClip):
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::create):
        * rendering/TextControlInnerElements.h:

2010-08-05  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Separated WebInspector extension API injection logic from other scripts that inspector injects.
        Enabled injection of the API scripts even if inspector is disabled for inspector front-end page.
        https://bugs.webkit.org/show_bug.cgi?id=43344

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::setInspectorExtensionAPI):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setExtensionAPI):

2010-08-05  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by George Staikos.

        <noscript> is working the other way around in some cases with xhtmlmp enabled
        https://bugs.webkit.org/show_bug.cgi?id=43469

        Test: fast/xhtmlmp/noscript-basic.xhtml

        * dom/Document.cpp:
        (WebCore::Document::Document):

2010-08-05  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Win compilation.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Clean up the input method handling
        https://bugs.webkit.org/show_bug.cgi?id=43545

        Changed input method hint interface to be more efficient by setting
        all hints in one shot, like in QWidget.

        * platform/qt/QWebPageClient.h:

2010-08-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove mutator methods from ScriptObject and remove ScriptArray.
        We shouldn't modify JS objects from InspectorController, InspectorValues
        should be used instead.
        https://bugs.webkit.org/show_bug.cgi?id=43546

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptArray.cpp: Removed.
        * bindings/js/ScriptArray.h: Removed.
        * bindings/js/ScriptCallStack.h:
        * bindings/js/ScriptObject.cpp:
        * bindings/js/ScriptObject.h:
        * bindings/v8/ScriptArray.cpp: Removed.
        * bindings/v8/ScriptArray.h: Removed.
        * bindings/v8/ScriptCallStack.h:
        * bindings/v8/ScriptObject.cpp:
        * bindings/v8/ScriptObject.h:

2010-08-05  Ned Holbrook  <nholbrook@apple.com>

        Reviewed by Darin Adler.

        ~5% complex layout performance improvement.
        https://bugs.webkit.org/show_bug.cgi?id=43436

        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Use Vector rather than CFMutableData.
        (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText): Ditto.
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Avoid typesetter allocation unless using typesetter options.

2010-08-05  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        targetReferenceFromResource() in SVGResources.cpp is missing an ENABLE(FILTERS) guard
        https://bugs.webkit.org/show_bug.cgi?id=43550

        Also updates an existing ENABLE(FILTERS) guard to avoid a compiler
        warning 'case FilterResourceType not handled in switch' when FILTERS
        is not enabled.

        No new tests, build fix only.

        * rendering/SVGResources.cpp:
        (WebCore::targetReferenceFromResource):
        (WebCore::SVGResources::resourceDestroyed):

2010-08-05  Victoria Kirst  <vrk@google.com>

        Reviewed by David Levin.

        Added logic to use glMapTexSubImage2D to write video layer to GPU
        texture. Also fixes CPU usage problem from previous patch.
        https://bugs.webkit.org/show_bug.cgi?id=43101

        No change in user-visible functionality (since it isn't turned on),
        so no new tests.

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateTextureContents):
        (WebCore::VideoLayerChromium::createTextureRect):
        (WebCore::VideoLayerChromium::updateTextureRect):
        (WebCore::VideoLayerChromium::updateCompleted):
        * platform/graphics/chromium/VideoLayerChromium.h:

2010-08-05  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Simon Hausmann.

        Allow custom memory allocation control for ClipperData struct
        https://bugs.webkit.org/show_bug.cgi?id=43337

        Inherits the following class from FastAllocBase because it is
        instantiated by 'new':                                     

        class name         - instantiated at: WebCore/'location'
        RenderLayerBacking - rendering/RenderSVGResourceClipper.cpp:165

        * rendering/RenderSVGResourceClipper.h:

2010-08-05  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Simon Hausmann.

        Allow custom memory allocation control for DoctypeData class
        https://bugs.webkit.org/show_bug.cgi?id=43343

        Inherits the following class from Noncopyable because it is
        instantiated by 'new' and no need to be copyable:

        class name  - instantiated at: WebCore/'location'
        DoctypeData - html/HTMLToken.h:113

        * html/HTMLToken.h:

2010-08-05  François Sausset  <sausset@gmail.com>

        Reviewed by Darin Adler.

        Small style adjustments for MathML merror element.
        https://bugs.webkit.org/show_bug.cgi?id=43432

        * css/mathml.css:
        (merror):

2010-08-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: forbid InspectorController to create script objects directly in the frontend
        https://bugs.webkit.org/show_bug.cgi?id=43541

        Cookie and AppCache data are now serialized into InspectorValues instead of
        ScriptObjects. These were last usages of InspectorFrontend::newScript{Object,Array}
        so we can remove them now and use only InspectorValues to pass data to the inspector
        frontend.

        * inspector/Inspector.idl:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::getCookies):
        (WebCore::InspectorController::buildArrayForCookies):
        (WebCore::InspectorController::buildObjectForCookie):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::setRecordingProfile):
        * inspector/InspectorFrontend.h:

2010-08-05  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Extra check needed at AccessibilityObject::visiblePositionRangeForRange
        https://bugs.webkit.org/show_bug.cgi?id=43418

        Ensure the renderer is a RenderText before calling toRenderText()

        Also, simplified code a bit to avoid so many nested if's in that
        part of the code, while keeping the same logic.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::visiblePositionRangeForRange):

2010-08-05  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Define htonl, htons, ntohl and ntohs
        https://bugs.webkit.org/show_bug.cgi?id=43397

        In BREWMP, AEEStdLib.h provides macros for byte order conversion: HTONL, HTONS, NTOHL and NTOHS.
        Use these macros to define htonl, htons, ntohl and ntohs used by WOFFFileFormat.cpp.

        * platform/graphics/WOFFFileFormat.cpp:

2010-08-04  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
        https://bugs.webkit.org/show_bug.cgi?id=42244

        Implementing svgAttributeChanged for SVGFESpotLightElement object.
        Furthermore, invalidateFilter has been moved to SVGFilterElement, and
        it is a static function now.

        Tests: svg/dynamic-updates/SVGFESpotLightElement-dom-limitingConeAngle-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtX-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtY-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtZ-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-specularExponent-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-x-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-y-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-dom-z-attr.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-limitingConeAngle-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtX-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtY-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtZ-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-specularExponent-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-x-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-y-prop.html
               svg/dynamic-updates/SVGFESpotLightElement-svgdom-z-prop.html

        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged):
        (WebCore::SVGFELightElement::childrenChanged):
        * svg/SVGFELightElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFilterElement.h:
        (WebCore::SVGFilterElement::invalidateFilter):
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
        * svg/SVGFilterPrimitiveStandardAttributes.h:

2010-08-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: serialize DOM storage items to InspectorValues
        https://bugs.webkit.org/show_bug.cgi?id=43486

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didUseDOMStorage):
        (WebCore::InspectorController::selectDOMStorage):
        (WebCore::InspectorController::getDOMStorageEntries):
        (WebCore::InspectorController::setDOMStorageItem):
        (WebCore::InspectorController::removeDOMStorageItem):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorDOMStorageResource.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:

2010-08-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Enable HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42804

        Months of work into a single line code change.
        Geez.  Should have thought of this sooner.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2010-08-04  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Spin-button behavior improvement for out-of-range values
        https://bugs.webkit.org/show_bug.cgi?id=43463

        If the current value is smaller than the minimum value, the up
        button should change the value to the minimum value. If the
        current value is larger than the maximum value, the down button
        should change the value to the maximum value.

        Test: fast/forms/input-number-outofrange.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer):

2010-08-04  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Daniel Bates.

        Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
        https://bugs.webkit.org/show_bug.cgi?id=43534

        As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
        the non-negative checks present in both paddingWidth and paddingHeight methods of
        HitTestResults class are superflous, after we changed the rect based hit testing logic
        of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.

        No new tests needed.

        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::paddingWidth):
        (WebCore::HitTestResult::paddingHeight):

2010-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r64674.
        http://trac.webkit.org/changeset/64674
        https://bugs.webkit.org/show_bug.cgi?id=43532

        Doesn't work with HTML5 tree builder (Requested by tonyg-cr on
        #webkit).

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        * html/HTMLDocumentParser.h:
        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::requestScript):
        (WebCore::HTMLScriptRunner::runScript):
        * html/HTMLScriptRunner.h:

2010-08-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        fast/parser/residual-style-hang.html hangs
        https://bugs.webkit.org/show_bug.cgi?id=42950

        We need to cap the iteration of the adoption agency algorithm to
        prevent this hang.  The legacy tree builder does this as well.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-08-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Pick up spec change w.r.t. figcaption and summary
        https://bugs.webkit.org/show_bug.cgi?id=43075

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):

2010-08-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Pick up spec change w.r.t. replacement character and <frameset>
        https://bugs.webkit.org/show_bug.cgi?id=43073

        Apparently this fixes parsing for some home router configuration pages.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):

2010-08-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
        (add forwarding headers)

        * ForwardingHeaders/wtf/Bitmap.h: Added.
        * ForwardingHeaders/wtf/PageReservation.h: Added.

2010-08-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Adam Barth.

        getAttachedShaders takes wrong parameter type in WebGLRenderingContext.idl
        https://bugs.webkit.org/show_bug.cgi?id=43517

        * html/canvas/WebGLRenderingContext.idl: Fix the wrong parameter type in getAttachedShaders().

2010-08-04  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Rename CanvasObject to WebGLObject
        https://bugs.webkit.org/show_bug.cgi?id=31564

        Renamed CanvasObject to WebGLObject using do-webcore-rename script.
        Because it seems the new convention is to not check in the changes
        made to this script, only checking in its effects. No new tests;
        built and ran WebGL in Safari and Chromium to test.

        * Android.mk:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * html/canvas/CanvasObject.cpp: Removed.
        * html/canvas/CanvasObject.h: Removed.
        * html/canvas/CanvasRenderingContext.h:
        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::WebGLBuffer):
        * html/canvas/WebGLBuffer.h:
        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
        (WebCore::WebGLFramebuffer::setAttachment):
        (WebCore::WebGLFramebuffer::onAttachedObjectChange):
        (WebCore::WebGLFramebuffer::isUninitialized):
        (WebCore::WebGLFramebuffer::setInitialized):
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLObject.cpp: Copied from WebCore/html/canvas/CanvasObject.cpp.
        (WebCore::WebGLObject::WebGLObject):
        (WebCore::WebGLObject::~WebGLObject):
        (WebCore::WebGLObject::setObject):
        (WebCore::WebGLObject::deleteObject):
        * html/canvas/WebGLObject.h: Copied from WebCore/html/canvas/CanvasObject.h.
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::WebGLProgram):
        * html/canvas/WebGLProgram.h:
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
        * html/canvas/WebGLRenderbuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::objectOrZero):
        (WebCore::WebGLRenderingContext::validateWebGLObject):
        (WebCore::WebGLRenderingContext::removeObject):
        (WebCore::WebGLRenderingContext::addObject):
        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
        (WebCore::WebGLRenderingContext::findTexture):
        (WebCore::WebGLRenderingContext::findRenderbuffer):
        (WebCore::WebGLRenderingContext::findBuffer):
        (WebCore::WebGLRenderingContext::findShader):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLShader.cpp:
        (WebCore::WebGLShader::WebGLShader):
        * html/canvas/WebGLShader.h:
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::WebGLTexture):
        * html/canvas/WebGLTexture.h:
        * html/canvas/WebGLUniformLocation.h:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

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

        Build fix.

        * platform/text/mac/HyphenationMac.mm:
        (WebCore::lastHyphenLocation):

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

        Release build fix.

        * platform/text/mac/HyphenationMac.mm:
        (WebCore::lastHyphenLocation):

2010-08-04  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Don't leak FontDescription objects inside MathML.

        * mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::updateFromElement): Don't unnecessarily allocate the FontDescription on the heap.
        (WebCore::RenderMathMLOperator::createStackableStyle): Ditto.

2010-08-04  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Add ANGLE dependency for Chromium WebCore build
        https://bugs.webkit.org/show_bug.cgi?id=43508

        No new tests. Built modified version of patch from bug 42405 in
        Chromium to test.

        * WebCore.gyp/WebCore.gyp:

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

        Allow the language for hyphenation to be specified
        https://bugs.webkit.org/show_bug.cgi?id=43467

        Test: fast/text/hyphenate-locale.html

        Added a -webkit-hyphenate-locale property whose value can be either auto or a locale identifier
        string. The initial value is auto and the property is inherited. When the value is a locale
        identifier, hyphenation should follow the rules for the specified locale.

        * WebCore.xcodeproj/project.pbxproj: Added AtomicStringKeyedMRUCache.h.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle -webkit-hyphenate-locale.
        Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-locale.
        * css/CSSPropertyNames.in: Added -webkit-hyphenate-locale.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Apply the -webkit-hyphenate-locale property to the
        RenderStyle. Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
        * platform/text/AtomicStringKeyedMRUCache.h: Added.
        (WebCore::AtomicStringKeyedMRUCache::get):
        * platform/text/Hyphenation.cpp:
        (WebCore::canHyphenate): Added an implementation that returns false.
        (WebCore::lastHyphenLocation): Now asserts that it is not called, because it is an error to call
        this function if canHyphenate() returned false.
        * platform/text/Hyphenation.h:
        Added canHyphenate(). Returns true if hyphenation is possible for the given locale identifier.
        * platform/text/android/HyphenationAndroid.cpp:
        (WebCore::canHyphenate): Added an implementation that returns true and a FIXME.
        (WebCore::lastHyphenLocation): Added unused localeIdentifier parameter.
        * platform/text/cf/HyphenationCF.cpp:
        (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey): Returns
        the CFLocaleRef for the current search locale.
        (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey): Returns a
        CFLocaleRef for the locale identifier.
        (WebCore::canHyphenate): Added. Returns true.
        (WebCore::lastHyphenLocation): Added localeIdentifier parameter, used to pass a CFLocaleRef to
        the hyphenation function.
        * platform/text/mac/HyphenationMac.mm:
        (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForNullKey): Returns whether the current
        search locale is english.
        (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForKey): Returns whether the locale identifier
        string identifies locale with the English language.
        (WebCore::canHyphenate): Added. Returns true if the locale language is English.
        (WebCore::lastHyphenLocation): Added localeIdentifier parameter and an assertion that its language
        is English.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::tryHyphenating): Added a locale identifier parameter, which is passed down to
        lastHyphenLocation(). Added 1 to the value passed for the beforeIndex parameter to lastHyphenLocation(),
        because the latter only returns values smaller than that index. The Mac implementation could
        return a value equal to beforeIndex, but that is fixed in the WebKitSystemInterface part of this patch.
        (WebCore::RenderBlock::findNextLineBreak): Only set canHyphenate to true if hyphenation is possible
        for the specified hyphenation locale. Pass the hyphenation locale to tryHyphenating().
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Compare hyphenation locales.
        (WebCore::RenderStyle::hyphenString): Updated for the renaming of hyphenateCharacter() to
        hyphenationString().
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hyphenationString): Renamed hyphenateCharacter() to this.
        (WebCore::InheritedFlags::hyphenationLocale): Added this accessor.
        (WebCore::InheritedFlags::setHyphenationString): Renamed setHyphenateCharacter() to this.
        (WebCore::InheritedFlags::setHyphenationLocale): Added this accessor.
        (WebCore::InheritedFlags::initialHyphenationString): Renamed initialHyphenateCharacter() to this.
        (WebCore::InheritedFlags::initialHyphenateLocale): Added. Returns the null atom, which represents a
        value of auto.
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Copy the hyphenation locale. Updated for
        rename.
        (WebCore::StyleRareInheritedData::operator==): Compare the hyphenation locales. Updated for rename.
        * rendering/style/StyleRareInheritedData.h:

2010-08-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Support <script defer> as specified by HTML5
        https://bugs.webkit.org/show_bug.cgi?id=40934

        See: http://dev.w3.org/html5/spec/Overview.html#the-end

        Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
               fast/dom/HTMLScriptElement/defer-double-write.html
               fast/dom/HTMLScriptElement/defer-inline-script.html
               fast/dom/HTMLScriptElement/defer-onbeforeload.html
               fast/dom/HTMLScriptElement/defer-script-invalid-url.html
               http/tests/misc/script-defer-after-slow-stylesheet.html
               http/tests/misc/script-defer-write-slow-stylesheet.html
               http/tests/misc/script-defer.html

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::executeScriptsWaitingForParsingAndEnd):
        * html/HTMLDocumentParser.h:
        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
        (WebCore::HTMLScriptRunner::requestScript):
        (WebCore::HTMLScriptRunner::requestParsingBlockingScript):
        (WebCore::HTMLScriptRunner::requestDeferredScript):
        (WebCore::HTMLScriptRunner::runScript):
        * html/HTMLScriptRunner.h:
        (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
        (WebCore::HTMLScriptRunner::PendingScript::operator=):

2010-08-04  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix for gcc not importing all symbols from convenience libraries.
        Works on 10.6 only for Mac until the build system is reworked.

        * bindings/scripts/CodeGeneratorCPP.pm: Add conditionals in impl. to header as well.
        * wscript: 

2010-08-04  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix. Enclose PlatformStrategy methods in USE(PLATFORM_STRATEGIES).
        
        * platform/LocalizedStrings.cpp:

2010-08-04  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Remove unnecessary calls to setStyle() in MathML code that made RenderLayer crash.
        https://bugs.webkit.org/show_bug.cgi?id=42894

        Test: mathml/presentation/style.xhtml

        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::createRenderer):
        * mathml/MathMLMathElement.cpp:
        (WebCore::MathMLMathElement::createRenderer):
        * mathml/MathMLTextElement.cpp:
        (WebCore::MathMLTextElement::createRenderer):

2010-08-03  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
        https://bugs.webkit.org/show_bug.cgi?id=43221

        Added a helper function to extract the contents of WebGL objects
        to reduce duplicated code and fix a couple of potential crashes
        introduced in the previous refactoring.

        No new tests; ran existing WebGL tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::attachShader):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::bindBuffer):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::bindRenderbuffer):
        (WebCore::WebGLRenderingContext::bindTexture):
        (WebCore::WebGLRenderingContext::compileShader):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::getActiveAttrib):
        (WebCore::WebGLRenderingContext::getActiveUniform):
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderSource):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::useProgram):
        (WebCore::WebGLRenderingContext::validateProgram):
        (WebCore::WebGLRenderingContext::handleNPOTTextures):
        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):

2010-08-04  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Jeremy Orlow.

        [Gtk] Make sure DRT return the right AXTitle for controls
        https://bugs.webkit.org/show_bug.cgi?id=39997

        Fallback to the text under the given element as its name in case
        it's a control element and has no associated label for it.

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

2010-08-02  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Port Chromium's accelerated compositing to Mac OS X
        https://bugs.webkit.org/show_bug.cgi?id=43398

        No new tests. Tested manually with CSS 3D and WebGL tests.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::clearBorderColor):
        (WebCore::clearLayerBackgroundColor):
         - Fixed compilation problems with gcc.
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateTextureContents):
         - Added Core Graphics port.
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
         - Fixed compilation problems with gcc related to initialization
           order of members.
        (WebCore::LayerChromium::updateTextureContents):
        (WebCore::LayerChromium::updateTextureRect):
         - Ported to Core Graphics, adjusting for lower-left coordinate
           system origin.
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
         - Fixed compilation problems with gcc related to initialization
           order of members.
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
         - Ported to Core Graphics.
        (WebCore::LayerRendererChromium::drawLayers):
         - Added more debug-only error calls during drawing phase.
           Adjusted scrolling and incremental updating code for Core
           Graphics' lower-left coordinate system origin.
        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
         - Removed color channel swizzling in Core Graphics port. Fixed
           preexisting bug in initialization check of m_rootLayerTextureId.
        * platform/graphics/chromium/LayerRendererChromium.h:
         - Added needed data members for Core Graphics port.

2010-08-04  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use InspectorValue to push dispatch results from the injected script
        https://bugs.webkit.org/show_bug.cgi?id=43483

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::dispatch):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
        (WebCore::InjectedScriptHost::remoteFrontend):
        * inspector/InjectedScriptHost.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didContinue):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:

2010-08-04  Abhishek Arya  <inferno@chromium.org>

        Unreviewed. Put missing equivalent js bindings check.

        Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash.

        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):

2010-08-04  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: serialize database resources to InspectorValues
        https://bugs.webkit.org/show_bug.cgi?id=43482

        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getDatabaseTableNames):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::selectDatabase):
        (WebCore::InspectorController::didOpenDatabase):
        * inspector/InspectorController.h:
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::create):
        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorDatabaseResource.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):

2010-08-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Null the script execution context when disconnecting frame in notifications.
        Make sure that script execution context is valid in notification requestPermission.
        https://bugs.webkit.org/show_bug.cgi?id=43295

        Tests: fast/notifications/notifications-document-close-crash.html

        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::disconnectFrame):

2010-08-03  Adam Roben  <aroben@apple.com>

        Turn on PLATFORM_STRATEGIES on Windows

        Fixes <http://webkit.org/b/43431>.

        Reviewed by Anders Carlsson.

        * WebCore.vcproj/WebCore.vcproj: Added LocalizedStrings.cpp,
        PlatformStrategies.h, LocalizationStrategy.h, PluginStrategy.h, and
        VisitedLinkStrategy.h. Removed PluginDataWin.cpp

        * platform/LocalizedStrings.cpp: Wrapped Mac-only functions in
        PLATFORM(MAC) guards.

        (WebCore::uploadFileText):
        (WebCore::allFilesText):
        Added these Windows-only functions.

        * plugins/win/PluginDataWin.cpp: Removed.

2010-08-04  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: serialize CPU profiles to InspectorValues instead of
        using JS wrappers.
        https://bugs.webkit.org/show_bug.cgi?id=43475

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptProfile.h:
        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::stop):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/v8/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        (WebCore::ScriptProfile::buildInspectorObjectForHead):
        * bindings/v8/ScriptProfile.h:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addProfile):
        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
        (WebCore::InspectorController::getProfileHeaders):
        (WebCore::InspectorController::getProfile):
        (WebCore::InspectorController::createProfileHeader):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:

2010-08-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Use a QImage for the stroke applier scratch context

        This avoids leaking a server-side resource on some graphics systems.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::scratchContext):

2010-08-03  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        HTML5 parser may cause onload not to fire
        https://bugs.webkit.org/show_bug.cgi?id=43423

        If a complex page causes the HTML parser to yield,
        then when parsing continues again and eventually
        finishes, we are missing a call to endIfDelayed(). This
        results in onload never being called.

        Not for lack of trying, but it seems almost
        impossible to write a reliable test for this bug,
        due to the highly timing-dependent nature of the
        bug. The link above contains further discussion and
        attempts at writing a test.
        
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
        Add a call to endIfDelayed() after pumping the tokenizer
        post the parser yielding to ensure that the parsing step
        is completed properly and the onload event fires.

2010-08-04  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-03  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        System color changes are not applied properly
        https://bugs.webkit.org/show_bug.cgi?id=43468

        * manual-tests/system-color-change.html: Added.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::platformColorsDidChange): Added a call to
        Page::setNeedsReapplyStyles, so all frames of all pages will recompute
        in case they use system colors. It's rare for these colors to change,
        so OK to do a little extra style computation.

2010-08-04  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Revert changed license in SVGFEOffsetElement.h, thanks Gabor for noticing.

        * svg/SVGFEOffsetElement.h:

2010-08-03  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=42939
        WebEditorClient::didBeginEditing is never called in WebKit2

        * page/FocusController.cpp: (WebCore::FocusController::setFocused): Focusing a page without
        a focused frame makes little sense, so WebKit used to focus a frame first when its view
        became first responder. For viewless frames, WebKit cannot know what to focus. The assumption
        here is that in all cases with null m_focusedFrame, it's the main frame that needs to be focused.

2010-08-03  Gavin Barraclough  <barraclough@apple.com>

        Build fix following r64624.

        * ForwardingHeaders/wtf/BitMap.h: Added.

2010-08-03  Kent Tamura  <tkent@chromium.org>

        Reviewed by Ojan Vafai.

        <input type=number> UI: Support wheel events
        https://bugs.webkit.org/show_bug.cgi?id=42441

        Test: fast/forms/input-number-wheel.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
         Call stepUpFromRenderer() for wheelDeltaY.

2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
        https://bugs.webkit.org/show_bug.cgi?id=40627

        Part 6 - LayoutTest and Cleanup

        Test: http/tests/appcache/origin-quota.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback): made synchronous, as asynchronously the cache group was deleted too soon.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): all storing operations should force the database to be created if needed.

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

        Reviewed by Eric Seidel.

        extractAndNegateTextDecorationStyle and maxRangeOffset in ApplyStyleCommand.cpp should be deleted
        https://bugs.webkit.org/show_bug.cgi?id=43437

        Removed extractAndNegateTextDecorationStyle because we never push down text decorations added by CSS rules
        as discussed on the bug 27809. Also removed pushDownTextDecorationStyleAtBoundaries because it only existed
        to encapsulate the complexity of calling pushDownTextDecorationStyleAroundNode first with forceNegate = false
        (calling pushDownTextDecorationStyleAroundNode) and again with forceNegate = true (calling extractAndNegateTextDecorationStyle)
        after updating layout but neither the layout update nor the second call to pushDownTextDecorationStyleAroundNode
        is needed after the removal of extractAndNegateTextDecorationStyle.

        Also replaced maxRangeOffset by lastOffsetForEditing as FIXME (added by r48235) indicated.

        No new tests added since this is a clean up.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): No longer takes forceNegate as an argument.
        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode directly.
        * editing/ApplyStyleCommand.h:

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

        Reviewed by Ojan Vafai.

        Extract a function that serializes nodes from the range version of createMarkup
        https://bugs.webkit.org/show_bug.cgi?id=43405

        Extracted serializeNodes that serializes nodes from createMarkup.
        No new tests added since this is a clean up.

        * editing/markup.cpp:
        (WebCore::serializeNodes): Added.
        (WebCore::createMarkup): Calls serializeNodes.

2010-08-03  Brian Weinstein  <bweinstein@apple.com>

        Fix the build by adding the needed MathML source files to WebCore's vcproj.
        Also, Visual Studio did some drive-by resorting of the vcproj, the added
        MathML files are the only important change.

        * WebCore.vcproj/WebCore.vcproj:

2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Nate Chapin.

        Web Inspector: Missing ApplicationCache InspectorBackend Stub
        https://bugs.webkit.org/show_bug.cgi?id=43265

        Registered "getApplicationCaches".

        * inspector/front-end/InspectorBackendStub.js:
        (WebInspector.InspectorBackendStub): 

2010-08-03  Brian Weinstein  <bweinstein@apple.com>

        Fix the Windows build by adding WebCore/mathml to the list of paths to look for header
        files.

        * WebCore.vcproj/WebCoreCommon.vsprops:

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

        Fix the i386 build with a static_cast hammer.

        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::layout):

2010-08-03  Beth Dakin  <bdakin@apple.com>

        Speculative build fix for Leopard.

        * mathml/RenderMathMLOperator.cpp:
        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        (WebCore::RenderMathMLRoot::layout):
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):
        * mathml/RenderMathMLSubSup.cpp:

2010-08-03  Beth Dakin  <bdakin@apple.com>

        Speculative build fix.

        * css/mathml.css:
        (mi):
        (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
        (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
        (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):

2010-08-03  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=43444
        PLATFORM(CF) is false on Windows in JavaScriptCore

        Moved some PLATFORM(WIN) #defines down into JavaScriptCore.

        * config.h: Moved WTF_PLATFORM_CF 1 and WTF_USE_PTHREADS 0 to wtf/Platform.h.
        Removed #undef WTF_USE_WININET because wtf/Platform.h no longer #defines it.

2010-08-03  Alex Milowski  <alex@milowski.com>

        Reviewed by Beth Dakin.

        Changed the ENABLE_MATHML value to enable MathML by default.

        * Configurations/FeatureDefines.xcconfig:

2010-07-30  Stephen White  <senorblanco@chromium.org>

        Reviewed by Ojan Vafai.

        Move PlatformContextSkia and NativeImageSkia into the WebCore namespace.
        https://bugs.webkit.org/show_bug.cgi?id=43272

        One wrinkle is that PlatformContext and NativeImagePtr are 
        typedef'ed outside outside the WebCore namespace block, so the
        PlatformContextSkia and NativeImageSkia have to be forward-declared 
        explicitly within that namespace.  Another solution might be to move
        those declarations into the WebCore namespace block below, but that
        would affect platforms other than Skia, so I leave it to the reviewer
        to decide.

        Test:  if it compiles, you're happy.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/Image.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::hasResizedBitmap):
        (WebCore::NativeImageSkia::shouldCacheResampling):
        * platform/graphics/skia/NativeImageSkia.h:
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
        (WebCore::PlatformContextSkia::drawRect):
        (WebCore::PlatformContextSkia::setupPaintForStroking):
        (WebCore::PlatformContextSkia::getStrokeStyle):
        (WebCore::PlatformContextSkia::setStrokeStyle):
        (WebCore::PlatformContextSkia::setTextDrawingMode):
        (WebCore::PlatformContextSkia::interpolationQuality):
        (WebCore::PlatformContextSkia::setInterpolationQuality):
        (WebCore::PlatformContextSkia::getImageResamplingHint):
        (WebCore::PlatformContextSkia::setImageResamplingHint):
        (WebCore::PlatformContextSkia::clearImageResamplingHint):
        (WebCore::PlatformContextSkia::applyClipFromImage):
        (WebCore::PlatformContextSkia::setGLES2Context):
        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
        (WebCore::PlatformContextSkia::prepareForHardwareDraw):
        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::gpuCanvas):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        (WebCore::paintSkiaText):
        * platform/graphics/skia/SkiaFontWin.h:

2010-08-03  Adam Roben  <aroben@apple.com>

        Rename LocalizedStringsMac.mm to LocalizedStrings.cpp

        LocalizedStringsMac.mm should be usable by other ports
        https://bugs.webkit.org/show_bug.cgi?id=43441

        Reviewed by Anders Carlsson.

        * WebCore.xcodeproj/project.pbxproj: Updated the file's name and path.

        * platform/LocalizedStrings.cpp: Renamed from
        WebCore/platform/mac/LocalizedStringsMac.mm. Changed #imports to
        #includes.

2010-08-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
        https://bugs.webkit.org/show_bug.cgi?id=43221

        Changes the GraphicsContext3D API to use Platform3DObjects instead of WebGLFoo* types like WebGLTexture.
        WebGLRenderingContext still uses WebGLFoo types and converts to Platform3DObjects internally.  Other
        consumers of the GraphicsContext3D can use the Platform3DObject APIs directly without any ties to WebGL.

        The majority of this change is purely mechanical.  The less obvious changes are:
        - move all null checking on WebGLFoo types to WebGLRenderingContext, instead of mixing them
          between WebGLRenderingContext and the various port-specific implementations of GraphicsContext3D
        - add a GraphicsContext3D getter to CanvasRenderingContext.  This is needed for the readback
          path on Chromium/mac.  It may be possible to remove this, but I would prefer to do that
          in a follow-up patch to minimize churn.
        - move some texture cube map logic that existed only in the Chromium port of GC3D to
          WebGLRenderingContext behind #if PLATFORM(CHROMIUM). I think this logic should either
          exist for all ports or exist for none, but again I would rather change the behavior
          in a different patch from this one.

        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::graphicsContext3D):
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::cacheActiveAttribLocations):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::attachShader):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::bindBuffer):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::bindRenderbuffer):
        (WebCore::WebGLRenderingContext::bindTexture):
        (WebCore::WebGLRenderingContext::compileShader):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::getActiveAttrib):
        (WebCore::WebGLRenderingContext::getActiveUniform):
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderSource):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::isBuffer):
        (WebCore::WebGLRenderingContext::isFramebuffer):
        (WebCore::WebGLRenderingContext::isProgram):
        (WebCore::WebGLRenderingContext::isRenderbuffer):
        (WebCore::WebGLRenderingContext::isShader):
        (WebCore::WebGLRenderingContext::isTexture):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::useProgram):
        (WebCore::WebGLRenderingContext::validateProgram):
        (WebCore::WebGLRenderingContext::handleNPOTTextures):
        (WebCore::WebGLRenderingContext::createFallbackBlackTextures1x1):
        (WebCore::WebGLRenderingContext::initVertexAttrib0):
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::graphicsContext3D):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::beginPaint):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::beginPaint):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):

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

        Reviewed by Gustavo Noronha.

        [GTK] Fix DOM event dispatch
        https://bugs.webkit.org/show_bug.cgi?id=40847

        Bind UI and Mouse events and add ad-hoc kit method for WebCore
        Events.

        * GNUmakefile.am:
        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::kit):
        * bindings/gobject/WebKitDOMBinding.h:
        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (WebKit::core):
        * bindings/gobject/WebKitDOMEventTargetPrivate.h: Added.
        * bindings/scripts/CodeGeneratorGObject.pm:

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

        Reviewed by Eric Seidel.

        Cleanup all of svg/ code
        https://bugs.webkit.org/show_bug.cgi?id=43311

        Unify the license header in all files in svg/, to use the same template as most WebCore files use.
        Unified email adress style, etc. all generated with a perl script attached to bug 43311.

        * svg/...: Updated header template in all files, in the svg/ subdirectory.

2010-08-03  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
        https://bugs.webkit.org/show_bug.cgi?id=43420

        Renaming IDBObjectStoreRequest to IDBObjectStore.

        No new tests needed, just refactoring.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbObjectStore):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::objectStore):
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::objectStore):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBObjectStore.cpp: Added.
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::name):
        (WebCore::IDBObjectStore::keyPath):
        (WebCore::IDBObjectStore::indexNames):
        (WebCore::IDBObjectStore::get):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::remove):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::create):
        (WebCore::IDBObjectStore::~IDBObjectStore):
        * storage/IDBObjectStore.idl: Added.
        * storage/IDBObjectStoreBackendImpl.cpp: Added.
        (WebCore::IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
        (WebCore::IDBObjectStoreBackendImpl::indexNames):
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::remove):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::index):
        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
        * storage/IDBObjectStoreBackendImpl.h: Added.
        (WebCore::IDBObjectStoreBackendImpl::create):
        (WebCore::IDBObjectStoreBackendImpl::name):
        (WebCore::IDBObjectStoreBackendImpl::keyPath):
        * storage/IDBObjectStoreBackendInterface.h: Added.
        (WebCore::IDBObjectStoreBackendInterface::~IDBObjectStoreBackendInterface):
        * storage/IDBObjectStoreImpl.cpp: Removed.
        * storage/IDBObjectStoreImpl.h: Removed.
        * storage/IDBObjectStoreRequest.cpp: Removed.
        * storage/IDBObjectStoreRequest.h: Removed.
        * storage/IDBObjectStoreRequest.idl: Removed.
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:

2010-08-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Ojan Vafai.

        [GTK] Incorrect keyIdentifier for print screen key events
        https://bugs.webkit.org/show_bug.cgi?id=43422

        Produce the correct keyIdentifier for GDK_Print (print screen).

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):

2010-08-03  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        [v8] Get current memory usage and make it available on stack before crashing due to out of memory
        https://bugs.webkit.org/show_bug.cgi?id=43426

        That should allow us to diagnose the cases when the process just ran out of memory
        and hence V8 failed to allocate more OS pages.

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::reportFatalErrorInV8):

2010-08-03  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Implement HTML5 slider theme (using the scrollbar theme as base).
        https://bugs.webkit.org/show_bug.cgi?id=43430

        EFL port does not yet support automated tests.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):
        (WebCore::RenderThemeEfl::edjeGroupFromFormType): Add Edje groups
        for both vertical and horizontal sliders.
        (WebCore::supportsFocus): Add sliders as focusable elements.
        (WebCore::RenderThemeEfl::paintSliderTrack): Implement.
        (WebCore::RenderThemeEfl::adjustSliderTrackStyle): Implement.
        (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Use
        adjustSliderTrackStyle() implementation.
        (WebCore::RenderThemeEfl::paintSliderThumb): Use paintSliderTrack()
        implementation().
        * platform/efl/RenderThemeEfl.h: Add SliderVertical and
        * SliderHorizontal.
        (WebCore::): Added prototypes for adjustSlider*/paintSlider*.

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

        Reviewed by Joseph Pecoraro.

        Web Inspector: incorrect absolute protocol-less URLs in tooltips of links in the ElementsTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=43246

        * inspector/front-end/inspector.js:
        (WebInspector.completeURL):

2010-08-03  Adam Roben  <aroben@apple.com>

        Compile out two Mac-only localized strings on non-Mac platforms

        Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
        AXARIAContentGroupText should only be compiled on Mac

        Reviewed by Anders Carlsson.

        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.h:
        Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
        PLATFORM(MAC).

2010-08-03  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, don't build some DOM bindings we don't use.

        * wscript:

2010-08-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Remove a memory leak from CusorGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43424

        * platform/gtk/CursorGtk.cpp:
        (WebCore::createNamedCursor):
        (WebCore::createCustomCursor):
        (WebCore::Cursor::ensurePlatformCursor):
        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):

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

        Not reviewed: speculative chromium tests fix.

        * inspector/front-end/ExtensionServer.js:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2010-08-03  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Antonio Gomes.

        Fix warning in WebCore/rendering/RenderBoxModelObject.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43412

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon): Remove useless assignment.

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

        Reviewed by Gustavo Noronha.

        Make string parameters be 'const char*' instead of just 'char*'.

        * bindings/scripts/CodeGeneratorGObject.pm:

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

        Reviewed by Gustavo Noronha.

        Get rid of extra spaces in the type strings.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-08-03  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Adam Roben.

        Fix warning in WebCore/plugins/win/PluginMessageThrottlerWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43413

        * plugins/win/PluginMessageThrottlerWin.cpp:
        (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Modify initialization order.

2010-08-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use InspectorValue to push resource data to the frontend
        https://bugs.webkit.org/show_bug.cgi?id=43414

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disconnectFrontend): destroy remote frontend object along with the old inspector frontend
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
        (WebCore::InspectorController::mainResourceFiredLoadEvent):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorResource.cpp:
        (WebCore::buildHeadersObject):
        (WebCore::buildObjectForTiming):
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorResource.h:
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):

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

        Unreviewed, rolling out r64539.
        http://trac.webkit.org/changeset/64539
        https://bugs.webkit.org/show_bug.cgi?id=43409

        Accidently changed licenses in some files (Requested by
        WildFox on #webkit).

        * svg/...:
    
2010-08-03  Andrei Popescu  <andreip@google.com>

        Unreviewed, build fix.

        [IndexedDB] Chromium build is broken due to typo in WebCore.gypi:3501
        https://bugs.webkit.org/show_bug.cgi?id=43408

        Add missing ' in WebCore.gypi:3501.

        * WebCore.gypi:

2010-07-30  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>

        Reviewed by Jeremy Orlow.

        Rename IDBDatabaseRequest to IDBDatabase
        https://bugs.webkit.org/show_bug.cgi?id=43250

        No new tests, just refactoring.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCore.vcproj~: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * WebCore.xcodeproj/project.pbxproj~: Added.
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbDatabase):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.cpp: Added.
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::~IDBDatabase):
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::objectStore):
        (WebCore::IDBDatabase::removeObjectStore):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::create):
        (WebCore::IDBDatabase::name):
        (WebCore::IDBDatabase::description):
        (WebCore::IDBDatabase::version):
        (WebCore::IDBDatabase::objectStores):
        * storage/IDBDatabase.idl: Added.
        * storage/IDBDatabaseBackendImpl.cpp: Added.
        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
        (WebCore::IDBDatabaseBackendImpl::objectStores):
        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
        (WebCore::IDBDatabaseBackendImpl::objectStore):
        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
        * storage/IDBDatabaseBackendImpl.h: Added.
        (WebCore::IDBDatabaseBackendImpl::create):
        (WebCore::IDBDatabaseBackendImpl::name):
        (WebCore::IDBDatabaseBackendImpl::description):
        (WebCore::IDBDatabaseBackendImpl::version):
        * storage/IDBDatabaseBackendInterface.h: Added.
        (WebCore::IDBDatabaseBackendInterface::~IDBDatabaseBackendInterface):
        * storage/IDBDatabaseImpl.cpp: Removed.
        * storage/IDBDatabaseImpl.h: Removed.
        * storage/IDBDatabaseRequest.cpp: Removed.
        * storage/IDBDatabaseRequest.h: Removed.
        * storage/IDBDatabaseRequest.idl: Removed.
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:

2010-08-03  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Initiate speech input requests on click event
        https://bugs.webkit.org/show_bug.cgi?id=43352

        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2010-08-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: debugger code should serialize call frames to InspectorObjects instead of SerializedScriptValues.
        https://bugs.webkit.org/show_bug.cgi?id=43339

        No new tests. Refactoring.

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFrames):
        * inspector/InjectedScript.h:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::editScriptSource):
        (WebCore::InspectorController::getScriptSource):
        (WebCore::InspectorController::currentCallFrames):
        (WebCore::InspectorController::didPause):
        * inspector/InspectorController.h:
        * inspector/front-end/InspectorBackendStub.js:
        (WebInspector.InspectorBackendStub):

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

        Reviewed by Dirk Schulze.

        Cleanup all of svg/ code
        https://bugs.webkit.org/show_bug.cgi?id=43311

        Unify the license header in all files in svg/, to use the same template as most WebCore files use.
        Unified email adress style, etc. all generated with a perl script attached to bug 43311.i

        * svg/...: Updated header template in all files, in the svg/ subdirectory.

2010-08-03  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Turn all callbacks into ActiveDOMObjects and create callbacks in the correct context.
        https://bugs.webkit.org/show_bug.cgi?id=40112

        Test: http/tests/storage/callbacks-are-called-in-correct-context.html

        * CMakeLists.txt: Added new files.
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        * bindings/generic/ActiveDOMCallback.cpp: Added. The base class
        for all callbacks, that behaves like an ActiveDOMObject.
        (WebCore::DestroyOnContextThreadTask::create):
        (WebCore::DestroyOnContextThreadTask::performTask):
        (WebCore::DestroyOnContextThreadTask::DestroyOnContextThreadTask):
        (WebCore::ActiveDOMObjectCallbackImpl::ActiveDOMObjectCallbackImpl):
        (WebCore::ActiveDOMObjectCallbackImpl::contextDestroyed):
        (WebCore::ActiveDOMObjectCallbackImpl::canSuspend):
        (WebCore::ActiveDOMObjectCallbackImpl::suspend):
        (WebCore::ActiveDOMObjectCallbackImpl::resume):
        (WebCore::ActiveDOMObjectCallbackImpl::stop):
        (WebCore::ActiveDOMObjectCallbackImpl::canInvokeCallback):
        (WebCore::ActiveDOMObjectCallbackImpl::scriptExecutionContext):
        (WebCore::ActiveDOMObjectCallbackImpl::mutex):
        (WebCore::destroyOnContextThread):
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
        (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
        (WebCore::ActiveDOMCallback::canInvokeCallback):
        (WebCore::ActiveDOMCallback::scriptExecutionContext):
        * bindings/generic/ActiveDOMCallback.h: Added.

        * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Pass the
        right ScriptExecutionContext to the JSC callbacks.
        (WebCore::JSSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):

        * bindings/scripts/CodeGeneratorJS.pm: Make all callbacks inherit
        from ActiveDOMCallback, and make them use the right
        ScriptExecutionContext.
        * bindings/scripts/CodeGeneratorV8.pm:

        * bindings/scripts/test/JS/JSTestCallback.cpp: Update the
        expectations for the code generated by CodeGenerator{JS|V8}.pm.
        (WebCore::JSTestCallback::JSTestCallback):
        (WebCore::JSTestCallback::~JSTestCallback):
        (WebCore::JSTestCallback::callbackWithClass1Param):
        (WebCore::JSTestCallback::callbackWithClass2Param):
        * bindings/scripts/test/JS/JSTestCallback.h:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::V8TestCallback):
        (WebCore::V8TestCallback::callbackWithClass1Param):
        (WebCore::V8TestCallback::callbackWithClass2Param):
        * bindings/scripts/test/V8/V8TestCallback.h:
        (WebCore::V8TestCallback::create):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):

        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Pass
        the right ScriptExecutionContext to the V8 callbacks.
        (WebCore::V8SQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):

        * dom/ActiveDOMObject.cpp: Simplify the code.
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):

        * storage/Database.cpp: CallbackClass::handleEvent() doesn't take
        a ScriptExecutionContext anymore.
        (WebCore::DatabaseCreationCallbackTask::performTask):
        * storage/DatabaseCallback.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        * storage/EntryCallback.h:
        * storage/ErrorCallback.h:
        * storage/FileSystemCallback.h:
        * storage/MetadataCallback.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::performCallback):
        * storage/SQLStatementCallback.h:
        * storage/SQLStatementErrorCallback.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
        * storage/SQLTransactionCallback.h:
        * storage/SQLTransactionErrorCallback.h:
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::execute):
        * storage/SQLTransactionSyncCallback.h:

2010-08-02  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: Trivial InspectorBackend functions were removed.
        And now it is   bit simpler to change Inspector API because we have
        less number of abstraction layers.
        https://bugs.webkit.org/show_bug.cgi?id=43402

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::clearConsoleMessages):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        (WebCore::InspectorBackend::inspectorFrontend):
        (WebCore::InspectorBackend::remoteFrontend):
        * inspector/InspectorBackend.h:
        (WebCore::InspectorBackend::inspectorDOMAgent):
        (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
        * inspector/InspectorController.h:

2010-08-03  Alexey Proskuryakov  <ap@apple.com>

        Unreviewed (emergency test fix).

        REGRESSION (r64518): Most regression tests fail on ASSERT(shouldTrackVisitedLinks)
        on Snow Leopard.

        Platforms that use strategies now use a different code path than others, and that code path
        lacks necessary checks. We don't have a Snow Leopard debug buildbot.

        * page/PageGroup.cpp: (WebCore::PageGroup::addVisitedLinkHash): The private version of
        addVisitedLink() must not be called when we're not tracking visited links.

2010-08-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium DevTools: Get rid of DevTools RPC.

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

        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::getProfilerLogLines):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::getProfilerLogLines):
        * bindings/v8/ScriptProfiler.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::takeHeapSnapshot):
        (WebCore::InspectorBackend::getProfilerLogLines):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disableProfiler):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        (WebInspector.InspectorBackendStub):

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

        Rubber-stamped by Sam Weinig.

        Removed temporary build rule introduced in r62594.

        * DerivedSources.make:

2010-08-02  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolling out r64525 for breaking chromium tests.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieve):

2010-08-02  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, add stubs for FontCustomPlatformData to compile code that uses them.

        * css/CSSFontFaceSource.cpp:
        * platform/graphics/wx/FontCustomPlatformData.cpp: Added.
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):
        (WebCore::FontCustomPlatformData::supportsFormat):
        * platform/graphics/wx/FontCustomPlatformData.h: Added.
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        * wscript:

2010-08-02  Brady Eidson  <beidson@apple.com>

        Reviewed by NOBODY (Build fix, forgot to svn add this file)

        * platform/VisitedLinkStrategy.h: Added.
        (WebCore::VisitedLinkStrategy::~VisitedLinkStrategy):

2010-08-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] WebKit2 requires lazy cursor support
        https://bugs.webkit.org/show_bug.cgi?id=43053

        Add lazy cursor support for GTK+. Lazy cursor support is used on some
        WebKit2 ports to support changing the cursor.

        No new tests, as this should not change functionality.

        * platform/Cursor.h: Changed the m_platformCursor member to be a GRefPtr.
        This simplifies the logic a great deal.
        * platform/gtk/CursorGtk.cpp:
        (WebCore::createNamedCursor): Added, adapted from existing code.
        (WebCore::createCustomCursor): Added, adapted from existing code.
        (WebCore::Cursor::ensurePlatformCursor): Added.
        (WebCore::Cursor::Cursor): Added.
        (WebCore::Cursor::operator=): Added.
        (WebCore::Cursor::~Cursor): Added.
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::setCursor): Call platformCusor now to get the actual GdkCursor.

2010-08-02  Rajiv Makhijani  <rajivmakhijani@chromium.org>

        Reviewed by Adam Barth. 

        Committed by Dirk Pranke.

        Bug 38705 - [v8] chromium fails http/tests/sandbox-inherit-to-initial-document-2
        https://bugs.webkit.org/show_bug.cgi?id=38705

        WebCore::V8Proxy::retrieve(Frame* frame) calls WebCore::ScriptController::canExecuteScripts
        and returns 0 if canExecuteScripts is false. It should return the proxy regardless
        of whether the frame can execute scripts.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieve): Removed canExecuteScripts check.

2010-08-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        Add VisitedLinkStrategy for each platform to implement
        https://bugs.webkit.org/show_bug.cgi?id=43393

        No new tests. (No change in behavior)

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Use VisitedLinkStrategy if it's enabled.
        
        * loader/HistoryController.cpp:
        (WebCore::addVisitedLink): Choose VisitedLinkStrategy if it's enabled, else fallback to PageGroup.
        (WebCore::HistoryController::updateForStandardLoad): Use addVisitedLink helper.
        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
        (WebCore::HistoryController::updateForClientRedirect): Ditto.
        (WebCore::HistoryController::updateForSameDocumentNavigation): Ditto.
        
        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::visitedLinkStrategy):
        (WebCore::PlatformStrategies::PlatformStrategies):

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed, rolling out r64471.
        http://trac.webkit.org/changeset/64471
        https://bugs.webkit.org/show_bug.cgi?id=43005

        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
        until further discussion

        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        * accessibility/Accessibility.cpp: Removed.
        * accessibility/Accessibility.h: Removed.
        * accessibility/Accessibility.idl: Removed.
        * accessibility/AccessibilityObject.h:
        * accessibility/ScreenReader.cpp: Removed.
        * accessibility/ScreenReader.h: Removed.
        * accessibility/ScreenReader.idl: Removed.
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/AccessibilityObjectMac.mm:
        * page/Navigator.cpp:
        (WebCore::Navigator::disconnectFrame):
        (WebCore::Navigator::mimeTypes):
        * page/Navigator.h:
        * page/Navigator.idl:

2010-08-02  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Range::create should not be calling deprecatedEditingOffset and node on start and end
        https://bugs.webkit.org/show_bug.cgi?id=43385

        Replaced node() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode().

        No new tests added since this does not change the behavior.

        * dom/Range.cpp:
        (WebCore::Range::create):

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed, rolling out r64472.
        http://trac.webkit.org/changeset/64472
        https://bugs.webkit.org/show_bug.cgi?id=43005

        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
        until further discussion

        * WebCore.vcproj/WebCore.vcproj:

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed, rolling out r64476.
        http://trac.webkit.org/changeset/64476

        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
        until further discussion

        * WebCore.vcproj/WebCore.vcproj:

2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Darin Fisher.

        PopupMenu refactoring in preparation to WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42592

        Classes PopupMenu and SearchPopupMenu have been made pure virtual.

        * platform/PopupMenu.h:
        (WebCore::PopupMenu::~PopupMenu):
        * platform/SearchPopupMenu.h:
        (WebCore::SearchPopupMenu::~SearchPopupMenu):

        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
        the new pure virtual PopupMenu and SearchPopupMenu.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle):
        (WebCore::RenderMenuList::showPopup):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::addSearchResult):
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::valueChanged):
        * rendering/RenderTextControlSingleLine.h:

        Chrome and ChromeClient were made responsible for providing instances of classes
        PopupMenu and SearchPopupMenu to its users.

        * loader/EmptyClients.h:
        (WebCore::EmptyPopupMenu::show):
        (WebCore::EmptyPopupMenu::hide):
        (WebCore::EmptyPopupMenu::updateFromElement):
        (WebCore::EmptyPopupMenu::disconnectClient):
        (WebCore::EmptySearchPopupMenu::popupMenu):
        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
        (WebCore::EmptySearchPopupMenu::enabled):
        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
        (WebCore::EmptyChromeClient::createPopupMenu):
        (WebCore::EmptyChromeClient::createSearchPopupMenu):
        * page/Chrome.cpp:
        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
        (WebCore::Chrome::createPopupMenu):
        (WebCore::Chrome::createSearchPopupMenu):
        * page/Chrome.h:
        * page/ChromeClient.h:

        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
        Each of new the files contain the concrete classes that inherit form PopupMenu or
        SearchPopupMenu and are specific for the corresponding platform.

        brew:

        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenuBrew::PopupMenuBrew):
        (WebCore::PopupMenuBrew::~PopupMenuBrew):
        (WebCore::PopupMenuBrew::disconnectClient):
        (WebCore::PopupMenuBrew::show):
        (WebCore::PopupMenuBrew::hide):
        (WebCore::PopupMenuBrew::updateFromElement):
        * platform/brew/PopupMenuBrew.h: Added.
        (WebCore::PopupMenuBrew::client):
        * platform/brew/SearchPopupMenuBrew.cpp:
        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
        (WebCore::SearchPopupMenuBrew::enabled):
        (WebCore::SearchPopupMenuBrew::popupMenu):
        * platform/brew/SearchPopupMenuBrew.h: Added.

        chromium:

        * WebCore.gypi:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupMenuChromium::PopupMenuChromium):
        (WebCore::PopupMenuChromium::~PopupMenuChromium):
        (WebCore::PopupMenuChromium::show):
        (WebCore::PopupMenuChromium::hide):
        (WebCore::PopupMenuChromium::updateFromElement):
        (WebCore::PopupMenuChromium::disconnectClient):
        * platform/chromium/PopupMenuChromium.h:
        (WebCore::PopupMenuChromium::client):
        * platform/chromium/SearchPopupMenuChromium.cpp:
        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
        (WebCore::SearchPopupMenuChromium::popupMenu):
        (WebCore::SearchPopupMenuChromium::enabled):
        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
        * platform/chromium/SearchPopupMenuChromium.h: Added.

        efl:

        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenuEfl::PopupMenuEfl):
        (WebCore::PopupMenuEfl::~PopupMenuEfl):
        (WebCore::PopupMenuEfl::show):
        (WebCore::PopupMenuEfl::hide):
        (WebCore::PopupMenuEfl::updateFromElement):
        (WebCore::PopupMenuEfl::disconnectClient):
        * platform/efl/PopupMenuEfl.h: Added.
        (WebCore::PopupMenuEfl::client):
        * platform/efl/SearchPopupMenuEfl.cpp:
        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
        (WebCore::SearchPopupMenuEfl::popupMenu):
        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
        (WebCore::SearchPopupMenuEfl::enabled):
        * platform/efl/SearchPopupMenuEfl.h: Added.

        gtk:

        * GNUmakefile.am:
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::PopupMenuGtk):
        (WebCore::PopupMenuGtk::~PopupMenuGtk):
        (WebCore::PopupMenuGtk::show):
        (WebCore::PopupMenuGtk::hide):
        (WebCore::PopupMenuGtk::updateFromElement):
        (WebCore::PopupMenuGtk::disconnectClient):
        (WebCore::PopupMenuGtk::menuItemActivated):
        (WebCore::PopupMenuGtk::menuUnmapped):
        (WebCore::PopupMenuGtk::menuPositionFunction):
        (WebCore::PopupMenuGtk::menuRemoveItem):
        * platform/gtk/PopupMenuGtk.h: Added.
        (WebCore::PopupMenuGtk::client):
        * platform/gtk/SearchPopupMenuGtk.cpp:
        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
        (WebCore::SearchPopupMenuGtk::popupMenu):
        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
        (WebCore::SearchPopupMenuGtk::enabled):
        * platform/gtk/SearchPopupMenuGtk.h: Added.

        haiku:

        * platform/haiku/PopupMenuHaiku.cpp:
        (WebCore::HaikuPopup::HaikuPopup):
        (WebCore::HaikuPopup::~HaikuPopup):
        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::disconnectClient):
        (WebCore::PopupMenuHaiku::show):
        (WebCore::PopupMenuHaiku::hide):
        (WebCore::PopupMenuHaiku::updateFromElement):
        * platform/haiku/PopupMenuHaiku.h: Added.
        (WebCore::PopupMenuHaiku::disconnectClient):
        (WebCore::PopupMenuHaiku::client):
        * platform/haiku/SearchPopupMenuHaiku.cpp:
        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
        (WebCore::SearchPopupMenuHaiku::enabled):
        (WebCore::SearchPopupMenuHaiku::popupMenu):
        * platform/haiku/SearchPopupMenuHaiku.h: Added.

        mac:

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/PopupMenuMac.h: Added.
        (WebCore::PopupMenuMac::disconnectClient):
        (WebCore::PopupMenuMac::client):
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenuMac::PopupMenuMac):
        (WebCore::PopupMenuMac::~PopupMenuMac):
        (WebCore::PopupMenuMac::clear):
        (WebCore::PopupMenuMac::populate):
        (WebCore::PopupMenuMac::show):
        (WebCore::PopupMenuMac::hide):
        (WebCore::PopupMenuMac::updateFromElement):
        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
        * platform/mac/SearchPopupMenuMac.h: Added.
        * platform/mac/SearchPopupMenuMac.mm:
        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
        (WebCore::SearchPopupMenuMac::popupMenu):
        (WebCore::SearchPopupMenuMac::enabled):
        (WebCore::SearchPopupMenuMac::saveRecentSearches):
        (WebCore::SearchPopupMenuMac::loadRecentSearches):

        qt:

        * WebCore.pro:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenuQt::PopupMenuQt):
        (WebCore::PopupMenuQt::~PopupMenuQt):
        (WebCore::PopupMenuQt::disconnectClient):
        (WebCore::PopupMenuQt::show):
        (WebCore::PopupMenuQt::hide):
        (WebCore::PopupMenuQt::updateFromElement):
        * platform/qt/PopupMenuQt.h: Added.
        * platform/qt/QtAbstractWebPopup.h:
        * platform/qt/SearchPopupMenuQt.cpp:
        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
        (WebCore::SearchPopupMenuQt::popupMenu):
        (WebCore::SearchPopupMenuQt::saveRecentSearches):
        (WebCore::SearchPopupMenuQt::loadRecentSearches):
        (WebCore::SearchPopupMenuQt::enabled):
        * platform/qt/SearchPopupMenuQt.h: Added.

        win:

        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::PopupMenuWin):
        (WebCore::PopupMenuWin::~PopupMenuWin):
        (WebCore::PopupMenuWin::disconnectClient):
        (WebCore::PopupMenuWin::popupClassName):
        (WebCore::PopupMenuWin::show):
        (WebCore::PopupMenuWin::hide):
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        (WebCore::PopupMenuWin::setFocusedIndex):
        (WebCore::PopupMenuWin::visibleItems):
        (WebCore::PopupMenuWin::listIndexAtPoint):
        (WebCore::PopupMenuWin::focusedIndex):
        (WebCore::PopupMenuWin::focusFirst):
        (WebCore::PopupMenuWin::focusLast):
        (WebCore::PopupMenuWin::down):
        (WebCore::PopupMenuWin::up):
        (WebCore::PopupMenuWin::invalidateItem):
        (WebCore::PopupMenuWin::clientRect):
        (WebCore::PopupMenuWin::incrementWheelDelta):
        (WebCore::PopupMenuWin::reduceWheelDelta):
        (WebCore::PopupMenuWin::scrollToRevealSelection):
        (WebCore::PopupMenuWin::updateFromElement):
        (WebCore::PopupMenuWin::paint):
        (WebCore::PopupMenuWin::valueChanged):
        (WebCore::PopupMenuWin::invalidateScrollbarRect):
        (WebCore::PopupMenuWin::registerClass):
        (WebCore::PopupMenuWin::PopupMenuWndProc):
        (WebCore::PopupMenuWin::wndProc):
        * platform/win/PopupMenuWin.h: Added.
        (WebCore::PopupMenuWin::client):
        (WebCore::PopupMenuWin::scrollbar):
        (WebCore::PopupMenuWin::itemHeight):
        (WebCore::PopupMenuWin::windowRect):
        (WebCore::PopupMenuWin::popupHandle):
        (WebCore::PopupMenuWin::setWasClicked):
        (WebCore::PopupMenuWin::wasClicked):
        (WebCore::PopupMenuWin::setScrollOffset):
        (WebCore::PopupMenuWin::scrollOffset):
        (WebCore::PopupMenuWin::wheelDelta):
        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
        (WebCore::SearchPopupMenuWin::popupMenu):
        (WebCore::SearchPopupMenuWin::enabled):
        (WebCore::SearchPopupMenuWin::saveRecentSearches):
        (WebCore::SearchPopupMenuWin::loadRecentSearches):
        * platform/win/SearchPopupMenuWin.h: Added.

        wx:

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenuWx::PopupMenuWx):
        (WebCore::PopupMenuWx::~PopupMenuWx):
        (WebCore::PopupMenuWx::disconnectClient):
        (WebCore::PopupMenuWx::show):
        (WebCore::PopupMenuWx::OnMenuItemSelected):
        (WebCore::PopupMenuWx::hide):
        (WebCore::PopupMenuWx::updateFromElement):
        * platform/wx/PopupMenuWx.h: Added.
        (WebCore::PopupMenuWx::client):
        * platform/wx/SearchPopupMenuWx.cpp:
        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
        (WebCore::SearchPopupMenuWx::saveRecentSearches):
        (WebCore::SearchPopupMenuWx::loadRecentSearches):
        (WebCore::SearchPopupMenuWx::enabled):
        (WebCore::SearchPopupMenuWx::popupMenu):
        * platform/wx/SearchPopupMenuWx.h: Added.



2010-08-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Use GdkPixbuf for ImageBuffer::toDataURL
        https://bugs.webkit.org/show_bug.cgi?id=43088

        Implement ImageBuffer::toDataURL with GdkPixbuf instead of Cairo. This
        allows the method to support a larger variety of image types.

        * GNUmakefile.am: Add new files to the source list.
        * platform/MIMETypeRegistry.cpp: 
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        Add the list of image types supported by GTK.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        * platform/graphics/gtk/CairoUtilities.cpp: Added.
        (getCairoSurfacePixel): Move this method from ImageGtk.cpp.
        (getGdkPixbufPixel): Move this method from ImageGtk.cpp.
        (cairoImageSurfaceToGdkPixbuf): Move this method from ImageGtk.cpp.
        * platform/graphics/gtk/CairoUtilities.h: Added.
        * platform/graphics/gtk/ImageBufferGtk.cpp: Added.
        (WebCore::ImageBuffer::toDataURL): Use GdkPixbuf to do the conversion to a data url.
        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::BitmapImage::getGdkPixbuf): Use the new helper method in CairoUtilities.h.

2010-08-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for the Audio element in the DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=43313

        The IDL definition of some HTMLMediaElement methods does not match
        the C++ implementation API, take this fact into account when
        generating the bindings.

        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
        (WebKit::createAudioWrapper):
        (WebKit::createHTMLElementWrapper):
        * bindings/scripts/CodeGeneratorGObject.pm:

2010-08-02  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Fix plug-in test failures and remove tests from the Skipped list
        https://bugs.webkit.org/show_bug.cgi?id=43389

        * WebCore.exp.in:
        Export FrameLoader::cancelledError.

2010-08-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        Basic WK2 visited link coloring
        https://bugs.webkit.org/show_bug.cgi?id=43377

        No new tests. (No change in behavior)

        * WebCore.exp.in:
        
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addVisitedLinkHash):
        * page/PageGroup.h:

2010-08-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Style cleanup for CairoPath.h
        https://bugs.webkit.org/show_bug.cgi?id=43133

        Turn CairoPath into a class, as it has a constructor and destructor.
        Change raw member access to use the new accessor.

        No new tests as functionality has not changed.

        * platform/graphics/cairo/CairoPath.h: Cleanup and indentation fix.
        (WebCore::CairoPath::CairoPath):
        (WebCore::CairoPath::~CairoPath):
        (WebCore::CairoPath::context):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::addPath): Convert raw member access to accessor access.
        (WebCore::GraphicsContext::clip): Ditto.
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::Path): Ditto.
        (WebCore::Path::operator=): Ditto.
        (WebCore::Path::clear): Ditto.
        (WebCore::Path::isEmpty): Ditto.
        (WebCore::Path::currentPoint): Ditto.
        (WebCore::Path::translate): Ditto.
        (WebCore::Path::moveTo): Ditto.
        (WebCore::Path::addLineTo): Ditto.
        (WebCore::Path::addRect): Ditto.
        (WebCore::Path::addQuadCurveTo): Ditto.
        (WebCore::Path::addBezierCurveTo): Ditto.
        (WebCore::Path::addArc): Ditto.
        (WebCore::Path::addArcTo): Ditto.
        (WebCore::Path::addEllipse): Ditto.
        (WebCore::Path::closeSubpath): Ditto.
        (WebCore::Path::boundingRect): Ditto.
        (WebCore::Path::strokeBoundingRect): Ditto.
        (WebCore::Path::contains): Ditto.
        (WebCore::Path::strokeContains): Ditto.
        (WebCore::Path::apply): Ditto.
        (WebCore::Path::transform): Ditto.
        (WebCore::Path::debugString): Ditto.

2010-07-20  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        focusing the body of a contentEditable iframe resets the selection
        https://bugs.webkit.org/show_bug.cgi?id=42645
        
        The selection shouldn't be reset to the beginning of the rootEditableElement
        if it is already inside the rootEditableElement.

        Test: editing/selection/focus-contenteditable-iframe.html

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

2010-07-20  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        focusing an unfocused contentEditable element should place the cursor at the beginning
        https://bugs.webkit.org/show_bug.cgi?id=42646

        r14666 made this change for the body and html elements, but not for all contentEditable 
        elements. Doing this for all contentEditable elements matches all other browsers.

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

2010-08-02  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        Group functions used in createMarkup (range version) into a class so they are easier to understand
        https://bugs.webkit.org/show_bug.cgi?id=43227

        Added MarkupAccumulatorWrapper to group getStartMarkup, getEndMarkup, joinMarkups, and addStyleMarkup.
        MarkupAccumulatorWrapper is intended to be merged with MarkupAccumulator in the future.

        No new tests added since this is a clean up.

        * editing/markup.cpp:
        (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Added.
        (WebCore::MarkupAccumulatorWrapper::insertString): Added.
        (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Added.
        (WebCore::MarkupAccumulatorWrapper::insertEndTag): Added.
        (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Added.
        (WebCore::MarkupAccumulatorWrapper::wrapWithStyleNode): Added.
        (WebCore::MarkupAccumulatorWrapper::takeResults): Added.
        (WebCore::createMarkup): Uses MarkupAccumulatorWrapper.

2010-08-02  Brian Weinstein  <bweinstein@apple.com>

        Add a missing </File> tag to WebCore.vcproj.

        * WebCore.vcproj/WebCore.vcproj:

2010-08-02  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] Implement support for get_character_extents and get_range_extents
        https://bugs.webkit.org/show_bug.cgi?id=25677

        Implement get_range_extents() and modify get_character_extents()
        to properly work after "The Great Flattening" occurred in the ATK
        objects hierarchy, some months ago.

        In the case of the GTK port, not just the text controls should be
        considered when it comes to these functions but also those
        composite objects that would also allow to work with text ranges,
        such as headings and links. To take care of this, a new function
        AccessibilityObject::allowsTextRanges() was defined with a default
        implementation in the header file and an specific one for GTK in
        AccessibilityObjectAtk.cpp.

        Based on a previous patch by Joanmarie Diggs.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::allowsTextRanges): New
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::allowsTextRanges): New
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (textExtents):
        (webkit_accessible_text_get_character_extents):
        (webkit_accessible_text_get_range_extents):
        (atk_text_interface_init):

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        AX: Support methods for web apps to interact with the native accessibility APIs
        https://bugs.webkit.org/show_bug.cgi?id=43005

        Fix for windows build. No review.

        * WebCore.vcproj/WebCore.vcproj:

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: Support methods for web apps to interact with the native accessibility APIs
        https://bugs.webkit.org/show_bug.cgi?id=43005

        Adds a new "accessibility" object that hangs off of "window.navigator".
        This accessibility object will allow web apps to interact with native accessibility APIs
        to provide a richer experience (for screen reader users primarily).

        Test: platform/mac/accessibility/js-accessibility.html

        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        * accessibility/Accessibility.cpp: Added.
        (WebCore::Accessibility::Accessibility):
        (WebCore::Accessibility::~Accessibility):
        (WebCore::Accessibility::disconnectFrame):
        (WebCore::Accessibility::screenChanged):
        (WebCore::Accessibility::elementsChanged):
        (WebCore::Accessibility::screenReader):
        * accessibility/Accessibility.h: Added.
        (WebCore::Accessibility::create):
        * accessibility/Accessibility.idl: Added.
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isScreenReaderRunning):
        (WebCore::AccessibilityObject::screenReaderFocusedElement):
        (WebCore::AccessibilityObject::screenReaderVersion):
        * accessibility/ScreenReader.cpp: Added.
        (WebCore::ScreenReader::ScreenReader):
        (WebCore::ScreenReader::~ScreenReader):
        (WebCore::ScreenReader::disconnectFrame):
        (WebCore::ScreenReader::active):
        (WebCore::ScreenReader::activeElement):
        (WebCore::ScreenReader::version):
        * accessibility/ScreenReader.h: Added.
        (WebCore::ScreenReader::create):
        * accessibility/ScreenReader.idl: Added.
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::isScreenReaderRunning):
        (WebCore::AccessibilityObject::screenReaderFocusedElement):
        (WebCore::AccessibilityObject::screenReaderVersion):
        * page/Navigator.cpp:
        (WebCore::Navigator::disconnectFrame):
        (WebCore::Navigator::accessibility):
        * page/Navigator.h:
        * page/Navigator.idl:

2010-08-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] DOM listeners get wrong keycodes for some keys
        https://bugs.webkit.org/show_bug.cgi?id=35170

        Emit the proper DOM keyCode for the print screen, keypad insert,
        and keypad delete keys.

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::windowsKeyCodeForKeyEvent): Fix mapping between GDK key codes
        and Windows key codes.

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

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-08-02  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Compile fix for Android, adding guards around filter specific code.
        https://bugs.webkit.org/show_bug.cgi?id=43338
        This CL introduced the code:
        http://trac.webkit.org/changeset/64196

        Compile fix only, no new tests.

        * rendering/SVGResourcesCycleSolver.cpp:
        (WebCore::SVGResourcesCycleSolver::breakCycle):

2010-08-02  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Compile fix for Android, guard inspector code with ENABLE(INSPECTOR).
        https://bugs.webkit.org/show_bug.cgi?id=43345
        Code introduced in this CL:
        http://trac.webkit.org/changeset/63891

        No new tests, just a compile fix.

        * bindings/v8/ScriptValue.cpp:

2010-08-02  Jeremy Orlow  <jorlow@chromium.org>

        Speculative revert of 64425 due to Chromium instability
        https://bugs.webkit.org/show_bug.cgi?id=43347

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/PopupMenu.h:
        (WebCore::PopupMenu::create):
        (WebCore::PopupMenu::disconnectClient):
        (WebCore::PopupMenu::client):
        (WebCore::PopupMenu::scrollbar):
        (WebCore::PopupMenu::itemHeight):
        (WebCore::PopupMenu::windowRect):
        (WebCore::PopupMenu::popupHandle):
        (WebCore::PopupMenu::setWasClicked):
        (WebCore::PopupMenu::wasClicked):
        (WebCore::PopupMenu::setScrollOffset):
        (WebCore::PopupMenu::scrollOffset):
        (WebCore::PopupMenu::wheelDelta):
        (WebCore::PopupMenu::scrollbarCapturingMouse):
        (WebCore::PopupMenu::setScrollbarCapturingMouse):
        (WebCore::PopupMenu::isActive):
        (WebCore::PopupMenu::scrollbarCornerPresent):
        * platform/SearchPopupMenu.h:
        (WebCore::SearchPopupMenu::create):
        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/brew/PopupMenuBrew.h: Removed.
        * platform/brew/SearchPopupMenuBrew.cpp:
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        * platform/brew/SearchPopupMenuBrew.h: Removed.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/chromium/PopupMenuChromium.h:
        * platform/chromium/SearchPopupMenuChromium.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        * platform/chromium/SearchPopupMenuChromium.h: Removed.
        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/efl/PopupMenuEfl.h: Removed.
        * platform/efl/SearchPopupMenuEfl.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/efl/SearchPopupMenuEfl.h: Removed.
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        (WebCore::PopupMenu::menuItemActivated):
        (WebCore::PopupMenu::menuUnmapped):
        (WebCore::PopupMenu::menuPositionFunction):
        (WebCore::PopupMenu::menuRemoveItem):
        * platform/gtk/PopupMenuGtk.h: Removed.
        * platform/gtk/SearchPopupMenuGtk.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/gtk/SearchPopupMenuGtk.h: Removed.
        * platform/haiku/PopupMenuHaiku.cpp:
        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/haiku/PopupMenuHaiku.h: Removed.
        * platform/haiku/SearchPopupMenuHaiku.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/haiku/SearchPopupMenuHaiku.h: Removed.
        * platform/mac/PopupMenuMac.h: Removed.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::clear):
        (WebCore::PopupMenu::populate):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/mac/SearchPopupMenuMac.h: Removed.
        * platform/mac/SearchPopupMenuMac.mm:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/qt/PopupMenuQt.h: Removed.
        * platform/qt/QtAbstractWebPopup.h:
        * platform/qt/SearchPopupMenuQt.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/qt/SearchPopupMenuQt.h: Removed.
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::popupClassName):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::calculatePositionAndSize):
        (WebCore::PopupMenu::setFocusedIndex):
        (WebCore::PopupMenu::visibleItems):
        (WebCore::PopupMenu::listIndexAtPoint):
        (WebCore::PopupMenu::focusedIndex):
        (WebCore::PopupMenu::focusFirst):
        (WebCore::PopupMenu::focusLast):
        (WebCore::PopupMenu::down):
        (WebCore::PopupMenu::up):
        (WebCore::PopupMenu::invalidateItem):
        (WebCore::PopupMenu::clientRect):
        (WebCore::PopupMenu::incrementWheelDelta):
        (WebCore::PopupMenu::reduceWheelDelta):
        (WebCore::PopupMenu::scrollToRevealSelection):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        (WebCore::PopupMenu::paint):
        (WebCore::PopupMenu::valueChanged):
        (WebCore::PopupMenu::invalidateScrollbarRect):
        (WebCore::PopupMenu::registerClass):
        (WebCore::PopupMenu::PopupMenuWndProc):
        (WebCore::PopupMenu::wndProc):
        * platform/win/PopupMenuWin.h: Removed.
        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        * platform/win/SearchPopupMenuWin.h: Removed.
        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::OnMenuItemSelected):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/wx/PopupMenuWx.h: Removed.
        * platform/wx/SearchPopupMenuWx.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/wx/SearchPopupMenuWx.h: Removed.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle):
        (WebCore::RenderMenuList::showPopup):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::addSearchResult):
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::valueChanged):
        * rendering/RenderTextControlSingleLine.h:

2010-08-02  Markus Goetz  <Markus.Goetz@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Do not link to SharedBufferCF.cpp
        The Qt port does not need this file.
        We plan to implement the platformData()
        for SharedBuffer at some point soon.
        https://bugs.webkit.org/show_bug.cgi?id=43242

        * WebCore.pro:
        * platform/SharedBuffer.cpp:

2010-08-02  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] Generate forwarding headers for WebKit2

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

        * WebCore.pri: Removed header copying logic.
        * WebCore.pro: Add include paths for WebKit2.

2010-08-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: adding experimental support for WebInspector extensions API.
        https://bugs.webkit.org/show_bug.cgi?id=40425

        Tests: inspector/extensions-api.html
               inspector/extensions.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setExtensionAPI):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel):
        * inspector/front-end/ExtensionAPI.js: Added. An API implementation that gets injected into the extension context.
        (injectedExtensionAPI):
        (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
        (injectedExtensionAPI.EventSinkImpl.prototype.removeListener):
        (injectedExtensionAPI.EventSinkImpl.prototype._fire):
        (injectedExtensionAPI.EventSink):
        (injectedExtensionAPI.InspectorExtensionAPI):
        (injectedExtensionAPI.InspectorExtensionAPI.prototype.log):
        (injectedExtensionAPI.Resources.prototype.getAll):
        (injectedExtensionAPI.Resources.prototype.get return):
        (injectedExtensionAPI.Resources.prototype):
        (injectedExtensionAPI.Panels):
        (injectedExtensionAPI.Panels.prototype.create.callbackWrapper):
        (injectedExtensionAPI.Panels.prototype.create):
        (injectedExtensionAPI.PanelImpl):
        (injectedExtensionAPI.PanelImpl.prototype.createSidebarPane.callbackWrapper):
        (injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
        (injectedExtensionAPI.ExtensionPanel):
        (injectedExtensionAPI.ExtensionSidebarPaneImpl):
        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpanded):
        (injectedExtensionAPI.InspectedWindow):
        (injectedExtensionAPI.InspectedWindow.prototype.reload):
        (injectedExtensionAPI.InspectedWindow.prototype.evaluate):
        (injectedExtensionAPI.ExtensionServerClient.prototype.sendRequest):
        (injectedExtensionAPI.ExtensionServerClient.prototype.registerHandler):
        (injectedExtensionAPI.ExtensionServerClient.prototype.nextObjectId):
        (injectedExtensionAPI.ExtensionServerClient.prototype._registerCallback):
        (injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
        (injectedExtensionAPI.ExtensionServerClient.prototype._onMessage):
        (injectedExtensionAPI.expandURL):
        (injectedExtensionAPI.):
        * inspector/front-end/ExtensionPanel.js: Added. A class that provides WebInspector's Panel interface to the inspector, hosts extension panel within an IFrame and proxies Panel callbacks to the extension.
        (WebInspector.ExtensionPanel):
        (WebInspector.ExtensionPanel.prototype.get defaultFocusedElement):
        (WebInspector.ExtensionPanel.prototype.updateMainViewWidth):
        (WebInspector.ExtensionPanel.prototype.searchCanceled):
        (WebInspector.ExtensionPanel.prototype.performSearch):
        (WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.ExtensionPanel.prototype._addStyleRule):
        * inspector/front-end/ExtensionRegistryStub.js: Added. A stub for ExtensionRegistry class that is meant to provide a list of extensions. Actual implementations may be browser-specfic.
        (.WebInspector.InspectorExtensionRegistryStub):
        (.WebInspector.InspectorExtensionRegistryStub.prototype.getExtensionsAsync):
        * inspector/front-end/ExtensionServer.js: Added. Communicates with ExtensionAPI via DOM messaging and proxies requests to WebInspector classes.
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype.notifyPanelShown):
        (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
        (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
        (WebInspector.ExtensionServer.prototype.notifySearchAction):
        (WebInspector.ExtensionServer.prototype.notifyInspectedPageLoaded):
        (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
        (WebInspector.ExtensionServer.prototype.notifyInspectorReset):
        (WebInspector.ExtensionServer.prototype._convertResource):
        (WebInspector.ExtensionServer.prototype._postNotification):
        (WebInspector.ExtensionServer.prototype._onSubscribe):
        (WebInspector.ExtensionServer.prototype._onUnsubscribe):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onCreateSidebar):
        (WebInspector.ExtensionServer.prototype._createClientIframe):
        (WebInspector.ExtensionServer.prototype._onSetSidebarHeight):
        (WebInspector.ExtensionServer.prototype._onSetSidebarExpansion):
        (WebInspector.ExtensionServer.prototype._onLog):
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        (WebInspector.ExtensionServer.prototype._onRevealAndSelect):
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        (WebInspector.ExtensionServer.prototype._dispatchCallback):
        (WebInspector.ExtensionServer.prototype._onGetResources):
        (WebInspector.ExtensionServer.prototype.initExtensions):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        (WebInspector.ExtensionServer.prototype._onmessage):
        (WebInspector.ExtensionServer.prototype._registerHandler):
        (WebInspector.ExtensionStatus):
        (WebInspector.addExtensions):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.setExtensionAPI):
        (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        (WebInspector.reset):
        (WebInspector.inspectedURLChanged):
        (WebInspector.didCommitLoad):

2010-08-02  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: Inspector is not working when it is loaded as html page.
        https://bugs.webkit.org/show_bug.cgi?id=43334

        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):

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

        Reviewed by Dirk Schulze.

        SVG gradients do not update when scripted via xlink
        https://bugs.webkit.org/show_bug.cgi?id=42953

        Unify cycle detection logic for chainable (through xlink:href) and ordinary resources.
        All operate on the render tree now, instead of falling back to the DOM tree for xlink:href queries.

        When linking resources, register as regular client, so the regular update mechanisms work as expected.
        <linearGradient id="foo"><stop../> </linearGradient>
        <linearGradient id="bar" xlink:href="#foo"/>
        <rect fill="url(#bar)"/>

        Without that the rect won't receive invalidation notifications, as foo <-> bar had no connection.
        Fixes the last outstanding class of invalidations. Also speeds up the cycle detetion, when using chained resources,
        as no SVG DOM queries have to be executed anymore.

        Test: svg/custom/js-update-stop-linked-gradient.svg

        * rendering/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
        (WebCore::linkedResourceForContainer):
        * rendering/SVGResources.cpp:
        (WebCore::SVGResources::SVGResources):
        (WebCore::chainableResourceTags):
        (WebCore::targetReferenceFromResource):
        (WebCore::registerPendingResource):
        (WebCore::SVGResources::buildCachedResources):
        (WebCore::SVGResources::invalidateClient):
        (WebCore::SVGResources::resourceDestroyed):
        (WebCore::SVGResources::buildSetOfResources):
        (WebCore::SVGResources::setLinkedResource):
        (WebCore::SVGResources::resetLinkedResource):
        (WebCore::SVGResources::dump):
        * rendering/SVGResources.h:
        (WebCore::SVGResources::linkedResource):
        * rendering/SVGResourcesCycleSolver.cpp:
        (WebCore::SVGResourcesCycleSolver::resolveCycles):
        (WebCore::SVGResourcesCycleSolver::breakCycle):
        * rendering/SVGResourcesCycleSolver.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        * svg/SVGFilterElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        * svg/SVGGradientElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientProperties):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::collectPatternProperties):
        * svg/SVGPatternElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientProperties):

2010-07-31  Dan Bernstein  <mitz@apple.com>

        Try to fix the Windows build when zlib is not available.

        * platform/graphics/WOFFFileFormat.cpp:

2010-07-31  Dan Bernstein  <mitz@apple.com>

        Try to fix the Windows build when zlib is not available.

        * platform/graphics/WOFFFileFormat.cpp:

2010-07-31  Dan Bernstein  <mitz@apple.com>

        Try to fix the Windows build when zlib is not available.

        * platform/graphics/WOFFFileFormat.cpp:

2010-07-31  Dan Bernstein  <mitz@apple.com>

        Fix typo in attempted build fix.

        * platform/graphics/WOFFFileFormat.cpp:

2010-07-31  Dan Bernstein  <mitz@apple.com>

        Try to fix the Windows build when zlib is not available.

        * platform/graphics/WOFFFileFormat.cpp:

2010-07-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8234766> Add WOFF support for @font-face
        https://bugs.webkit.org/show_bug.cgi?id=31302

        * WebCore.vcproj/WebCore.vcproj: Added WOFFFileFormat.{cpp,h}.
        * WebCore.vcproj/WebCoreCommon.vsprops: Added $(WebKitLibraries)\include\zlib to the header search path.
        * WebCore.xcodeproj/project.pbxproj: Added WOFFFileFormat.{cpp,h} and linking against libz.
        * css/CSSFontFaceSrcValue.cpp:
        (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Replaced hard-coded list of supported formats with
        call to FontCustomPlatformData::supportsFormat().
        * platform/graphics/WOFFFileFormat.cpp: Added.
        (WebCore::isWOFF): Checks if the buffer has the WOFF signature.
        (WebCore::convertWOFFToSfnt): Extracts the sfnt payload of a WOFF package.
        * platform/graphics/WOFFFileFormat.h: Added.
        * platform/graphics/cairo/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
        * platform/graphics/cairo/FontCustomPlatformData.h:
        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype,
        and also for woff if the OpenType sanitizer is enabled.
        * platform/graphics/chromium/FontCustomPlatformData.h:
        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns false.
        * platform/graphics/haiku/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Ditto.
        * platform/graphics/haiku/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::freeSfntData):
        (WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
        * platform/graphics/win/FontCustomPlatformData.h:
        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        * platform/graphics/wince/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::supportsFormat): Ditto.
        * platform/graphics/wince/FontCustomPlatformData.h:

2010-07-31  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        SplitElementCommand shouldn't be duplicating id attribute
        https://bugs.webkit.org/show_bug.cgi?id=27156

        Modified SplitElementCommand to delete the id attribute from the second element when splitting an element.
        Since this causes WebKit not to merge split elements, added shouldSplitElement to ApplyStyleCommand which
        determines the necessity of splitting the element.

        To share code between shouldSplitElement and removeInlineStyleFromElement (extracted from applyInlineStyle)
        dontRemove was added as the 3rd argument to removeHTMLFontStyle, removeHTMLBidiEmbeddingStyle, and removeCSSStyle.

        Test: editing/style/split-element-id-duplication.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle): Added 3rd argument for removeCSSStyle.
        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitElement.
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Extracted from removeInlineStyle.
        (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Inline helper for removeInlineStyleFromElement.
        (WebCore::ApplyStyleCommand::removeHTMLFontStyle): Added dontRemove.
        (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added dontRemove.
        (WebCore::ApplyStyleCommand::removeCSSStyle): Added dontRemove.
        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls removeInlineStyleFromElement.
        (WebCore::ApplyStyleCommand::splitTextElementAtStart): Removed the call to splitTextAtStart.
        Branching is now done in applyInlineStyle.
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto for splitTextAtEnd.
        (WebCore::ApplyStyleCommand::shouldSplitElement): Added.
        * editing/ApplyStyleCommand.h:
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::executeApply): Deletes the id attribute from the second element.
        (WebCore::SplitElementCommand::doUnapply): Recovers the id attribute of the second element.

2010-07-31  Luiz Agostini  <luiz.agostini@openbossa.org>

        Build fix: Windows.

        * platform/win/PopupMenuWin.h:

2010-07-31  Luiz Agostini  <luiz.agostini@openbossa.org>

        Windows build fix.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::PopupMenuWndProc):

2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Darin Fisher.

        PopupMenu refactoring in preparation to WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42592

        Classes PopupMenu and SearchPopupMenu have been made pure virtual.

        * platform/PopupMenu.h:
        (WebCore::PopupMenu::~PopupMenu):
        * platform/SearchPopupMenu.h:
        (WebCore::SearchPopupMenu::~SearchPopupMenu):

        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
        the new pure virtual PopupMenu and SearchPopupMenu.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle):
        (WebCore::RenderMenuList::showPopup):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::addSearchResult):
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::valueChanged):
        * rendering/RenderTextControlSingleLine.h:

        Chrome and ChromeClient were made responsible for providing instances of classes
        PopupMenu and SearchPopupMenu to its users.

        * loader/EmptyClients.h:
        (WebCore::EmptyPopupMenu::show):
        (WebCore::EmptyPopupMenu::hide):
        (WebCore::EmptyPopupMenu::updateFromElement):
        (WebCore::EmptyPopupMenu::disconnectClient):
        (WebCore::EmptySearchPopupMenu::popupMenu):
        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
        (WebCore::EmptySearchPopupMenu::enabled):
        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
        (WebCore::EmptyChromeClient::createPopupMenu):
        (WebCore::EmptyChromeClient::createSearchPopupMenu):
        * page/Chrome.cpp:
        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
        (WebCore::Chrome::createPopupMenu):
        (WebCore::Chrome::createSearchPopupMenu):
        * page/Chrome.h:
        * page/ChromeClient.h:

        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
        Each of new the files contain the concrete classes that inherit form PopupMenu or
        SearchPopupMenu and are specific for the corresponding platform.

        brew:

        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenuBrew::PopupMenuBrew):
        (WebCore::PopupMenuBrew::~PopupMenuBrew):
        (WebCore::PopupMenuBrew::disconnectClient):
        (WebCore::PopupMenuBrew::show):
        (WebCore::PopupMenuBrew::hide):
        (WebCore::PopupMenuBrew::updateFromElement):
        * platform/brew/PopupMenuBrew.h: Added.
        (WebCore::PopupMenuBrew::client):
        * platform/brew/SearchPopupMenuBrew.cpp:
        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
        (WebCore::SearchPopupMenuBrew::enabled):
        (WebCore::SearchPopupMenuBrew::popupMenu):
        * platform/brew/SearchPopupMenuBrew.h: Added.

        chromium:

        * WebCore.gypi:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupMenuChromium::PopupMenuChromium):
        (WebCore::PopupMenuChromium::~PopupMenuChromium):
        (WebCore::PopupMenuChromium::show):
        (WebCore::PopupMenuChromium::hide):
        (WebCore::PopupMenuChromium::updateFromElement):
        (WebCore::PopupMenuChromium::disconnectClient):
        * platform/chromium/PopupMenuChromium.h:
        (WebCore::PopupMenuChromium::client):
        * platform/chromium/SearchPopupMenuChromium.cpp:
        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
        (WebCore::SearchPopupMenuChromium::popupMenu):
        (WebCore::SearchPopupMenuChromium::enabled):
        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
        * platform/chromium/SearchPopupMenuChromium.h: Added.

        efl:

        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenuEfl::PopupMenuEfl):
        (WebCore::PopupMenuEfl::~PopupMenuEfl):
        (WebCore::PopupMenuEfl::show):
        (WebCore::PopupMenuEfl::hide):
        (WebCore::PopupMenuEfl::updateFromElement):
        (WebCore::PopupMenuEfl::disconnectClient):
        * platform/efl/PopupMenuEfl.h: Added.
        (WebCore::PopupMenuEfl::client):
        * platform/efl/SearchPopupMenuEfl.cpp:
        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
        (WebCore::SearchPopupMenuEfl::popupMenu):
        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
        (WebCore::SearchPopupMenuEfl::enabled):
        * platform/efl/SearchPopupMenuEfl.h: Added.

        gtk:

        * GNUmakefile.am:
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::PopupMenuGtk):
        (WebCore::PopupMenuGtk::~PopupMenuGtk):
        (WebCore::PopupMenuGtk::show):
        (WebCore::PopupMenuGtk::hide):
        (WebCore::PopupMenuGtk::updateFromElement):
        (WebCore::PopupMenuGtk::disconnectClient):
        (WebCore::PopupMenuGtk::menuItemActivated):
        (WebCore::PopupMenuGtk::menuUnmapped):
        (WebCore::PopupMenuGtk::menuPositionFunction):
        (WebCore::PopupMenuGtk::menuRemoveItem):
        * platform/gtk/PopupMenuGtk.h: Added.
        (WebCore::PopupMenuGtk::client):
        * platform/gtk/SearchPopupMenuGtk.cpp:
        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
        (WebCore::SearchPopupMenuGtk::popupMenu):
        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
        (WebCore::SearchPopupMenuGtk::enabled):
        * platform/gtk/SearchPopupMenuGtk.h: Added.

        haiku:

        * platform/haiku/PopupMenuHaiku.cpp:
        (WebCore::HaikuPopup::HaikuPopup):
        (WebCore::HaikuPopup::~HaikuPopup):
        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::disconnectClient):
        (WebCore::PopupMenuHaiku::show):
        (WebCore::PopupMenuHaiku::hide):
        (WebCore::PopupMenuHaiku::updateFromElement):
        * platform/haiku/PopupMenuHaiku.h: Added.
        (WebCore::PopupMenuHaiku::disconnectClient):
        (WebCore::PopupMenuHaiku::client):
        * platform/haiku/SearchPopupMenuHaiku.cpp:
        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
        (WebCore::SearchPopupMenuHaiku::enabled):
        (WebCore::SearchPopupMenuHaiku::popupMenu):
        * platform/haiku/SearchPopupMenuHaiku.h: Added.

        mac:

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/PopupMenuMac.h: Added.
        (WebCore::PopupMenuMac::disconnectClient):
        (WebCore::PopupMenuMac::client):
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenuMac::PopupMenuMac):
        (WebCore::PopupMenuMac::~PopupMenuMac):
        (WebCore::PopupMenuMac::clear):
        (WebCore::PopupMenuMac::populate):
        (WebCore::PopupMenuMac::show):
        (WebCore::PopupMenuMac::hide):
        (WebCore::PopupMenuMac::updateFromElement):
        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
        * platform/mac/SearchPopupMenuMac.h: Added.
        * platform/mac/SearchPopupMenuMac.mm:
        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
        (WebCore::SearchPopupMenuMac::popupMenu):
        (WebCore::SearchPopupMenuMac::enabled):
        (WebCore::SearchPopupMenuMac::saveRecentSearches):
        (WebCore::SearchPopupMenuMac::loadRecentSearches):

        qt:

        * WebCore.pro:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenuQt::PopupMenuQt):
        (WebCore::PopupMenuQt::~PopupMenuQt):
        (WebCore::PopupMenuQt::disconnectClient):
        (WebCore::PopupMenuQt::show):
        (WebCore::PopupMenuQt::hide):
        (WebCore::PopupMenuQt::updateFromElement):
        * platform/qt/PopupMenuQt.h: Added.
        * platform/qt/QtAbstractWebPopup.h:
        * platform/qt/SearchPopupMenuQt.cpp:
        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
        (WebCore::SearchPopupMenuQt::popupMenu):
        (WebCore::SearchPopupMenuQt::saveRecentSearches):
        (WebCore::SearchPopupMenuQt::loadRecentSearches):
        (WebCore::SearchPopupMenuQt::enabled):
        * platform/qt/SearchPopupMenuQt.h: Added.

        win:

        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::PopupMenuWin):
        (WebCore::PopupMenuWin::~PopupMenuWin):
        (WebCore::PopupMenuWin::disconnectClient):
        (WebCore::PopupMenuWin::popupClassName):
        (WebCore::PopupMenuWin::show):
        (WebCore::PopupMenuWin::hide):
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        (WebCore::PopupMenuWin::setFocusedIndex):
        (WebCore::PopupMenuWin::visibleItems):
        (WebCore::PopupMenuWin::listIndexAtPoint):
        (WebCore::PopupMenuWin::focusedIndex):
        (WebCore::PopupMenuWin::focusFirst):
        (WebCore::PopupMenuWin::focusLast):
        (WebCore::PopupMenuWin::down):
        (WebCore::PopupMenuWin::up):
        (WebCore::PopupMenuWin::invalidateItem):
        (WebCore::PopupMenuWin::clientRect):
        (WebCore::PopupMenuWin::incrementWheelDelta):
        (WebCore::PopupMenuWin::reduceWheelDelta):
        (WebCore::PopupMenuWin::scrollToRevealSelection):
        (WebCore::PopupMenuWin::updateFromElement):
        (WebCore::PopupMenuWin::paint):
        (WebCore::PopupMenuWin::valueChanged):
        (WebCore::PopupMenuWin::invalidateScrollbarRect):
        (WebCore::PopupMenuWin::registerClass):
        (WebCore::PopupMenuWin::PopupMenuWndProc):
        (WebCore::PopupMenuWin::wndProc):
        * platform/win/PopupMenuWin.h: Added.
        (WebCore::PopupMenuWin::client):
        (WebCore::PopupMenuWin::scrollbar):
        (WebCore::PopupMenuWin::itemHeight):
        (WebCore::PopupMenuWin::windowRect):
        (WebCore::PopupMenuWin::popupHandle):
        (WebCore::PopupMenuWin::setWasClicked):
        (WebCore::PopupMenuWin::wasClicked):
        (WebCore::PopupMenuWin::setScrollOffset):
        (WebCore::PopupMenuWin::scrollOffset):
        (WebCore::PopupMenuWin::wheelDelta):
        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
        (WebCore::SearchPopupMenuWin::popupMenu):
        (WebCore::SearchPopupMenuWin::enabled):
        (WebCore::SearchPopupMenuWin::saveRecentSearches):
        (WebCore::SearchPopupMenuWin::loadRecentSearches):
        * platform/win/SearchPopupMenuWin.h: Added.

        wx:

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenuWx::PopupMenuWx):
        (WebCore::PopupMenuWx::~PopupMenuWx):
        (WebCore::PopupMenuWx::disconnectClient):
        (WebCore::PopupMenuWx::show):
        (WebCore::PopupMenuWx::OnMenuItemSelected):
        (WebCore::PopupMenuWx::hide):
        (WebCore::PopupMenuWx::updateFromElement):
        * platform/wx/PopupMenuWx.h: Added.
        (WebCore::PopupMenuWx::client):
        * platform/wx/SearchPopupMenuWx.cpp:
        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
        (WebCore::SearchPopupMenuWx::saveRecentSearches):
        (WebCore::SearchPopupMenuWx::loadRecentSearches):
        (WebCore::SearchPopupMenuWx::enabled):
        (WebCore::SearchPopupMenuWx::popupMenu):
        * platform/wx/SearchPopupMenuWx.h: Added.



2010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r64422.
        http://trac.webkit.org/changeset/64422
        https://bugs.webkit.org/show_bug.cgi?id=43304

        Build fixes are needed for Snow Leopard and Windows.
        (Requested by lca on #webkit).

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/PopupMenu.h:
        (WebCore::PopupMenu::create):
        (WebCore::PopupMenu::disconnectClient):
        (WebCore::PopupMenu::client):
        (WebCore::PopupMenu::scrollbar):
        (WebCore::PopupMenu::itemHeight):
        (WebCore::PopupMenu::windowRect):
        (WebCore::PopupMenu::popupHandle):
        (WebCore::PopupMenu::setWasClicked):
        (WebCore::PopupMenu::wasClicked):
        (WebCore::PopupMenu::setScrollOffset):
        (WebCore::PopupMenu::scrollOffset):
        (WebCore::PopupMenu::wheelDelta):
        (WebCore::PopupMenu::scrollbarCapturingMouse):
        (WebCore::PopupMenu::setScrollbarCapturingMouse):
        (WebCore::PopupMenu::isActive):
        (WebCore::PopupMenu::scrollbarCornerPresent):
        * platform/SearchPopupMenu.h:
        (WebCore::SearchPopupMenu::create):
        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/brew/PopupMenuBrew.h: Removed.
        * platform/brew/SearchPopupMenuBrew.cpp:
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        * platform/brew/SearchPopupMenuBrew.h: Removed.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/chromium/PopupMenuChromium.h:
        * platform/chromium/SearchPopupMenuChromium.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        * platform/chromium/SearchPopupMenuChromium.h: Removed.
        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/efl/PopupMenuEfl.h: Removed.
        * platform/efl/SearchPopupMenuEfl.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/efl/SearchPopupMenuEfl.h: Removed.
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        (WebCore::PopupMenu::menuItemActivated):
        (WebCore::PopupMenu::menuUnmapped):
        (WebCore::PopupMenu::menuPositionFunction):
        (WebCore::PopupMenu::menuRemoveItem):
        * platform/gtk/PopupMenuGtk.h: Removed.
        * platform/gtk/SearchPopupMenuGtk.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/gtk/SearchPopupMenuGtk.h: Removed.
        * platform/haiku/PopupMenuHaiku.cpp:
        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/haiku/PopupMenuHaiku.h: Removed.
        * platform/haiku/SearchPopupMenuHaiku.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/haiku/SearchPopupMenuHaiku.h: Removed.
        * platform/mac/PopupMenuMac.h: Removed.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::clear):
        (WebCore::PopupMenu::populate):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/mac/SearchPopupMenuMac.h: Removed.
        * platform/mac/SearchPopupMenuMac.mm:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/qt/PopupMenuQt.h: Removed.
        * platform/qt/QtAbstractWebPopup.h:
        * platform/qt/SearchPopupMenuQt.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/qt/SearchPopupMenuQt.h: Removed.
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::popupClassName):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::calculatePositionAndSize):
        (WebCore::PopupMenu::setFocusedIndex):
        (WebCore::PopupMenu::visibleItems):
        (WebCore::PopupMenu::listIndexAtPoint):
        (WebCore::PopupMenu::focusedIndex):
        (WebCore::PopupMenu::focusFirst):
        (WebCore::PopupMenu::focusLast):
        (WebCore::PopupMenu::down):
        (WebCore::PopupMenu::up):
        (WebCore::PopupMenu::invalidateItem):
        (WebCore::PopupMenu::clientRect):
        (WebCore::PopupMenu::incrementWheelDelta):
        (WebCore::PopupMenu::reduceWheelDelta):
        (WebCore::PopupMenu::scrollToRevealSelection):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        (WebCore::PopupMenu::paint):
        (WebCore::PopupMenu::valueChanged):
        (WebCore::PopupMenu::invalidateScrollbarRect):
        (WebCore::PopupMenu::registerClass):
        (WebCore::PopupMenu::PopupMenuWndProc):
        (WebCore::PopupMenu::wndProc):
        * platform/win/PopupMenuWin.h: Removed.
        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        * platform/win/SearchPopupMenuWin.h: Removed.
        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::OnMenuItemSelected):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/wx/PopupMenuWx.h: Removed.
        * platform/wx/SearchPopupMenuWx.cpp:
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/wx/SearchPopupMenuWx.h: Removed.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle):
        (WebCore::RenderMenuList::showPopup):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::addSearchResult):
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::valueChanged):
        * rendering/RenderTextControlSingleLine.h:

2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Darin Fisher.

        PopupMenu refactoring in preparation to WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42592

        Classes PopupMenu and SearchPopupMenu have been made pure virtual.

        * platform/PopupMenu.h:
        (WebCore::PopupMenu::~PopupMenu):
        * platform/SearchPopupMenu.h:
        (WebCore::SearchPopupMenu::~SearchPopupMenu):

        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
        the new pure virtual PopupMenu and SearchPopupMenu.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle):
        (WebCore::RenderMenuList::showPopup):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::addSearchResult):
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::valueChanged):
        * rendering/RenderTextControlSingleLine.h:

        Chrome and ChromeClient were made responsible for providing instances of classes
        PopupMenu and SearchPopupMenu to its users.

        * loader/EmptyClients.h:
        (WebCore::EmptyPopupMenu::show):
        (WebCore::EmptyPopupMenu::hide):
        (WebCore::EmptyPopupMenu::updateFromElement):
        (WebCore::EmptyPopupMenu::disconnectClient):
        (WebCore::EmptySearchPopupMenu::popupMenu):
        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
        (WebCore::EmptySearchPopupMenu::enabled):
        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
        (WebCore::EmptyChromeClient::createPopupMenu):
        (WebCore::EmptyChromeClient::createSearchPopupMenu):
        * page/Chrome.cpp:
        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
        (WebCore::Chrome::createPopupMenu):
        (WebCore::Chrome::createSearchPopupMenu):
        * page/Chrome.h:
        * page/ChromeClient.h:

        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
        Each of new the files contain the concrete classes that inherit form PopupMenu or
        SearchPopupMenu and are specific for the corresponding platform.

        brew:

        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenuBrew::PopupMenuBrew):
        (WebCore::PopupMenuBrew::~PopupMenuBrew):
        (WebCore::PopupMenuBrew::disconnectClient):
        (WebCore::PopupMenuBrew::show):
        (WebCore::PopupMenuBrew::hide):
        (WebCore::PopupMenuBrew::updateFromElement):
        * platform/brew/PopupMenuBrew.h: Added.
        (WebCore::PopupMenuBrew::client):
        * platform/brew/SearchPopupMenuBrew.cpp:
        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
        (WebCore::SearchPopupMenuBrew::enabled):
        (WebCore::SearchPopupMenuBrew::popupMenu):
        * platform/brew/SearchPopupMenuBrew.h: Added.

        chromium:

        * WebCore.gypi:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupMenuChromium::PopupMenuChromium):
        (WebCore::PopupMenuChromium::~PopupMenuChromium):
        (WebCore::PopupMenuChromium::show):
        (WebCore::PopupMenuChromium::hide):
        (WebCore::PopupMenuChromium::updateFromElement):
        (WebCore::PopupMenuChromium::disconnectClient):
        * platform/chromium/PopupMenuChromium.h:
        (WebCore::PopupMenuChromium::client):
        * platform/chromium/SearchPopupMenuChromium.cpp:
        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
        (WebCore::SearchPopupMenuChromium::popupMenu):
        (WebCore::SearchPopupMenuChromium::enabled):
        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
        * platform/chromium/SearchPopupMenuChromium.h: Added.

        efl:

        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenuEfl::PopupMenuEfl):
        (WebCore::PopupMenuEfl::~PopupMenuEfl):
        (WebCore::PopupMenuEfl::show):
        (WebCore::PopupMenuEfl::hide):
        (WebCore::PopupMenuEfl::updateFromElement):
        (WebCore::PopupMenuEfl::disconnectClient):
        * platform/efl/PopupMenuEfl.h: Added.
        (WebCore::PopupMenuEfl::client):
        * platform/efl/SearchPopupMenuEfl.cpp:
        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
        (WebCore::SearchPopupMenuEfl::popupMenu):
        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
        (WebCore::SearchPopupMenuEfl::enabled):
        * platform/efl/SearchPopupMenuEfl.h: Added.

        gtk:

        * GNUmakefile.am:
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::PopupMenuGtk):
        (WebCore::PopupMenuGtk::~PopupMenuGtk):
        (WebCore::PopupMenuGtk::show):
        (WebCore::PopupMenuGtk::hide):
        (WebCore::PopupMenuGtk::updateFromElement):
        (WebCore::PopupMenuGtk::disconnectClient):
        (WebCore::PopupMenuGtk::menuItemActivated):
        (WebCore::PopupMenuGtk::menuUnmapped):
        (WebCore::PopupMenuGtk::menuPositionFunction):
        (WebCore::PopupMenuGtk::menuRemoveItem):
        * platform/gtk/PopupMenuGtk.h: Added.
        (WebCore::PopupMenuGtk::client):
        * platform/gtk/SearchPopupMenuGtk.cpp:
        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
        (WebCore::SearchPopupMenuGtk::popupMenu):
        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
        (WebCore::SearchPopupMenuGtk::enabled):
        * platform/gtk/SearchPopupMenuGtk.h: Added.

        haiku:

        * platform/haiku/PopupMenuHaiku.cpp:
        (WebCore::HaikuPopup::HaikuPopup):
        (WebCore::HaikuPopup::~HaikuPopup):
        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
        (WebCore::PopupMenuHaiku::disconnectClient):
        (WebCore::PopupMenuHaiku::show):
        (WebCore::PopupMenuHaiku::hide):
        (WebCore::PopupMenuHaiku::updateFromElement):
        * platform/haiku/PopupMenuHaiku.h: Added.
        (WebCore::PopupMenuHaiku::disconnectClient):
        (WebCore::PopupMenuHaiku::client):
        * platform/haiku/SearchPopupMenuHaiku.cpp:
        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
        (WebCore::SearchPopupMenuHaiku::enabled):
        (WebCore::SearchPopupMenuHaiku::popupMenu):
        * platform/haiku/SearchPopupMenuHaiku.h: Added.

        mac:

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/PopupMenuMac.h: Added.
        (WebCore::PopupMenuMac::disconnectClient):
        (WebCore::PopupMenuMac::client):
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenuMac::PopupMenuMac):
        (WebCore::PopupMenuMac::~PopupMenuMac):
        (WebCore::PopupMenuMac::clear):
        (WebCore::PopupMenuMac::populate):
        (WebCore::PopupMenuMac::show):
        (WebCore::PopupMenuMac::hide):
        (WebCore::PopupMenuMac::updateFromElement):
        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
        * platform/mac/SearchPopupMenuMac.h: Added.
        * platform/mac/SearchPopupMenuMac.mm:
        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
        (WebCore::SearchPopupMenuMac::popupMenu):
        (WebCore::SearchPopupMenuMac::enabled):
        (WebCore::SearchPopupMenuMac::saveRecentSearches):
        (WebCore::SearchPopupMenuMac::loadRecentSearches):

        qt:

        * WebCore.pro:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenuQt::PopupMenuQt):
        (WebCore::PopupMenuQt::~PopupMenuQt):
        (WebCore::PopupMenuQt::disconnectClient):
        (WebCore::PopupMenuQt::show):
        (WebCore::PopupMenuQt::hide):
        (WebCore::PopupMenuQt::updateFromElement):
        * platform/qt/PopupMenuQt.h: Added.
        * platform/qt/QtAbstractWebPopup.h:
        * platform/qt/SearchPopupMenuQt.cpp:
        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
        (WebCore::SearchPopupMenuQt::popupMenu):
        (WebCore::SearchPopupMenuQt::saveRecentSearches):
        (WebCore::SearchPopupMenuQt::loadRecentSearches):
        (WebCore::SearchPopupMenuQt::enabled):
        * platform/qt/SearchPopupMenuQt.h: Added.

        win:

        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::PopupMenuWin):
        (WebCore::PopupMenuWin::~PopupMenuWin):
        (WebCore::PopupMenuWin::disconnectClient):
        (WebCore::PopupMenuWin::popupClassName):
        (WebCore::PopupMenuWin::show):
        (WebCore::PopupMenuWin::hide):
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        (WebCore::PopupMenuWin::setFocusedIndex):
        (WebCore::PopupMenuWin::visibleItems):
        (WebCore::PopupMenuWin::listIndexAtPoint):
        (WebCore::PopupMenuWin::focusedIndex):
        (WebCore::PopupMenuWin::focusFirst):
        (WebCore::PopupMenuWin::focusLast):
        (WebCore::PopupMenuWin::down):
        (WebCore::PopupMenuWin::up):
        (WebCore::PopupMenuWin::invalidateItem):
        (WebCore::PopupMenuWin::clientRect):
        (WebCore::PopupMenuWin::incrementWheelDelta):
        (WebCore::PopupMenuWin::reduceWheelDelta):
        (WebCore::PopupMenuWin::scrollToRevealSelection):
        (WebCore::PopupMenuWin::updateFromElement):
        (WebCore::PopupMenuWin::paint):
        (WebCore::PopupMenuWin::valueChanged):
        (WebCore::PopupMenuWin::invalidateScrollbarRect):
        (WebCore::PopupMenuWin::registerClass):
        (WebCore::PopupMenuWin::PopupMenuWndProc):
        (WebCore::PopupMenuWin::wndProc):
        * platform/win/PopupMenuWin.h: Added.
        (WebCore::PopupMenuWin::client):
        (WebCore::PopupMenuWin::scrollbar):
        (WebCore::PopupMenuWin::itemHeight):
        (WebCore::PopupMenuWin::windowRect):
        (WebCore::PopupMenuWin::popupHandle):
        (WebCore::PopupMenuWin::setWasClicked):
        (WebCore::PopupMenuWin::wasClicked):
        (WebCore::PopupMenuWin::setScrollOffset):
        (WebCore::PopupMenuWin::scrollOffset):
        (WebCore::PopupMenuWin::wheelDelta):
        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
        (WebCore::SearchPopupMenuWin::popupMenu):
        (WebCore::SearchPopupMenuWin::enabled):
        (WebCore::SearchPopupMenuWin::saveRecentSearches):
        (WebCore::SearchPopupMenuWin::loadRecentSearches):
        * platform/win/SearchPopupMenuWin.h: Added.

        wx:

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenuWx::PopupMenuWx):
        (WebCore::PopupMenuWx::~PopupMenuWx):
        (WebCore::PopupMenuWx::disconnectClient):
        (WebCore::PopupMenuWx::show):
        (WebCore::PopupMenuWx::OnMenuItemSelected):
        (WebCore::PopupMenuWx::hide):
        (WebCore::PopupMenuWx::updateFromElement):
        * platform/wx/PopupMenuWx.h: Added.
        (WebCore::PopupMenuWx::client):
        * platform/wx/SearchPopupMenuWx.cpp:
        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
        (WebCore::SearchPopupMenuWx::saveRecentSearches):
        (WebCore::SearchPopupMenuWx::loadRecentSearches):
        (WebCore::SearchPopupMenuWx::enabled):
        (WebCore::SearchPopupMenuWx::popupMenu):
        * platform/wx/SearchPopupMenuWx.h: Added.



2010-07-31  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support

        Reviewed by Darin Adler.

        * Configurations/WebCore.xcconfig: Extracted
        PRODUCTION_FRAMEWORKS_DIR variable.

2010-07-31  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        HTMLStyleElement/SVGStyleElement need to share more code
        https://bugs.webkit.org/show_bug.cgi?id=43293

        Simplify HTMLStyleElement/SVGStyleElement. They look identically now, as all code is shared in StyleElement.
        Doesn't affect any tests.

        * dom/StyleElement.cpp:
        (WebCore::StyleElement::StyleElement): Take createdByParser & Document arguments, to share the line number extraction logic. Store it in m_lineNumber.
        (WebCore::StyleElement::insertedIntoDocument): Moved addStyleSheetCandidateNode here, to share code between HTML/SVGStyleElement.
        (WebCore::StyleElement::removedFromDocument): Same for removeStyleSheetCandidateNode.
        (WebCore::StyleElement::childrenChanged): Introduced new helper function.
        (WebCore::StyleElement::finishParsingChildren): Ditto.
        (WebCore::StyleElement::process): Use stored m_lineNumber, avoids a parameter.
        (WebCore::StyleElement::createSheet): No need to call the virtual setLoading() function, just store m_loading in StyleElement, and set it from here.
        (WebCore::StyleElement::isLoading): Introduced new helper function.
        (WebCore::StyleElement::sheetLoaded): Ditto.
        * dom/StyleElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement): Pass Document & createdByParser arguments to StyleElement.
        (WebCore::HTMLStyleElement::finishParsingChildren): Delegate work to StyleElement.
        (WebCore::HTMLStyleElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLStyleElement::removedFromDocument): Ditto.
        (WebCore::HTMLStyleElement::childrenChanged): Ditto.
        * html/HTMLStyleElement.h:
        (WebCore::HTMLStyleElement::isLoading): Ditto.
        (WebCore::HTMLStyleElement::sheetLoaded): Ditto.
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::SVGStyleElement): Pass Document & createdByParser arguments to StyleElement.
        (WebCore::SVGStyleElement::finishParsingChildren): Delegate work to StyleElement.
        (WebCore::SVGStyleElement::insertedIntoDocument): Ditto.
        (WebCore::SVGStyleElement::removedFromDocument): Ditto.
        (WebCore::SVGStyleElement::childrenChanged): Ditto.
        * svg/SVGStyleElement.h:
        (WebCore::SVGStyleElement::isLoading): Ditto.
        (WebCore::SVGStyleElement::sheetLoaded): Ditto.

2010-07-31  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed.  Attempt to fix release build failure.

        Having 'fail:' label without goto statement generates a compiler
        warning that causes a build failure in release build.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-07-31  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Fix 'bool' in bindings/scripts/test/TestObj.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::CREATE):
        (WebDOMTestObj::setCREATE):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_create):
        (webkit_dom_test_obj_set_create):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjCreate):
        (WebCore::setJSTestObjCreate):
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj CREATE]):
        (-[DOMTestObj setCREATE:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::CREATEAttrGetter):
        (WebCore::TestObjInternal::CREATEAttrSetter):

2010-07-30  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Add idl and mock implementation for HTML5 FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=43134

        Add idl for: FileSystem (as DOMFileSystem), Entry, Flags, Metadata,
        FileSystemCallback, EntryCallback and ErrorCallback.
        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html

        They are added only for Mac and chromium.

        Tests will be added when we expose the entry point and add implementation.

        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:

        * storage/DOMFileSystem.cpp: Added.
        * storage/DOMFileSystem.h: Added.
        * storage/DOMFileSystem.idl: Added.
        * storage/Entry.cpp: Added.
        * storage/Entry.h: Added.
        * storage/Entry.idl: Added.
        * storage/EntryCallback.h: Added.
        * storage/EntryCallback.idl: Added.
        * storage/ErrorCallback.h: Added.
        * storage/ErrorCallback.idl: Added.
        * storage/FileSystemCallback.h: Added.
        * storage/FileSystemCallback.idl: Added.
        * storage/Flags.h: Added.
        * storage/Flags.idl: Added.
        * storage/Metadata.h: Added.
        * storage/Metadata.idl: Added.
        * storage/MetadataCallback.h: Added.
        * storage/MetadataCallback.idl: Added.

        * bindings/scripts/CodeGenerator.pm: Added special case handlings for generating setter/getter names for CREATE/EXCLUSIVE attributes in Flags.idl.

        * bindings/scripts/test/TestObj.idl: Updated.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Updated.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Updated.
        * bindings/scripts/test/JS/JSTestObj.cpp: Updated.
        * bindings/scripts/test/JS/JSTestObj.h: Updated.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Updated.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Updated.

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

        Unreviewed, rolling out r64408.
        http://trac.webkit.org/changeset/64408
        https://bugs.webkit.org/show_bug.cgi?id=43292

        Causing failed tests on Chromium canaries due to wrong history
        item counts (Requested by atwilson on #webkit).

        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleRedirect):
        (WebCore::RedirectScheduler::mustLockBackForwardList):
        (WebCore::RedirectScheduler::scheduleLocationChange):
        (WebCore::RedirectScheduler::scheduleFormSubmission):
        * loader/RedirectScheduler.h:

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

        Reviewed by Darin Adler.

        <rdar://problem/8257783> Short documents may print a second blank page
        https://bugs.webkit.org/show_bug.cgi?id=43271

        Test: printing/stretch-to-view-height.html

        * WebCore.exp.in: Export Frame::forceLayoutForPagination(), replacing forceLayoutWithPageWidthRange().
        * page/Frame.cpp:
        (WebCore::Frame::setPrinting): Now takes a page width and height and a maximum shrink factor and passes
        them down to forceLayoutForPagination().
        * page/Frame.h:
        (WebCore::Frame::):
        * page/FrameView.cpp:
        (WebCore::FrameView::reset): Initialize m_pageHeight.
        (WebCore::FrameView::forceLayoutForPagination): Renamed forceLayoutWithPageWidthRange() to this and
        changed it to take a page width and height and a maximum shrink factor. Sets m_pageHeight, which is
        queried by RenderBox::calcHeight() during layout. If the given pageHeight is 0, m_pageHeight is set
        to the visible height, retaining the behavior before this change.
        * page/FrameView.h:
        (WebCore::FrameView::pageHeight): Added this accessor.
        * page/PrintContext.cpp:
        (WebCore::PrintContext::begin): Added a height parameter, used when calling setPrinting().
        (WebCore::PrintContext::end): Updated for setPrinting() changes.
        (WebCore::PrintContext::pageNumberForElement): Account for shrink-to-fit.
        (WebCore::PrintContext::pageProperty): Pass 0 for the height, retaining current behavior.
        (WebCore::PrintContext::numberOfPages): Account for shrink-to-fit.
        (WebCore::PrintContext::spoolAllPagesWithBoundaries): Pass the page width to begin().
        * page/PrintContext.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcHeight): When printing, use FrameView::pageHeight() as the basis for
        viewport-relative heights.

2010-07-30  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        Session history should skip over JS redirects
        https://bugs.webkit.org/show_bug.cgi?id=42861
        
        Lock the back/forward list for location changes that happen before the 
        onload event fires that are not the result of user gestures.

        Test: fast/history/gesture-before-onload.html and updated expectations 
        for http/tests/history tests that used to fail.

        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleRedirect):
        (WebCore::RedirectScheduler::mustLockBackForwardList):
        (WebCore::RedirectScheduler::scheduleLocationChange):
        (WebCore::RedirectScheduler::scheduleFormSubmission):
        * loader/RedirectScheduler.h:

2010-07-30  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        ctx.clearRect improperly clears shadow
        https://bugs.webkit.org/show_bug.cgi?id=43213

        Tests: canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
               canvas/philip/tests/2d.clearRect+fillRect.alpha0.html
               canvas/philip/tests/2d.clearRect+fillRect.basic.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
        Added a new method to wipe out all context attributes to their defaults.
        (WebCore::CanvasRenderingContext2D::clearRect):
        Updated clearRect to ignore shadow, alpha, and global composite attributes
        when clearing the input rect to match the canvas spec.
        * html/canvas/CanvasRenderingContext2D.h:

2010-07-30  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Decouple FileThread from FileStream to support generic file-related async tasks
        https://bugs.webkit.org/show_bug.cgi?id=43135

        No new tests as this doesn't change any functionality.

        * html/FileThread.cpp:
        (WebCore::FileThread::stop):
        (WebCore::SameInstancePredicate::SameFilePredicate):
        (WebCore::SameInstancePredicate::operator()):
        (WebCore::FileThread::unscheduleTasksInternal):
        * html/FileThread.h:
        (WebCore::FileThread::create):
        (WebCore::FileThread::Task::instance):
        (WebCore::FileThread::Task::Task):
        * html/FileThreadTask.h: Changed all templates to take any type as a callee instance.
        (WebCore::createFileThreadTask):

2010-07-30  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

        Eliminate BackForwardList::pushStateItem
        https://bugs.webkit.org/show_bug.cgi?id=43282

        The layout test was previously disabled because of the assertion being
        hit in BackForwardList::pushStateItem.  That assertion revealed the need
        for this patch.

        Test: fast/loader/stateobjects/pushstate-in-iframe.html

        * history/BackForwardList.h:
        * history/BackForwardListChromium.cpp:
        * history/BackForwardListImpl.cpp:
        * history/BackForwardListImpl.h:

        * loader/HistoryController.cpp: Move the logic, of adding a null state
        object to the HistoryItem that was previously the current HistoryItem, to
        HistoryController::pushState from BackForwardList::pushStateItem.  The
        BackForwardList was the wrong place for that logic since it lacked convenient
        access to the target HistoryItem.  It is just given the top-most HistoryItem
        corresponding to the new navigation.

        (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
        (WebCore::HistoryController::pushState):

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

        Reviewed by Simon Fraser.

        Enabling view modes to all platforms
        https://bugs.webkit.org/show_bug.cgi?id=37505

        View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.

        The view mode media feature layout tests are stil skipped for all platforms except Qt
        because of the lack of support of LayoutTestController in those platforms.

        Test: fast/media/view-mode-media-feature.html

        * css/MediaFeatureNames.h:
        * css/MediaQueryEvaluator.cpp:
        (WebCore::view_modeMediaFeatureEval):
        * page/ChromeClient.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::createViewModesSet):
        (WebCore::Page::setViewMode):
        * page/Page.h:
        (WebCore::Page::viewMode):

2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
        https://bugs.webkit.org/show_bug.cgi?id=40627

        Part 4 - Client Notification when the Quota is Reached

        Notify the WebKit client when the per-origin quota is reached
        via a delegate method reachedApplicationCacheOriginQuota.

          Call the delegate method when the quota is reached.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didReachOriginQuota):
        (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback):
        * loader/appcache/ApplicationCacheGroup.h:

          Some minor refactoring to access more quota information
          without repeating code. Such as origin usage, and creating
          an origin record.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::usageForOrigin):
        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin):
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::ApplicationCacheStorage::ensureOriginRecord):
        * loader/appcache/ApplicationCacheStorage.h:

          Boilerplate. Exports and definition of the delegate method.

        * WebCore.OfflineWebApplications.exp:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
        * page/ChromeClient.h:

2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
        https://bugs.webkit.org/show_bug.cgi?id=40627

        Part 3 - Refactor storeNewestCache to allow Failure Reason Output

        Storing can result in an error in a number of reasons. Previously
        the reasons were global and binary and could be determined by
        checking ApplicationCacheStorage state. Now, with per-origin quotas
        a per-origin quota can cause a failure that is not in global state.
        Current failure reasons are:

          OriginQuotaReached = per-origin quota reached, no storage is allowed.
          TotalQuotaReached  = database quota reached, no storage is allowed.
          DiskOrOperationFailure = SQL error such as failed prepare or query. Not expected to happen.

        This part provides an implementation of storeNewestCache for those
        that care about the failure reason, and not just if it succeeded
        or not. This moves the final origin quota check into the transaction.

        * loader/appcache/ApplicationCache.h: style fix for forwarding headers.
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): move origin quota check into storeNewestCache's SQL transaction.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeNewestCache): old implementation calls the new implementation ignoring failure reason.
        (WebCore::ApplicationCacheStorage::storeNewestCache): new implementation provides a failure reason in case of failure.
        * loader/appcache/ApplicationCacheStorage.h:
        (WebCore::ApplicationCacheStorage::): added FailureReason enum and storeNewestCache allowing it.

2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
        https://bugs.webkit.org/show_bug.cgi?id=40627

        Part 2 - Update Schema and enforce Per-Origin Quotas

        Added an "Origins" table to the application cache databases.
        This, like the Database's Origins table, is a list of origin
        and quota pairs. Origins records are added as soon as they are
        needed, and deleted only when the ApplicationCacheStorage is
        emptied. This means Origins records persist even after all
        caches for that origin may be deleted. The "CacheGroups" table
        now has a foreign key column "origin" which relates to the
        "Origins" table.

        To enforce the quotas, remaining quota space is checked at
        the start of update as an estimate and at the end before
        inserting. Currently, reaching the quota limit will simply
        cause an update error. A later part will provide a
        notification to the client to allow an action, and refactor
        the final quota limit check into a transaction.

          Respect the quota during the update process. And cause
          the update process to fail when the quota is reached.

        * loader/appcache/ApplicationCacheGroup.cpp: added loading counter, counts bytes as they load
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::didReceiveData):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        * loader/appcache/ApplicationCacheGroup.h: added security origin, based on the manifest URL
        (WebCore::ApplicationCacheGroup::origin): accessor

          Updates the schema of the database tables as described
          above. Handle other SQL operations such as checking the
          remaining space and inserting and deleting Origins records.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::quotaForOrigin): query for the quota of an origin, may return the default origin quota if it didn't exist.
        (WebCore::ApplicationCacheStorage::remainingSizeForOriginExcludingCache): calculate the remaining size in a quota for an origin, possibly excluding a cache.
        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): persistent update.
        (WebCore::ApplicationCacheStorage::openDatabase): updated schema for CachesGroups, added new table Origins.
        (WebCore::ApplicationCacheStorage::empty): wipe Origins table as well.
        (WebCore::ApplicationCacheStorage::unknownQuota): constant to mean unknown quota

2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
        https://bugs.webkit.org/show_bug.cgi?id=40627

        Part 1 - Add Total and Per-Origin Quota Preferences.

        Allow the application cache total size to be a preference, and
        add a new preference for the default per-origin quota.

          Handle the per-origin quota in the global cacheStorage() object.
          The per-origin quota will be used in a later part, this just
          handles interaction with it from a client.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::setDefaultOriginQuota): setter
        (WebCore::ApplicationCacheStorage::ApplicationCacheStorage): default to "noQuota" on construction
        * loader/appcache/ApplicationCacheStorage.h: 
        (WebCore::ApplicationCacheStorage::noQuota): constant to mean unlimited storage
        (WebCore::ApplicationCacheStorage::defaultOriginQuota): accessor

          Move around some exports around for Offline Web Applications.

        * WebCore.exp.in: Added OFFLINE_WEB_APPLICATIONS exports.

2010-07-30  Andy Estes  <aestes@apple.com>

        Reviewed by David Kilzer.

        Add Xcode support for compiling WebKit against iOS SDKs.
        https://bugs.webkit.org/show_bug.cgi?id=42796
        
        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebCore.xcconfig:

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

        Compile fix: fix a typo in forward declaration, add EmptyClients impl.

        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::getOnscreenGLES2Context):
        (WebCore::EmptyChromeClient::getOffscreenGLES2Context):
        * page/ChromeClient.h:

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

        Reviewed by Darin Fisher.

        Move GLES2 context manipulation to ChromeClient.h and put it behind the right #if guard
        https://bugs.webkit.org/show_bug.cgi?id=43281

        These calls were initially put in ChromeClientChromium, but they aren't chromium specific.
        In theory any port that could create the proper OpenGL ES 2 contexts could implement
        these functions.  Also moves the calls to be behind the correct #if guard.

        * page/ChromeClient.h:
        * page/chromium/ChromeClientChromium.h:

2010-07-30  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by David Levin.

        Interrupt all DB operations when the worker is terminating.
        https://bugs.webkit.org/show_bug.cgi?id=42843

        Tests: fast/workers/storage/interrupt-database-sync.html
               fast/workers/storage/interrupt-database.html

        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
        destructor is called on the context thread, delete m_data directly
        instead of posting a task to do that. We need to do that to make
        sure that all JS objects are destroyed before
        WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
        WorkerContext::clearScript().

        * bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
        all auto-generated callbacks.

        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::~JSTestCallback): Updated the
        expectations for run-bindings-tests.

        * platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
        all DB operations in progress, unless the database was closed or
        is being closed. Unlike sqlite3_interrupt(),
        SQLiteDatabase::interrupt() is sticky: once it's called, trying to
        run any statement on that database will fail with a
        SQLITE_INTERRUPT error code.
        (WebCore::SQLiteDatabase::SQLiteDatabase):
        (WebCore::SQLiteDatabase::close):
        (WebCore::SQLiteDatabase::interrupt):
        (WebCore::SQLiteDatabase::isInterrupted):

        * platform/sql/SQLiteDatabase.h: Added a mutex that can used by
        SQLiteStatement to check if the database was interrupted.
        (WebCore::SQLiteDatabase::databaseMutex):

        * platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
        to check if the database was interrupted, before trying to prepare
        or run the statement. The other methods don't need to hold on to
        the DB lock while running, because they're fast, so we don't need
        to interrupt them.
        (WebCore::SQLiteStatement::prepare):
        (WebCore::SQLiteStatement::step):

        * storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
        and isInterrupted() visible to WebSQLDatabases classes.
        (WebCore::AbstractDatabase::interrupt):
        (WebCore::AbstractDatabase::isInterrupted):
        * storage/AbstractDatabase.h:

        * storage/DatabaseTracker.cpp: Added a method to interrupt all
        databases in a given context.
        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
        * storage/DatabaseTracker.h:

        * storage/SQLStatement.cpp: Changed the exception/error reported
        when a statement is interrupted.
        (WebCore::SQLStatement::execute):
        * storage/SQLStatementSync.cpp:
        (WebCore::SQLStatementSync::execute):

        * storage/SQLTransaction.cpp: Changed the code to release the
        callback objects as soon as they're not needed.
        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
        Changed this method to not schedule the next transaction step when
        the database is interrupted.
        (WebCore::SQLTransaction::performNextStep):
        (WebCore::SQLTransaction::performPendingCallback):
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:

        * storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
        interrupt all databases in a given context.
        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):

        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::stop): Added a call to
        DatabaseTracker::interruptAllDatabasesForContext().

2010-07-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        connect-compositing-iframe2.html test sometimes shows blank iframe content
        https://bugs.webkit.org/show_bug.cgi?id=42046

        Hooking up compositing iframes requires setNeedsStyleRecalc(SyntheticStyleChange) to
        always result in a call to RenderLayer::styleChanged(). However, the semantics of 
        setNeedsStyleRecalc() was that each call would overwrite the existing styleChangeType,
        allowing a "lesser" style change to override a "greater" one. In the test content,
        SyntheticStyleChange was being replaced by FullStyleChange when the classname changed.
        This resulted in RenderLayer::styleChanged() not being called.
        
        Fix by changing the behavior of setNeedsStyleRecalc() to only touch the style change
        type if a "lesser" change is being replaced with a "greater" one. This required adding
        a new clearNeedsStyleRecalc() method to reset the style change type to NoStyleChange.
        
        In addition, in Node::setNeedsStyleRecalc(), only propagate the childNeedsStyleRecalc
        up the parent change if the node was not already needing recalc. In order to fix issues
        with attaching, this required new call to clearNeedsStyleRecalc() at the end of attach().

        * manual-tests/compositing/missing-iframe-contents.html: Added.
        * manual-tests/compositing/resources/composited-subframe.html: Copied from LayoutTests/compositing/iframes/resources/composited-subframe.html.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle): Call clearNeedsStyleRecalc().
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Call clearNeedsStyleRecalc().

        * dom/Node.h:
        (WebCore::Node::clearNeedsStyleRecalc): New method.
        * dom/Node.cpp:
        (WebCore::Node::setNeedsStyleRecalc): Only call setStyleChange() if the change type
        is greater than the current change type.
        (WebCore::Node::attach): After attaching, we can call clearNeedsStyleRecalc().

        * dom/Text.cpp:
        (WebCore::Text::recalcStyle): Call clearNeedsStyleRecalc().
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::recalcStyle): Call clearNeedsStyleRecalc().

2010-07-30  W. James MacLean  <wjmaclean@google.com>

        Reviewed by Nikolas Zimmermann.

        SVG - numeric overflow for very large elements
        https://bugs.webkit.org/show_bug.cgi?id=25645

        Two of the expected test outputs were incorrect now that parsing of large values
        is handled correctly.
        - Revised FloatRect to remove bad float-to-int conversions in enclosingIntRect()
        - Revised _parseNumber to do right-to-left float-based parsing of input value

        Test: svg/custom/massive-coordinates.svg

        * platform/graphics/FloatRect.cpp:
        (WebCore::safeFloatToInt):
        (WebCore::enclosingIntRect):
        * svg/SVGParserUtilities.cpp:
        (WebCore::_parseNumber):

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

        Reviewed by Darin Fisher.

        [chromium] Make the GLES2 texture map generic and teach ImageSkia and ImageBufferSkia about GLES2
        https://bugs.webkit.org/show_bug.cgi?id=43218

        This makes the GLES2Canvas' TextureHashMap key on void* instead of NativeImagePtr
        to make it easier to use with other backends.  It also teaches ImageSkia how
        to draw to a GLES2Canvas instead of a skia buffer.

        No change in functionality (yet), no new tests.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::GLES2Canvas):
        (WebCore::GLES2Canvas::createTexture):
        (WebCore::GLES2Canvas::getTexture):
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawBitmapGLES2):
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImageSingleFrameSkia::draw):

2010-07-30  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Implement SVGScriptElement::shouldExecuteAsJavaScript() otherwise
        SVGScriptElement cannot run when XHTMLMP is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=43267

        No test needed, because it fails all SVG <script> tests when XHTMLMP is on.

        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
        * svg/SVGScriptElement.h:

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

        Reviewed by Darin Adler.

        Style errors in Navigator.h
        https://bugs.webkit.org/show_bug.cgi?id=43262

        Fixing style changes. No new tests.

        * page/Navigator.h:
        (WebCore::Navigator::create):
        (WebCore::Navigator::frame):
        (WebCore::Navigator::optionalGeolocation):

2010-07-27  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        History.pushState() + navigation operates on top frame when called from
        nested context
        https://bugs.webkit.org/show_bug.cgi?id=43080

        Test: fast/loader/stateobjects/pushstate-in-iframe.html

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::pushState): createTreeItem should be
        called on the top-most HistoryController so that we properly clone
        the HistoryItem tree starting at the root node.

2010-07-30  fsamuel@chromium.org  <fsamuel@chromium.org>

        Reviewed by Dimitri Glazkov.

        Expand SVG Attribute Macros
        https://bugs.webkit.org/show_bug.cgi?id=43254

        Expanded SVG Attribute Macros to reduce debugging headache.

        No change in behavior, so no new tests.

        * rendering/style/SVGRenderStyle.h: Expanded and removed references to SVG_RS_DEFINE_ATTRIBUTE* macros.
        * rendering/style/SVGRenderStyleDefs.h: Removed definitons for expanded macros.

2010-07-30  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Add callback arguments support to binding code generator scripts
        https://bugs.webkit.org/show_bug.cgi?id=43130

        Tests: bindings/scripts/test/TestObj.idl

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:

        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
        (WebCore::ConfigureV8TestObjTemplate):

2010-07-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Implement NPN_InvokeDefault
        https://bugs.webkit.org/show_bug.cgi?id=43266

        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::isPluginElement):
        Add convenience function.

        (WebCore::pluginInstance):
        Call isPluginElement.

        (WebCore::pluginScriptObjectFromPluginViewBase):
        Given an JSHTMLElement, ask the PluginViewBase for the scriptable object.

        (WebCore::pluginScriptObject):
        Call isPluginElement. Call pluginScriptObjectFromPluginViewBase.

        (WebCore::callPlugin):
        Get the script object, assemble the arguments and call "call" directly.

        (WebCore::runtimeObjectGetCallData):
        Try to get the script object from the PluginViewBase first.

        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::scriptObject):
        Remove ExecState parameter.

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

        Roll our r64361 and r64363

        We can't make these changes until QuartzCore.lib is included in
        WebKitSupportLibrary.

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

        Remove uses of CACFContextRef and CARender* from WebCore

        These types are now wrapped in a WKCACFContext type exported by
        WebKitSystemInterface.

        Fixes <http://webkit.org/b/43244>.

        Reviewed by Sam Weinig.

        * platform/graphics/win/WKCACFContextFlusher.cpp:
        (WebCore::WKCACFContextFlusher::addContext):
        (WebCore::WKCACFContextFlusher::removeContext):
        (WebCore::WKCACFContextFlusher::flushAllContexts):
        * platform/graphics/win/WKCACFContextFlusher.h:
        Changed to use WKCACFContext. We don't retain/release the context when
        putting it into/taking it out of the set. WKCACFContext is not a
        ref-counted type, so we can't retain/release it, but the
        retain/release was also unnecessary as WKCACFLayerRenderer calls
        removeContext before the context is destroyed.

        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::becomeRootLayerForContext):
        * platform/graphics/win/WKCACFLayer.h:
        Changed to use WKCACFContext.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::didFlushContext):
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
        (WebCore::WKCACFLayerRenderer::createRenderer):
        (WebCore::WKCACFLayerRenderer::destroyRenderer):
        (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
        CGSRegion with WebKitSystemInterface functions/types.
        (WebCore::WKCACFLayerRenderer::resetDevice):
        * platform/graphics/win/WKCACFLayerRenderer.h:
        Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
        with a single WKCACFContext, which wraps all three. We hold a bare
        pointer to it and destroy it in our destructor.

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

        Remove knowledge of WKCACFContextFlusher from WKCACFLayer

        Fixes <http://webkit.org/b/43248> WKCACFLayer shouldn't know about
        WKCACFContextFlusher

        Reviewed by Sam Weinig.

        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::setNeedsCommit): Don't bother calling to
        WKCACFContextFlusher. Our root layer will do this for us.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFRootLayer::setNeedsRender): Changed to call the new
        layerTreeDidChange function.
        (WebCore::WKCACFLayerRenderer::layerTreeDidChange): Added. Tells
        WKCACFContextFlusher that the context has changed, and schedules a
        render.

        * platform/graphics/win/WKCACFLayerRenderer.h: Added
        layerTreeDidChange.

2010-07-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Rename all the IDBIndex classses to match the latest conventions
        https://bugs.webkit.org/show_bug.cgi?id=43190

        No functionality has changed.

        IDBIndexRequest -> IDBIndex in the spec.  So that's the first change.
        IDBIndex was the name of our interface class though, so we need to rename
        it to get it out of the way.  While we're at it, we might as well clean
        up the naming in general to make things more clear.  In the future, we're
        going to need another layer (yes, yuck) which will be shared by the async
        and sync classes which will do caching and other optimizations.  That will
        then connect to the backend.  We also added "Interface" to make it more
        clear that's what the file/class is.

        Existing layout tests are enough since nothing should change as far as JavaScript can see.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbIndex):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBIndex.cpp: Added.
        (WebCore::IDBIndex::IDBIndex):
        (WebCore::IDBIndex::~IDBIndex):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::create):
        (WebCore::IDBIndex::name):
        (WebCore::IDBIndex::keyPath):
        (WebCore::IDBIndex::unique):
        * storage/IDBIndex.idl: Added.
        * storage/IDBIndexBackendImpl.cpp: Added.
        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
        (WebCore::IDBIndexBackendImpl::~IDBIndexBackendImpl):
        * storage/IDBIndexBackendImpl.h: Added.
        (WebCore::IDBIndexBackendImpl::create):
        (WebCore::IDBIndexBackendImpl::name):
        (WebCore::IDBIndexBackendImpl::keyPath):
        (WebCore::IDBIndexBackendImpl::unique):
        * storage/IDBIndexBackendInterface.h: Added.
        (WebCore::IDBIndexBackendInterface::~IDBIndexBackendInterface):
        * storage/IDBIndexImpl.cpp: Removed.
        * storage/IDBIndexImpl.h: Removed.
        * storage/IDBIndexRequest.cpp: Removed.
        * storage/IDBIndexRequest.h: Removed.
        * storage/IDBIndexRequest.idl: Removed.
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStoreImpl.cpp:
        (WebCore::IDBObjectStoreImpl::createIndex):
        (WebCore::IDBObjectStoreImpl::index):
        * storage/IDBObjectStoreImpl.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::index):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:

2010-07-30  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Add library version and soname to EFL generated libraries and binary.
        https://bugs.webkit.org/show_bug.cgi?id=43212

        Add version and soname to libwebcore.so in case of linking as shared
        library.

        No new feature, so no new tests.

        * CMakeLists.txt:

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

        Reviewed by Steve Block.

        Add LayoutTestController methods to test DeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=39589

        This patch does not hook up the new LayoutTestController method to WebKit
        for any platform. This will be done in later patches.
        https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.

        Test: fast/dom/DeviceOrientation/basic-operation.html

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceOrientationClient.h:
        (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::DeviceOrientationController):
        * dom/DeviceOrientationEvent.cpp:
        * platform/mock/DeviceOrientationClientMock.cpp: Added.
        (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
        (WebCore::DeviceOrientationClientMock::setController):
        (WebCore::DeviceOrientationClientMock::startUpdating):
        (WebCore::DeviceOrientationClientMock::stopUpdating):
        (WebCore::DeviceOrientationClientMock::setOrientation):
        (WebCore::DeviceOrientationClientMock::timerFired):
        * platform/mock/DeviceOrientationClientMock.h: Added.
        (WebCore::DeviceOrientationClientMock::lastOrientation):

2010-07-30  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Add a mock in WebCore for testing speech input
        https://bugs.webkit.org/show_bug.cgi?id=42603

        Layout tests will be added in a subsequent patch using this mock.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mock/SpeechInputClientMock.cpp: Added.
        (WebCore::SpeechInputClientMock::SpeechInputClientMock):
        (WebCore::SpeechInputClientMock::startRecognition):
        (WebCore::SpeechInputClientMock::stopRecording):
        (WebCore::SpeechInputClientMock::cancelRecognition):
        (WebCore::SpeechInputClientMock::setRecognitionResult):
        (WebCore::SpeechInputClientMock::timerFired):
        * platform/mock/SpeechInputClientMock.h: Added.

2010-07-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Optimize SVGResources memory usage
        https://bugs.webkit.org/show_bug.cgi?id=43236

        Instead of storing pointers to all possible resources that could be applied to an element, group them in three categories:
        clipper/filter/masker, marker-start/marker-mid/marker-end, and fill/stroke.

        Only build the cached resources data for elements where the properties can be applied to. Maintain a static list of tagnames
        for each of the three categories, to avoid doing unncessary work.

        Doesn't affect any tests.

        * rendering/SVGResources.cpp:
        (WebCore::SVGResources::SVGResources):
        (WebCore::clipperFilterMaskerTags):
        (WebCore::markerTags):
        (WebCore::fillAndStrokeTags):
        (WebCore::SVGResources::buildCachedResources):
        (WebCore::SVGResources::invalidateClient):
        (WebCore::SVGResources::resourceDestroyed):
        (WebCore::SVGResources::buildSetOfResources):
        (WebCore::SVGResources::setClipper):
        (WebCore::SVGResources::resetClipper):
        (WebCore::SVGResources::setFilter):
        (WebCore::SVGResources::resetFilter):
        (WebCore::SVGResources::setMarkerStart):
        (WebCore::SVGResources::resetMarkerStart):
        (WebCore::SVGResources::setMarkerMid):
        (WebCore::SVGResources::resetMarkerMid):
        (WebCore::SVGResources::setMarkerEnd):
        (WebCore::SVGResources::resetMarkerEnd):
        (WebCore::SVGResources::setMasker):
        (WebCore::SVGResources::resetMasker):
        (WebCore::SVGResources::setFill):
        (WebCore::SVGResources::resetFill):
        (WebCore::SVGResources::setStroke):
        (WebCore::SVGResources::resetStroke):
        (WebCore::SVGResources::dump):
        * rendering/SVGResources.h:
        (WebCore::SVGResources::clipper):
        (WebCore::SVGResources::filter):
        (WebCore::SVGResources::markerStart):
        (WebCore::SVGResources::markerMid):
        (WebCore::SVGResources::markerEnd):
        (WebCore::SVGResources::masker):
        (WebCore::SVGResources::fill):
        (WebCore::SVGResources::stroke):
        (WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
        (WebCore::SVGResources::ClipperFilterMaskerData::create):
        (WebCore::SVGResources::MarkerData::MarkerData):
        (WebCore::SVGResources::MarkerData::create):
        (WebCore::SVGResources::FillStrokeData::FillStrokeData):
        (WebCore::SVGResources::FillStrokeData::create):

2010-07-26  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] IndexedDatabase should be called IDBFactory.
        https://bugs.webkit.org/show_bug.cgi?id=42967

        Rename IndexedDatabase to IDBFactory to match the specification.

        Also implement the following new naming convention:
        IDBFoo IDL interfaces are implemented using IDBFoo C++ classes.
        IDBFoo objects have pointers to IDBFooBackendInterface objects.
        IDBFooBackendInterface is implemented by IDBFooBackendImpl and
        IDBFooBackendProxy (for Chromium).

        No new tests needed, just renaming.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::indexedDB):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::idbFactory):
        * page/PageGroup.h:
        * platform/chromium/ChromiumBridge.h:
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbFactory):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBDatabaseRequest.cpp:
        * storage/IDBFactory.cpp: Added.
        (WebCore::IDBFactory::IDBFactory):
        (WebCore::IDBFactory::~IDBFactory):
        (WebCore::IDBFactory::open):
        * storage/IDBFactory.h: Added.
        (WebCore::IDBFactory::create):
        * storage/IDBFactory.idl: Added.
        * storage/IDBFactoryBackendInterface.cpp: Added.
        (WebCore::IDBFactoryBackendInterface::create):
        * storage/IDBFactoryBackendInterface.h: Added.
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
        * storage/IDBFactoryBackendImpl.cpp: Added.
        (WebCore::IDBFactoryBackendImpl::create):
        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
        (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBFactoryBackendImpl.h: Added.
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::only):
        (WebCore::IDBKeyRange::leftBound):
        (WebCore::IDBKeyRange::rightBound):
        (WebCore::IDBKeyRange::bound):
        * storage/IDBKeyRange.h:
        * storage/IDBKeyRange.idl:
        * storage/IndexedDatabase.cpp: Removed.
        * storage/IndexedDatabase.h: Removed.
        * storage/IndexedDatabaseImpl.cpp: Removed.
        * storage/IndexedDatabaseImpl.h: Removed.
        * storage/IndexedDatabaseRequest.cpp: Removed.
        * storage/IndexedDatabaseRequest.h: Removed.
        * storage/IndexedDatabaseRequest.idl: Removed.
        * storage/chromium/IDBFactoryBackendInterface.cpp: Added.
        (WebCore::IDBFactoryBackendInterface::create):
        * storage/chromium/IndexedDatabase.cpp: Removed.

2010-07-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Crash on refresh with a comment selected in the Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=43183

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::nodeForPath):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):

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

        Reviewed by Nikolas Zimmermann.

        feTurbulence is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=5864

        This code is based on the previous implementation of
        Dirk Schulze, extended with some modification and optimization.

        LayoutTests: Updating expected values for turbulence filter.
        svg/W3C-SVG-1.1/filters-turb-01-f.svg

        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::build):
        * svg/graphics/filters/SVGFETurbulence.cpp:
        (WebCore::FETurbulence::FETurbulence):
        (WebCore::FETurbulence::create):
        (WebCore::FETurbulence::PaintingData::PaintingData):
        (WebCore::FETurbulence::PaintingData::random):
        (WebCore::smoothCurve):
        (WebCore::linearInterpolation):
        (WebCore::FETurbulence::initPaint):
        (WebCore::checkNoise):
        (WebCore::FETurbulence::noise2D):
        (WebCore::Noise::if):
        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
        (WebCore::FETurbulence::apply):
        * svg/graphics/filters/SVGFETurbulence.h:
        (WebCore::):

2010-07-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        Cairo: Need to implement GraphicsContext::clipConvexPolygon()
        https://bugs.webkit.org/show_bug.cgi?id=41308

        Implement clipConvexPolygon for Cairo ports and enable new path based
        borders for that port as well.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::addConvexPolygonToContext): Add this helper method.
        (WebCore::GraphicsContext::drawConvexPolygon): Use the new addConvexPolygonToContext helper.
        (WebCore::GraphicsContext::clipConvexPolygon): Implement this method.
        * rendering/RenderObject.h: Enable path based borders for Cairo.

2010-07-29  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        InsertOrderedList does not switch the list type properly when it has an inner list.
        https://bugs.webkit.org/show_bug.cgi?id=43166

        The bug was caused by forcedCreateList was not set to true when the start and the end
        of the selection lies in the same list. Added selectionHasListOfType to fix this problem.

        WebKit used not to convert the outer lists even when the list is fully selected.
        Corrected this behavior by converting the entire list at once when the list is fully selected.
        To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.

        Tests: editing/execCommand/switch-list-type-with-inner-list.html
               editing/execCommand/switch-list-type-with-orphaned-li.html

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
        (WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
        (WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
        (WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
        (WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
        * editing/InsertListCommand.h:
        * editing/htmlediting.cpp:
        (WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
        (WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.

2010-07-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
        https://bugs.webkit.org/show_bug.cgi?id=41732

        Do not apply paths added to the Cairo GraphicsContext, until they are used.
        This prevents drawing routines such as fillRect from interacting with any
        path which callers are constructing on the GraphicsContext.

         This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
         so tests for that issue will test this fix.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::appendPathToCairoContext): Added. A helper method which adds a path
        to a native Cairo context.
        (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
        existing path first.
        (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
        operates on a WebCore path.
        (WebCore::fillCurrentCairoPath): Added. Helper which fills the current cairo context path.
        (WebCore::strokeCurrentCairoPath): Added. Helper which strokes the current cairo context path.
        (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
        was not called, because cairo_stroke implicitly clears the path.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
        and clear m_pendingPath, instead of relying on the pre-existing context path. Do the
        actual fill via the new helper.
        (WebCore::GraphicsContext::strokePath): Ditto.
        (WebCore::GraphicsContext::drawPath): Ditto.
        (WebCore::GraphicsContext::fillRect): Use the new fillCurrentCairoPath helper.
        (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
        of addPath (which will blow away any path callers are building).
        (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
        of addPath (which will blow away any path callers are building).
        (WebCore::GraphicsContext::strokeRect): Use the new strokeCurrentCairoPath helper.
        (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
        (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
        Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
        cairo context.
        (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
        (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.

2010-07-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r64313.
        http://trac.webkit.org/changeset/64313
        https://bugs.webkit.org/show_bug.cgi?id=43233

        Some Chromium bots are not happy with it for some unknown
        reason. (Requested by dumi on #webkit).

        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::~JSTestCallback):
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::SQLiteDatabase):
        (WebCore::SQLiteDatabase::close):
        (WebCore::SQLiteDatabase::lock):
        (WebCore::SQLiteDatabase::unlock):
        * platform/sql/SQLiteDatabase.h:
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):
        (WebCore::SQLiteStatement::step):
        * storage/AbstractDatabase.cpp:
        * storage/AbstractDatabase.h:
        * storage/DatabaseTracker.cpp:
        * storage/DatabaseTracker.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        * storage/SQLStatementSync.cpp:
        (WebCore::SQLStatementSync::execute):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
        (WebCore::SQLTransaction::performNextStep):
        (WebCore::SQLTransaction::performPendingCallback):
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:
        * storage/chromium/DatabaseTrackerChromium.cpp:
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::stop):

2010-07-29  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed, rolling out r64318.
        http://trac.webkit.org/changeset/64318
        https://bugs.webkit.org/show_bug.cgi?id=41732

        This change broke many tests.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::drawPath):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:

2010-07-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
        https://bugs.webkit.org/show_bug.cgi?id=41732

        Do not apply paths added to the Cairo GraphicsContext, until they are used.
        This prevents drawing routines such as fillRect from interacting with any
        path which callers are constructing on the GraphicsContext.

         This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
         so tests for that issue will test this fix.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::appendPathToCairoContext): Added. A helper method which adds a path
        to a native Cairo context.
        (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
        existing path first.
        (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
        operates on a WebCore path.
        (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
        was not called, because cairo_stroke implicitly clears the path.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
        and clear m_pendingPath, instead of relying on the pre-existing context path.
        (WebCore::GraphicsContext::strokePath): Ditto.
        (WebCore::GraphicsContext::drawPath): Ditto.
        (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
        of addPath (which will blow away any path callers are building).
        (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
        of addPath (which will blow away any path callers are building).
        (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
        (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
        Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
        cairo context.
        (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
        (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.

2010-07-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [Cairo] Remove setStrokeStyle workaround for InlineTextBoxes
        https://bugs.webkit.org/show_bug.cgi?id=43136

        Remove workaround added in https://bugs.webkit.org/show_bug.cgi?id=15659
        to fix stroke style for InlineTextBox underlines.

        No new tests as this should not change functionality.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForText): Remove old workaround.

2010-07-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by David Levin.

        Interrupt all DB operations when the worker is terminating.
        https://bugs.webkit.org/show_bug.cgi?id=42843

        Tests: fast/workers/storage/interrupt-database-sync.html
               fast/workers/storage/interrupt-database.html

        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
        destructor is called on the context thread, delete m_data directly
        instead of posting a task to do that. We need to do that to make
        sure that all JS objects are destroyed before
        WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
        WorkerContext::clearScript().

        * bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
        all auto-generated callbacks.

        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::~JSTestCallback): Updated the
        expectations for run-bindings-tests.

        * platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
        all DB operations in progress, unless the database was closed or
        is being closed. Unlike sqlite3_interrupt(),
        SQLiteDatabase::interrupt() is sticky: once it's called, trying to
        run any statement on that database will fail with a
        SQLITE_INTERRUPT error code.
        (WebCore::SQLiteDatabase::SQLiteDatabase):
        (WebCore::SQLiteDatabase::close):
        (WebCore::SQLiteDatabase::interrupt):
        (WebCore::SQLiteDatabase::isInterrupted):

        * platform/sql/SQLiteDatabase.h: Added a mutex that can used by
        SQLiteStatement to check if the database was interrupted.
        (WebCore::SQLiteDatabase::databaseMutex):

        * platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
        to check if the database was interrupted, before trying to prepare
        or run the statement. The other methods don't need to hold on to
        the DB lock while running, because they're fast, so we don't need
        to interrupt them.
        (WebCore::SQLiteStatement::prepare):
        (WebCore::SQLiteStatement::step):

        * storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
        and isInterrupted() visible to WebSQLDatabases classes.
        (WebCore::AbstractDatabase::interrupt):
        (WebCore::AbstractDatabase::isInterrupted):
        * storage/AbstractDatabase.h:

        * storage/DatabaseTracker.cpp: Added a method to interrupt all
        databases in a given context.
        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
        * storage/DatabaseTracker.h:

        * storage/SQLStatement.cpp: Changed the exception/error reported
        when a statement is interrupted.
        (WebCore::SQLStatement::execute):
        * storage/SQLStatementSync.cpp:
        (WebCore::SQLStatementSync::execute):

        * storage/SQLTransaction.cpp: Changed the code to release the
        callback objects as soon as they're not needed.
        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
        Changed this method to not schedule the next transaction step when
        the database is interrupted.
        (WebCore::SQLTransaction::performNextStep):
        (WebCore::SQLTransaction::performPendingCallback):
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:

        * storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
        interrupt all databases in a given context.
        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):

        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::stop): Added a call to
        DatabaseTracker::interruptAllDatabasesForContext().

2010-07-29  Bernhard Bauer  <bauerb@chromium.org>

        Reviewed by Darin Fisher.

        Check if plugins are allowed before creating a Java applet.
        https://bugs.webkit.org/show_bug.cgi?id=43196

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::createJavaAppletWidget):

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

        Reviewed by Simon Fraser.

        Ask a canvas' rendering context if it is accelerated instead tying it directly to webgl
        https://bugs.webkit.org/show_bug.cgi?id=43206

        This unifies the logic for whether a canvas is accelerated or not into one place
        and makes it easier to expand the logic in the future to, for example, cover some
        2d canvases.

        Just a refactoring, no change in behavior so no new tests.

        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::isAccelerated):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::isAccelerated):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::requiresLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):

2010-07-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Implement NPN_Status
        https://bugs.webkit.org/show_bug.cgi?id=43205

        * WebCore.exp.in:
        Export Chrome::setStatusText.

2010-07-29  Victor Wang  <victorw@chromium.org>

        Unreviewed, rolling out r64270.
        http://trac.webkit.org/changeset/64270
        https://bugs.webkit.org/show_bug.cgi?id=39589

        The patch breaks chromium webkit unittest

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceOrientationClient.h:
        (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::DeviceOrientationController):
        * dom/DeviceOrientationEvent.cpp:
        * platform/mock/DeviceOrientationClientMock.cpp: Removed.
        * platform/mock/DeviceOrientationClientMock.h: Removed.

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

        Reviewed by Darin Adler.

        Resizer control does not paint in otherwise empty compositing layer
        https://bugs.webkit.org/show_bug.cgi?id=42306
        
        Ensure that we create backing store for an empty element with resize: both,
        in order to render the resizer control.

        Test: compositing/overflow/resize-painting.html

        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Check for hasOverflowControls()
        earlier, before any child checks.
        (WebCore::RenderLayerBacking::hasNonCompositingDescendants): Renamed from hasNonCompositingContent()
        to clarify its purpose.

2010-07-29  Adam Roben  <aroben@apple.com>

        Remove WKCACFLayer::Lanczos

        This member is also unused.

        Rubber-stamped in advance by John Sullivan.

        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::toCACFFilterType):
        (WebCore::fromCACFFilterType):
        * platform/graphics/win/WKCACFLayer.h:
        (WebCore::WKCACFLayer::):

2010-07-29  Adam Roben  <aroben@apple.com>

        Remove some unused WKCACFLayer members

        Fixes <http://webkit.org/b/43200> WKCACFLayer has some unused members

        Reviewed by John Sullivan.

        * platform/graphics/win/WKCACFLayer.h: Removed [set]ClearsContext,
        [set]Filters, and [set]SortsSublayers.

2010-07-28  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Clear PluginData's page pointer on Page destruction
        https://bugs.webkit.org/show_bug.cgi?id=43147

        Test: plugins/access-after-page-destroyed.html

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

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

        Reviewed by Darin Adler.

        SHOULD NEVER BE REACHED assertion when switching tabs with composited content
        https://bugs.webkit.org/show_bug.cgi?id=43167

        When the root layer becomes unattached (e.g. when switching tabs), don't return
        'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
        both allocates wasteful backing store, and causes an assertion when we try to
        paint the layer.
        
        Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintingGoesToWindow):

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

        Reviewed by Pavel Feldman.

        Crash when computing pseudo-style of a vanished scrollbar in inspector
        https://bugs.webkit.org/show_bug.cgi?id=42561
        
        When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
        otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
        to try to use m_owner to get pseudo style.

        Test: scrollbars/overflow-custom-scrollbar-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
        * rendering/RenderScrollbar.h:
        (WebCore::RenderScrollbar::clearOwningRenderer): New method.

2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix release builds, by removing unused variables, that only served for ASSERTs that are no longer needed.

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
        (WebCore::SVGRenderSupport::pointInClippingArea):

2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix build warning about unreachable code, seen on the windows slave.

        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::selfWillPaint):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::selfWillPaint):

2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        WebKit shouldn't ignore resource cycles, but break them as Opera does
        https://bugs.webkit.org/show_bug.cgi?id=43031

        mask images are not updated when render objects' bounds change
        https://bugs.webkit.org/show_bug.cgi?id=15124

        SVG Gradients do not resize correctly
        https://bugs.webkit.org/show_bug.cgi?id=41902

        svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
        https://bugs.webkit.org/show_bug.cgi?id=42616

        svg/dynamic-updates: SVGMaskElement tests are all broken
        https://bugs.webkit.org/show_bug.cgi?id=42617

        Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.

        We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
        node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
        to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).

        Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
        Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
        from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
        which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
        objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
        phase begins.

        Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
        As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
        The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
        for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.

        Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
        * rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache.
        (WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache.
        (WebCore::RenderPath::strokeContains): Ditto.
        (WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now.
        (WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
        * rendering/RenderPath.h:
        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed.
        (WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
        (WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
        (WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
        * rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
        (WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed.
        (WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
        (WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
        (WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed.
        (WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
        (WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed.
        (WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
        (WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter.
        (WebCore::RenderSVGResource::strokePaintingResource): Ditto.
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty.
        (WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
        (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
        (WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
        (WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache.
        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceContainer.cpp:
        (WebCore::svgExtensionsFromNode):
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange.
        (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered.
        (WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM.
        (WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed.
        (WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style.
        (WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache.
        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources.
        (WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto.
        (WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource.
        (WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients.
        (WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange.
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
        * rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty.
        (WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
        (WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty.
        (WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
        (WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed.
        (WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here.
        (WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
        (WebCore::RenderSVGResourceMarker::invalidateClient): Ditto.
        (WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
        * rendering/RenderSVGResourceMarker.h:
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty.
        (WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
        (WebCore::RenderSVGResourceMasker::invalidateClient): Ditto.
        (WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty.
        (WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
        (WebCore::RenderSVGResourcePattern::invalidateClient): Ditto.
        (WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
        * rendering/RenderSVGResourcePattern.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
        (WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed.
        (WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
        (WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
        * rendering/RenderSVGText.h:
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer.
        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource.
        (WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource.
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
        (WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
        * rendering/SVGInlineTextBox.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache.
        (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
        (WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter. 
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed.
        (WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
        * rendering/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
        * rendering/SVGResourcesCycleSolver.cpp:
        (WebCore::setFollowLinkForChainableResource): Implemented stub method.
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGClipPathElement::childrenChanged): Ditto.
        * svg/SVGClipPathElement.h:
        (WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
        * svg/SVGElement.h:
        (WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true.
        (WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
        (WebCore::SVGFilterElement::childrenChanged): Ditto.
        * svg/SVGFilterElement.h:
        (WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
        (WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true.
        (WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGGradientElement::childrenChanged): Ditto.
        * svg/SVGGradientElement.h:
        (WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
        (WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGMarkerElement::childrenChanged): Ditto.
        (WebCore::SVGMarkerElement::setOrientToAuto): Ditto.
        (WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
        * svg/SVGMarkerElement.h:
        (WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGMaskElement::childrenChanged): Ditto.
        * svg/SVGMaskElement.h:
        (WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true.
        (WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGPatternElement::childrenChanged): Ditto.
        (WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
        * svg/SVGPatternElement.h:
        (WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
        (WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
        (WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
        * svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.

2010-07-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Support to enable WML in WebKit EFL
        https://bugs.webkit.org/show_bug.cgi?id=43178

        WebKit EFL cannot enable WML. WML files are added to CMakeLists.txt
        to enable WML in WebKit EFL.

        * CMakeLists.txt: Support to enable WML.

2010-07-21 Grace Kloba  <klobag@gmail.com> , Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by David Hyatt.

        Enhance the hit testing to take a rectangle instead of a point
        https://bugs.webkit.org/show_bug.cgi?id=40197

        The primary goal of this change is to provide mechanisms for more precise tap
        actions by the users on mobile devices.

        Patch extends the hit testing system to work considering a rectangular area
        as input instead of a point, when applicable. For that, the HitTestResult class
        was modified to take a padding (IntSize). The padding specifies a fuzzy range for
        accepting input events in pixels coordinates for both vertical and horizontal
        orientations. In other words, it tells how much to expand the search rect
        around a supposed touch point.

        If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior
        as the current point based hit testing: methods are no-op'ed to not regress it performance-wise
        since it is the common behavior. When positive padding is provided, the HitTestResult class will
        keep record of all nodes that intersect the built up test area. The logic will continue searching
        when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate.
        The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how
        to process them.

        In order to expose the functionality, the patch:

        - Adds a nodesFromRect method to the Document class, exposing the funcionality
        to the DOM. Method returns a NodeList with all nodes that intersect the given
        hit-tested area.
        - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
        parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a
        non-negative padding is passed in.

        Test: fast/dom/nodesFromRect-basic.html

        * WebCore.base.exp:
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
        the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
        as input instead of a point, and returning a z-index ordered list of nodes (not elements)
        whose area intersect the hit test rect.
        * dom/Document.h: Ditto.
        * dom/Document.idl: Ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
        method. Patch adds a additional IntSize parameter to work as the padding area, building up
        the hit test rect.
        * page/EventHandler.h: Ditto.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
        padding IntSize as parameter. It can be (0,0).
        (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
        (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
        list node's of both objects get amended.
        (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
        hit nodes.
        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::padding): Returns the padding as an IntSize.
        (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
        (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
        (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
        and padding.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::hitTestList):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
        Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
        instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
        that the common case (point based hit test) works as previously.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint): Ditto.
        (WebCore::RenderBlock::hitTestColumns): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint): Ditto.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Ditto.
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint): Ditto.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint): Ditto.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::nodeAtPoint): Ditto.

2010-07-29  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Add LayoutTestController methods to test DeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=39589

        This patch does not hook up the new LayoutTestController method to WebKit
        for any platform. This will be done in later patches.
        https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.

        Test: fast/dom/DeviceOrientation/basic-operation.html

        * WebCore/WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceOrientationClient.h:
        (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::DeviceOrientationController):
        * dom/DeviceOrientationEvent.cpp:
        * platform/mock/DeviceOrientationClientMock.cpp: Added.
        (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
        (WebCore::DeviceOrientationClientMock::setController):
        (WebCore::DeviceOrientationClientMock::startUpdating):
        (WebCore::DeviceOrientationClientMock::stopUpdating):
        (WebCore::DeviceOrientationClientMock::setOrientation):
        (WebCore::DeviceOrientationClientMock::timerFired):
        * platform/mock/DeviceOrientationClientMock.h: Added.
        (WebCore::DeviceOrientationClientMock::lastOrientation):

2010-07-29  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Runtime feature switch for speech input.
        https://bugs.webkit.org/show_bug.cgi?id=43146

        Add a runtime feature switch that decides whether speech input attributes are available or not.
        Defaults to true.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
        (WebCore::RuntimeEnabledFeatures::speechInputEnabled):
        (WebCore::RuntimeEnabledFeatures::speechEnabled):
        * html/HTMLInputElement.idl:

2010-07-27  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Inspector should display CDATA section data
        https://bugs.webkit.org/show_bug.cgi?id=16259

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/front-end/ElementsTreeOutline.js:
        ():

2010-07-28  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Enable UI for chromium's appcache inspection.
        https://bugs.webkit.org/show_bug.cgi?id=43098

        * inspector/front-end/Settings.js: Removed appCacheEnabled.
        * inspector/front-end/StoragePanel.js: Removed appCacheEnabled condition.
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-28  Bryan Gislason  <bgislason@rim.com>

        Reviewed by Nate Chapin.

        Minor compile errors in loadMediaPlayerProxyPlugin
        https://bugs.webkit.org/show_bug.cgi?id=43141

        * WebCore/loader/SubframeLoader.cpp:

2010-07-28  Dominic Mazzoni  <dmazzoni@google.com>

        Reviewed by Dimitri Glazkov.

        Add a missing dependency.
        https://bugs.webkit.org/show_bug.cgi?id=43044

        * css/CSSPrimitiveValueMappings.h:

2010-07-28  Alex Nicolaou  <anicolao@chromium.org>

        Reviewed by Ojan Vafai.

        Set incorrect but close expectations for mask-colorspace.svg on mac
        https://bugs.webkit.org/show_bug.cgi?id=43102

        Blocks:
          [chromium] r63450 caused some svg mask tests to fail pixel tests
          https://bugs.webkit.org/show_bug.cgi?id=42403

        ImageBufferCG.cpp uses CoreGraphics to do the transform of SVG masks
        into LinearRGB, but only for MAC which means not for CHROMIUM, so I
        have changed the #if to account for both platforms. I am assuming this
        isn't in for windows because it's missing in CG itself, but I didn't
        verify that.

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2010-07-28  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Improve read-only arrow button appearance
        https://bugs.webkit.org/show_bug.cgi?id=43108

        No new tests. This is a fix for fast/forms/
        input-appearance-spinbutton-disabled-readonly.html

        * platform/chromium/PlatformThemeChromiumGtk.cpp:
        (WebCore::PlatformThemeChromiumGtk::paintArrowButton):
        If the button has ReadOnlyState, paint the button as same as it is disabled.

2010-07-28  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        implement getData('text/html') for webkit win
        https://bugs.webkit.org/show_bug.cgi?id=37981

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::extractMarkupFromCFHTML):
        (WebCore::getCFHTML):
        (WebCore::fragmentFromCFHTML):
        (WebCore::fragmentFromHTML):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::):
        (WebCore::clipboardTypeFromMIMEType):
        (WebCore::ClipboardWin::getData):

2010-07-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Update numbered header element closing to match recent spec change
        https://bugs.webkit.org/show_bug.cgi?id=43072

        Pretty straightforward transcription of the spec change.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isNumberedHeaderElement):
        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):

2010-07-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add support for calling NPObject methods
        https://bugs.webkit.org/show_bug.cgi?id=43145

        * WebCore.exp.in:
        Export JSHTMLElement::s_info and pluginScriptObject.

        * WebCore.xcodeproj/project.pbxproj:
        Make JSHTMLElement.h and JSPluginElementFunctions.h private headers.

        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::pluginScriptObject):
        * bindings/js/JSPluginElementFunctions.h:
        Make pluginScriptObject a public function.

2010-07-28  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Add a bool to Settings to control accelerated 2d canvas
        https://bugs.webkit.org/show_bug.cgi?id=43094

        Currently this doesn't control anything, but it will soon.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setAccelerated2dCanvasEnabled):
        * page/Settings.h:
        (WebCore::Settings::accelerated2dCanvasEnabled):

2010-07-28  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        Add DOM bindings support for wx port.

        * DerivedSources.make:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * platform/graphics/wx/FontPlatformDataWx.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/wx/MouseEventWx.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * wscript:

2010-07-28  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        Hook the GLES2 rendering path up to GraphicsContextSkia.
        https://bugs.webkit.org/show_bug.cgi?id=43119
        
        This connects the state-setting and drawing calls implemented in
        so far in GLES2Canvas, and calls PlatformContextSkia's
        prepareForSoftwareDraw() for all the non-accelerated paths.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):
        These calls are software-only; call preSoftwareDraw() for these.
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::concatCTM):
        These ones set state on both Skia and GLES2Canvas.
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::fillRect):
        These ones have a GLES2 implementation; call through to it if PlatformContextSkia's useGPU() flag is set and the state permits.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::prepareForSoftwareDraw):
        (PlatformContextSkia::prepareForHardwareDraw):
        Rename preXXXDraw() -> prepareForXXXDraw().
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia::prepareForSoftwareDraw):
        (PlatformContextSkia::prepareForHardwareDraw):
        Rename preXXXDraw() -> prepareForXXXDraw().

2010-07-28  fsamuel@chromium.org  <fsamuel@chromium.org>

        Reviewed by David Hyatt.

        REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
        https://bugs.webkit.org/show_bug.cgi?id=42993

        Fixed bug introduced by patch for bug 40775.

        The new table rendering code did not take into account table layouts starting
        during a partial construction of the table render tree. As such,
        multiple layouts on the same table resulted in more columns being generated.
        This patch solves this issue.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::cellAbove):
        (WebCore::RenderTable::cellBelow):
        (WebCore::RenderTable::cellBefore):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::setCellWidths):
        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::appendColumn):
        (WebCore::RenderTableSection::splitColumn):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::CellStruct::CellStruct):

2010-07-28  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Pavel Feldman.

        Exclude DNS and SSL time from connect time
        https://bugs.webkit.org/show_bug.cgi?id=43083

        The ResourceLoadTiming API's definition of the connect phase includes
        DNS and SSL time. However, the Web Timing spec wants just the TCP time.
        So this patch subtracts those phases out.

        No new tests because ResourceLoadTiming fields are not populated by
        TestShell yet.

        * page/Timing.cpp:
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):

2010-07-26  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Page clients should be passed to Page constructor via structure of pointers
        https://bugs.webkit.org/show_bug.cgi?id=42834

        No new tests, refactoring only.

        * WebCore.exp.in:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::PageClients::PageClients):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-07-28  Xianzhu Wang  <phnixwxz@gmail.com>

        Reviewed by Dan Bernstein.

        Line not wrapped at certain punctuations
        https://bugs.webkit.org/show_bug.cgi?id=37698
        Added a line breaking table for all printable ASCII chars to replace
        the original line breaking table for only '?'.

        Test: fast/text/line-breaks-after-closing-punctuations.html

        * rendering/break_lines.cpp:
        (WebCore::isBreakableSpace):
        (WebCore::):
        (WebCore::shouldBreakAfter):
        (WebCore::needsLineBreakIterator):

2010-07-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix.

        Fix EFL build with SHARED_CORE=ON after r64124.

        * CMakeLists.txt:

2010-07-28  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Kent Tamura.

        [Chromium] The popup now layouts properly its rows by
        taking into account the label width.
        https://bugs.webkit.org/show_bug.cgi?id=42910

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):

2010-07-28  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: chromium tests fix.
        Chromium Dev Tools: [REGRESSION] Pause is not working.

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

        * inspector/front-end/InspectorBackendStub.js:

2010-07-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Navigating to anchor prior to opening WebInspector
        makes resource have 'other' type.
        https://bugs.webkit.org/show_bug.cgi?id=43110

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._innerSelectContentTab):

2010-07-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] putImageData(): Combine premultiplication and BGR->RGB
        https://bugs.webkit.org/show_bug.cgi?id=43114

        Further optimized putImageData() by doing BGR->RGB inside the
        premultiplication routine.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::premultiplyABGRtoARGB): Renamed from premultiply.
        (WebCore::putImageData):

2010-07-28  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] IDBKeyRange should be a runtime-enabled feature.
        https://bugs.webkit.org/show_bug.cgi?id=43116

        IDBKeyRange should be enabled at runtime only when IndexedDB is also
        enabled.

        No new tests needed, functionality not changed.

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
        * page/DOMWindow.idl:

2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Forgot to land GNUmakefile.am changes, broke build in r64196.

        * GNUmakefile.am: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.

2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGMaskElement/SVGForeignObjectElement should not inherit from SVGURIReference
        https://bugs.webkit.org/show_bug.cgi?id=43113

        Remove wrong SVGURIReference inheritance for SVGMaskElement/SVGForeignObjectElement. Old copy/paste bug.

        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::synchronizeProperty):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::svgAttributeChanged):
        (WebCore::SVGMaskElement::synchronizeProperty):
        * svg/SVGMaskElement.h:

2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        WebKit shouldn't ignore resource cycles, but break them as Opera does
        https://bugs.webkit.org/show_bug.cgi?id=43031

        Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.

        We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
        node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
        to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).

        Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
        Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
        from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
        which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
        objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
        phase begins.

        This is the first chunk, which just adds the new SVGResources/SVGResourcesCache/SVGResourcesCycleSolver files, and does minor cleanups.
        It's not yet glued in and doesn't affect any tests.

        * Android.mk: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
        * CMakeLists.txt: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto. 
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/RenderInline.h: Make styleDidChange protected, RenderSVGInline wants to override it.
        * rendering/RenderSVGAllInOne.cpp: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
        * rendering/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): Make isSVGHiddenContainer() private and renderName() public.
        * rendering/RenderSVGResourceContainer.cpp: Added. Moved most methods from the header in the implementation file.
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::idChanged):
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
        * rendering/RenderSVGResourceContainer.h: Add stubs, that SVGResourcesCache uses - a follow-up patch will add the logic.
        (WebCore::RenderSVGResourceContainer::addClient):
        (WebCore::RenderSVGResourceContainer::removeClient):
        * rendering/SVGResources.cpp: Added. Holds a list of resources applyable to a RenderObject (fill/stroke, mask/markers/clipper/filter)
        (WebCore::paintingResourceFromSVGPaint): Helper function looking up a RenderSVGResource for a SVGPaint object.
        (WebCore::registerPendingResource): Helper function that register a RenderSVGResource as pending in the SVGDocumentExtensions. 
        (WebCore::SVGResources::buildCachedResources): Build a list of resources for a RenderObject/RenderStyle pair, handles pending resources, if needed.
        (WebCore::SVGResources::invalidateClient): Helper function that calls invalidateClient() on all resources.
        (WebCore::SVGResources::resourceDestroyed): Helper function that calls invalidateClients() on a certain resource, and nulls it.
        (WebCore::SVGResources::buildSetOfResources): Helper function that stashes all resources present in the SVGResources members in a HashSet, used in SVGResourcesCycleSolver.
        (WebCore::SVGResources::resetClipper): Helper methods nulling a resource.
        (WebCore::SVGResources::resetFilter): Ditto.
        (WebCore::SVGResources::resetMarkerStart): Ditto.
        (WebCore::SVGResources::resetMarkerMid): Ditto.
        (WebCore::SVGResources::resetMarkerEnd): Ditto.
        (WebCore::SVGResources::resetMasker): Ditto.
        (WebCore::SVGResources::resetFill): Ditto.
        (WebCore::SVGResources::resetStroke): Ditto.
        (WebCore::SVGResources::dump):
        * rendering/SVGResources.h: Added.
        (WebCore::SVGResources::clipper): Accesor of the cached m_foo variable.
        (WebCore::SVGResources::filter): Ditto.
        (WebCore::SVGResources::markerStart): Ditto.
        (WebCore::SVGResources::markerMid): Ditto.
        (WebCore::SVGResources::markerEnd): Ditto.
        (WebCore::SVGResources::masker): Ditto.
        (WebCore::SVGResources::fill): Ditto.
        (WebCore::SVGResources::stroke): Ditto.
        * rendering/SVGResourcesCache.cpp: Added. Holds a HashMap<RenderObject*, SVGResources*> and utility functions that update/invalidate the cache.
        (WebCore::SVGResourcesCache::SVGResourcesCache):
        (WebCore::SVGResourcesCache::~SVGResourcesCache):
        (WebCore::SVGResourcesCache::addResourcesFromRenderObject): Build a SVGResources object for a RenderObject and adds it to the cache, then detects & breaks cycles using SVGResourcesCycleSolver.
        (WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Remove a SVGResources object from the cache.
        (WebCore::resourcesCacheFromRenderObject): Helper function, retrieving a SVGResourcesCache method from a RenderObject.
        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Returns a SVGResources object from the cache.
        (WebCore::SVGResourcesCache::clientLayoutChanged): (static) Calls invalidateClient() on all resources that are used by the passed RenderObject.
        (WebCore::SVGResourcesCache::clientStyleChanged): (static) Updates the cache (calling removeResourceFromRenderObject/addResourcesFrom...) and invalidates resources in the ancestor chain.
        (WebCore::SVGResourcesCache::clientUpdatedFromElement): (static) Does the same, without invalidating the ancestor chain.
        (WebCore::SVGResourcesCache::clientDestroyed): (static) Calls removeResourcesFromRenderObject() on the SVGResourcesCache, for the given renderer.
        (WebCore::SVGResourcesCache::resourceDestroyed): (static) Updates all SVGResources objects in the cache, that refer to the given resource.
        * rendering/SVGResourcesCache.h: Added.
        * rendering/SVGResourcesCycleSolver.cpp: Added. Detects and breaks cyclic references, just the way Opera handles it. Break cycles as they are detected.
        (WebCore::SVGResourcesCycleSolver::SVGResourcesCycleSolver):
        (WebCore::SVGResourcesCycleSolver::~SVGResourcesCycleSolver):
        (WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Operates only on the render tree
        (WebCore::targetReferenceFromResource): Helper method for chainableResourceContainsCycles().
        (WebCore::setFollowLinkForChainableResource): Ditto.
        (WebCore::SVGResourcesCycleSolver::chainableResourceContainsCycles): Handles cycles for resources that are chainable through xlink:href (filter/gradient/pattern).
        (WebCore::SVGResourcesCycleSolver::resolveCycles): Main method executing the cycle breaking logic, utilizing (chainableResource)resourceContainsCycles.
        (WebCore::SVGResourcesCycleSolver::breakCycle): Nulls a resource in the given SVGResources* object, to avoid using an invalid resource while rendering/layouting.
        * rendering/SVGResourcesCycleSolver.h: Added.
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Create SVGResourcesCache object once per SVGDocumentExtensions.
        * svg/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::resourcesCache): Expose accesor method for the SVGResourcesCache.

2010-07-28  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
        https://bugs.webkit.org/show_bug.cgi?id=42244

        Implementing svgAttributeChanged for SVGFEOffsetElement object.

        Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html
               svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
               svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
               svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
               svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html

        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
        * svg/SVGFEOffsetElement.h:

2010-07-28  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
        https://bugs.webkit.org/show_bug.cgi?id=42244

        Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.

        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html

        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
        * svg/SVGFEDiffuseLightingElement.h:

2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-07-26  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        @page rules in media queries should be tested.
        https://bugs.webkit.org/show_bug.cgi?id=42971

        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty): Fixed to properly begin
        printing. Added support for size property.

2010-07-27  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Darin Fisher.

        Add itemIcon() method to the PopupMenuClient, used by Chrome AutoFill
        to display right-aligned credit card icons in the suggestions popup.
        https://bugs.webkit.org/show_bug.cgi?id=43076

        No new tests as this is only used by the Chromium WebKit API.

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemIcon):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::itemIcon):
        * rendering/RenderTextControlSingleLine.h:

2010-07-27  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] putImageData(): Fast premultiply() if alpha == 255

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::premultiply): Do nothing for opaque pixels.

2010-07-27  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Enhance FileThreadTask to support return type.
        https://bugs.webkit.org/show_bug.cgi?id=43078

        This is needed to support synchronous calls of FileStream methods in
        addition to asynchronous calls via FileThreadTask.

        * html/FileThreadTask.h:
        (WebCore::createFileThreadTask):

2010-07-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Let PlatformContextSkia draw to a GLES2Canvas in addition to an SkCanvas
        https://bugs.webkit.org/show_bug.cgi?id=43070

        This adds a GLES2Canvas as drawing surface to PlatformContextSkia and lets callers
        issue draw commands to either.  The PlatformContextSkia keeps track of where
        rendering results are being accumulated and can blend the hardware and software
        backing stores into each other when necessary.

        Still just plumbing, no functionality change.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::GLES2Canvas):
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::PlatformContextSkia):
        (PlatformContextSkia::setGLES2Context):
        (PlatformContextSkia::preSoftwareDraw):
        (PlatformContextSkia::preHardwareDraw):
        (PlatformContextSkia::forceToSoftware):
        (PlatformContextSkia::uploadSoftwareToHardware):
        (PlatformContextSkia::readbackHardwareToSoftware):
        * platform/graphics/skia/PlatformContextSkia.h:
        (PlatformContextSkia::useGPU):
        (PlatformContextSkia::gpuCanvas):
        (PlatformContextSkia::preSoftwareDraw):
        (PlatformContextSkia::preHardwareDraw):
        (PlatformContextSkia::forceToSoftware):
        (PlatformContextSkia::):

2010-07-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Incomplete repaint of some Safari extension content which falls into a composited iframe
        <rdar://problem/8235044>
        
        syncCompositingStateRecursive() bails if it thinks that a layout is pending, because
        the layout may update layers and make this sync obsolete. However, it only checked for an
        active layout timer. This ignores other sources of pending style changes and layouts, like
        the document's style recalc timer. So use needsLayout(), which does check this.

        Unable to create a test because it depends on Safari extension behavior.

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

2010-07-27  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] putImageData() optimizations
        https://bugs.webkit.org/show_bug.cgi?id=43059

        - Single-pass premultiplication and BGR->RGB conversion
        - Use ARGB32PM for the temporary image so Qt calls the
          fast Source composition function

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::premultiply): Added (static inline)
        (WebCore::putImageData):

2010-07-27  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Expose interface for returning the plug-in script JSObject
        https://bugs.webkit.org/show_bug.cgi?id=43074

        PluginViewBase::scriptObject should be a virtual function.

        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::scriptObject):

2010-07-27  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add ScriptExecutionContext argument to File/Blob constructors.
        https://bugs.webkit.org/show_bug.cgi?id=40587

        Remove DragData::createClipboard and add Clipboard::create for it to be
        called directly in DragController. This is because we need to pass
        Frame pointer to Clipboard class and use it to get ScriptExecutionContext
        in order to construct File objects in Clipboard::files().

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::DeserializingTreeWalker::convertIfTerminal):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Reader::readBlob):
        (WebCore::ZigZag::Reader::readFile):
        (WebCore::ZigZag::Reader::readFileList):
        * dom/Clipboard.h:
        * editing/Editor.cpp:
        (WebCore::Editor::dispatchCPPEvent):
        * editing/Editor.h:
        * editing/android/EditorAndroid.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/brew/EditorBrew.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/chromium/EditorChromium.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/haiku/EditorHaiku.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard):
        * editing/qt/EditorQt.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/wx/EditorWx.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        (WebCore::Blob::slice):
        * html/Blob.h:
        (WebCore::Blob::create):
        * html/Blob.idl:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::getBlob):
        * html/BlobBuilder.h:
        * html/BlobBuilder.idl:
        * html/File.cpp:
        (WebCore::File::File):
        * html/File.h:
        (WebCore::File::create):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData):
        (WebCore::HTMLInputElement::setFileListFromRenderer):
        * page/DragController.cpp:
        (WebCore::DragController::dragExited):
        (WebCore::DragController::performDrag):
        (WebCore::DragController::tryDHTMLDrag):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/DragData.h:
        * platform/android/ClipboardAndroid.cpp:
        (WebCore::Clipboard::create):
        * platform/android/DragDataAndroid.cpp:
        * platform/brew/ClipboardBrew.cpp:
        (WebCore::Clipboard::create):
        * platform/brew/DragDataBrew.cpp:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardChromium::ClipboardChromium):
        (WebCore::ClipboardChromium::create):
        (WebCore::ClipboardChromium::files):
        * platform/chromium/ClipboardChromium.h:
        * platform/chromium/DragDataChromium.cpp:
        * platform/efl/ClipboardEfl.cpp:
        (WebCore::Editor::newGeneralClipboard):
        (WebCore::Clipboard::create):
        * platform/efl/DragDataEfl.cpp:
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::Editor::newGeneralClipboard):
        (WebCore::Clipboard::create):
        (WebCore::ClipboardGtk::ClipboardGtk):
        (WebCore::ClipboardGtk::files):
        * platform/gtk/ClipboardGtk.h:
        (WebCore::ClipboardGtk::create):
        * platform/gtk/DragDataGtk.cpp:
        * platform/haiku/ClipboardHaiku.cpp:
        (WebCore::Clipboard::create):
        * platform/haiku/DragDataHaiku.cpp:
        * platform/mac/ClipboardMac.mm:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardMac::files):
        * platform/mac/DragDataMac.mm:
        * platform/qt/ClipboardQt.cpp:
        (WebCore::Clipboard::create):
        * platform/qt/DragDataQt.cpp:
        * platform/win/ClipboardWin.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardWin::ClipboardWin):
        (WebCore::ClipboardWin::files):
        * platform/win/ClipboardWin.h:
        (WebCore::ClipboardWin::create):
        * platform/win/DragDataWin.cpp:
        * platform/win/EditorWin.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/wince/DragDataWince.cpp:
        * platform/wince/EditorWince.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/wx/ClipboardWx.cpp:
        (WebCore::Clipboard::create):
        * platform/wx/DragDataWx.cpp:

2010-07-27  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by David Levin.

        Move all WebSQLDatabases-specific code behind #if ENABLE(DATABASE).
        https://bugs.webkit.org/show_bug.cgi?id=43035

        Make Chromium compile with ENABLE_DATABASE=0. The #ifdefs in
        DatabaseAuthorizer and ChromiumBridge are removed, because they're
        used by non-HTML5 DBs too (the classes in WebCore/platform/sql/),
        which are used by other features too. So they need to be compiled
        in even if HTML5 DBs are disabled.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * page/DOMWindow.idl:
        * platform/chromium/ChromiumBridge.h:
        * storage/DatabaseAuthorizer.cpp:
        * storage/chromium/DatabaseObserver.h:
        * storage/chromium/DatabaseTrackerChromium.cpp:
        * storage/chromium/QuotaTracker.cpp:
        * storage/chromium/QuotaTracker.h:
        * storage/chromium/SQLTransactionClientChromium.cpp:

2010-07-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: Misspellings not shown in AXAttributedStringForTextMarkerRange when selection is on word
        https://bugs.webkit.org/show_bug.cgi?id=41817

        Change how misspelled words are identified for accessibility. No longer rely on the 
        cached markers in Document. Calculate on the fly, which is more accurate in a variety of 
        circumstances (like when selection has not moved across words, of if the cursor is in the middle
        of a misspelled word). 

        Test: platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetSpelling):
        (AXAttributedStringAppendText):
        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):

2010-07-27  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 42621 - Add a bump allocator for the YARR interpreter

        The regex engine requires lifo allocation, however currently uses the general purpose
        malloc/free memory allocation.  A simple bump pointer allocator should provide a lower
        overhead allocation solution.

        * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.

2010-07-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: render network timing as gant chart in popover.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):
        * inspector/front-end/inspector.css:
        (.resource-timing-row):
        (.resource-timing-bar):
        (.resource-timing-bar-title):
        * inspector/front-end/utilities.js:

2010-07-27  Victor Wang  <victorw@chromium.org>

        Unreviewed, rolling out r64104.
        http://trac.webkit.org/changeset/64104
        https://bugs.webkit.org/show_bug.cgi?id=40768

        The patch causes chromium webkit socket laytest crashes on
        windows randomly

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource):
        (WebCore::InspectorController::removeResource):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::create):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        * websockets/WebSocketChannel.h:

2010-07-27  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [IndexedDB] Key range methods belong to the IDBKeyRange interface
        https://bugs.webkit.org/show_bug.cgi?id=43052

        Move the key range methods from the IndexedDatabaseRequest interface
        to the IDBKeyRange interface. Also add a global IDBKeyRange object
        that can be used to access the IDBKeyRange constants and factory methods. 

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::iDBKeyRange):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::only):
        (WebCore::IDBKeyRange::leftBound):
        (WebCore::IDBKeyRange::rightBound):
        (WebCore::IDBKeyRange::bound):
        * storage/IDBKeyRange.h:
        * storage/IDBKeyRange.idl:
        * storage/IndexedDatabaseRequest.cpp:
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-07-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: consolidate parentObjectIfExists() and parentObject() code
        https://bugs.webkit.org/show_bug.cgi?id=42981

        Consolidate duplicate code in parentObject and parentObjectIfExists

        No tests. No functionality changed.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderParentObject):
        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
        (WebCore::AccessibilityRenderObject::parentObject):
        * accessibility/AccessibilityRenderObject.h:

2010-07-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Adam Barth.

        AX: replace m_renderer->document->axObjectCache() with just axObjectCache()
        https://bugs.webkit.org/show_bug.cgi?id=42979

        No new tests. Code cleanup only.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::firstChild):
        (WebCore::AccessibilityRenderObject::lastChild):
        (WebCore::AccessibilityRenderObject::previousSibling):
        (WebCore::AccessibilityRenderObject::nextSibling):
        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::menuForMenuButton):
        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
        (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
        (WebCore::AccessibilityRenderObject::axObjectCache):
        (WebCore::AccessibilityRenderObject::contentChanged):
        (WebCore::AccessibilityRenderObject::addChildren):

2010-07-27  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: do not activate all breakpoints on page reload
        https://bugs.webkit.org/show_bug.cgi?id=41461

        Test: inspector/debugger-breakpoints-not-activated-on-reload.html

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-27  Pranav Kedia  <pranavk@chromium.org>

        Reviewed by Adam Barth.

        Chrome browser Bug: Pause button stays when <audio> hits end
        https://bugs.webkit.org/show_bug.cgi?id=42677

        The change is just in chromium media. Tested using media part of
        WebKit layout tests. The following test that was failing is passing.
        media/video-duration-known-after-eos.html -> unexpected pass

        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaPlayButton):
        Using mediaElement->canPlay() instead of mediaElement->paused() to
        paint the play/pause button.

2010-07-27  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Client-based Geolocation does not pass enableHighAccuracy option to controller and client
        https://bugs.webkit.org/show_bug.cgi?id=40374

        This change passes the enableHighAccuracy request option to the GeolocationController.
        The GeolocationController tracks whether this should be used by the client.

        No new tests possible as the mock provider doesn't support this feature.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::addObserver):
        (WebCore::GeolocationController::removeObserver):
        * page/GeolocationController.h:
        * page/GeolocationControllerClient.h:

2010-07-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Current implementation of message based inspector
        transport generated by CodeGeneratorInspector should be upstreamed
        from WebKit/chromium to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=42983

        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptObject.cpp:
        * bindings/js/ScriptObject.h:
        * bindings/v8/ScriptObject.cpp:
        * bindings/v8/ScriptObject.h:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorBackend.idl: Removed.
        * inspector/InspectorFrontendClient.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
        (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::sendMessageToBackend):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub):
        (.WebInspector.InspectorBackendStub.prototype._registerDelegate):
        (.WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):

2010-07-27  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Simplify speech input plumbing in webcore and webkit
        https://bugs.webkit.org/show_bug.cgi?id=43008

        No new tests as functionality is not changed.

        * GNUmakefile.am: Removed a header file.
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::Page::speechInput): Creates and returns SpeechInput when needed.
        * page/Page.h:
        * page/SpeechInput.cpp: Added methods to proxy and callbacks between input elements and WebKit
        (WebCore::SpeechInput::SpeechInput):
        (WebCore::SpeechInput::didCompleteRecording):
        (WebCore::SpeechInput::didCompleteRecognition):
        (WebCore::SpeechInput::setRecognitionResult):
        (WebCore::SpeechInput::startRecognition):
        (WebCore::SpeechInput::stopRecording):
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * page/SpeechInputClientListener.h: Removed.
        * page/SpeechInputListener.h:
        * rendering/TextControlInnerElements.cpp: Added one more callback.
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::speechInput):
        (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
        * rendering/TextControlInnerElements.h:

2010-07-27  Kent Tamura  <tkent@chromium.org>

        Reviewed by Ojan Vafai.

        Add a runtime setting for interactive form validation.
        https://bugs.webkit.org/show_bug.cgi?id=40520

        The interactive validation feature was disabled for non-strict
        modes by r61059 to avoid a compatibility issue. This removes the
        mode checking and introduce a runtime setting to enable/disable
        the feature instead.
        The default value is 'disable' and we'll remove the setting when
        the compatibility issue is resolved and interactive validation
        implementation is completed.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setInteractiveFormValidationEnabled):
        (WebCore::Settings::interactiveFormValidationEnabled):

2010-07-26  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 43009 - Abstract out page allocation from executable allocators

        * ForwardingHeaders/wtf/PageAllocation.h: Added.

2010-07-26  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Add WebSocket resource type to Web Inspector.

        When a new WebSocket connection is established, a line for that connection
        will appear in Web Inspector's Resources tab. If the resource name is
        clicked, the details of handshake request and response will be shown.

        Web Inspector: WebSocket in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=40768

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource): WebSocket resource does not
        have an associated loader, thus frame might be null. Need to check it.
        (WebCore::InspectorController::removeResource): Ditto.
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
        because WebSocket does not have a loader and we need to allow null for
        these variables.
        (WebCore::createReadableStringFromBinary):
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::create): Factory function of
        regular (non-WebSocket) resources.
        (WebCore::InspectorResource::createWebSocket): Factory function of
        WebSocket resources.
        (WebCore::InspectorResource::updateWebSocketRequest):
        (WebCore::InspectorResource::updateWebSocketResponse):
        (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
        available when Frame::setDocument() is called. We cannot obtain documentURL
        during the constructor or updateRequest() function, because m_frame->document()
        is not available yet at that point and documentURL will contain a wrong URL.
        As far as I know, updateScriptObject() is the only place where we can safely
        obtain documentURL.
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::markWebSocket):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-websockets, .resources-category-other):
        (.resources-category-websockets .resources-graph-bar):
        (.resources-category-websockets.resource-cached .resources-graph-bar):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::identifier):
        * websockets/WebSocketChannel.h:

2010-07-26  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Eric Seidel.

        Some SVGs with empty <g> elements crash Chromium on Linux
        https://bugs.webkit.org/show_bug.cgi?id=41175

        Redo the old fix using a different approach, to avoid regressing
        svg/batik/filters/filterRegions.svg with Chromium on Linux.
        Specifically, handle empty SkBitmap objects by exiting early upon
        encountering unconfigured (i.e. empty) bitmaps.

        No new tests. This bug's old test (svg/filters/filter-empty-g.svg)
        and the above-mentioned regressed test are expected to pass.

        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
        (ImageBuffer::ImageBuffer): Undo the old fix.
        (getImageData): The new fix.

2010-07-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Google image search results broken on pages with Flash
        https://bugs.webkit.org/show_bug.cgi?id=43014

        The test for overflow added in r63452 is wrong in that it ignores the effects
        of positioning on overflow.
        
        The correct approach is to start by using RenderView's layoutOverflowRect as the largest bounds,
        then getting the oveflow rect via backgroundClipRect() relative to the root layer.
        
        Test: compositing/geometry/limit-layer-bounds-overflow-root.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::layerOrAncestorIsTransformed):
        (WebCore::RenderLayerBacking::updateCompositedBounds):

2010-07-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Plug-in views should be able to return JSObjects directly
        https://bugs.webkit.org/show_bug.cgi?id=43019

        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::putDelegate):
        (WebCore::JSHTMLAppletElement::getCallData):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::putDelegate):
        (WebCore::JSHTMLEmbedElement::getCallData):
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::putDelegate):
        (WebCore::JSHTMLObjectElement::getCallData):
        runtimeObjectCustomPut and runtimeObjectGetCallData now take a JSHTMLElement instead of a HTMLElement.

        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::pluginScriptObject):
        First, ask the PluginViewBase for a JSObject and fall back to getting the JSObject from the instance.

        (WebCore::runtimeObjectPropertyGetter):
        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
        Call pluginScriptObject.
        
        (WebCore::runtimeObjectCustomPut):
        Change to take a JSHTMLElement. Call pluginScriptObject.
        
        (WebCore::runtimeObjectGetCallData):
        Change to take a JSHTMLElement.

        * bridge/jsc/BridgeJSC.cpp:
        * bridge/jsc/BridgeJSC.h:
        (JSC::Bindings::Instance::createRuntimeObject):
        Change this to return a JSObject.
        
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::getInstance):
        Call pluginWidget.

        (WebCore::HTMLPlugInElement::pluginWidget):
        Return the plug-in widget for this element.

        * html/HTMLPlugInElement.h:
        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::scriptObject):
        Add default implementation of scriptObject.

2010-07-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: Safari does not support ARIA mixed checkboxes
        https://bugs.webkit.org/show_bug.cgi?id=43016

        Test: platform/mac/accessibility/mixed-checkbox.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::checkboxOrRadioValue):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2010-07-26  Shimeng (Simon) Wang  <swang@google.com>

        Reviewed by Darin Adler.

        Add auto hyphenation support for Android.
        https://bugs.webkit.org/show_bug.cgi?id=42800

        * platform/text/android/HyphenationAndroid.cpp: Added.
        (WebCore::loadHyphenationDictionary):
        (WebCore::lastHyphenLocation):

2010-07-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
        Part of <rdar://problem/8152434>
        Add support for scrolling using the keyboard in WebKit2

        Add a new export and make WindowsKeyboardCodes private.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:

2010-07-26  Darin Adler  <darin@apple.com>

        Reviewed by Eric Carlson.

        Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
        https://bugs.webkit.org/show_bug.cgi?id=42087

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedIntoDocument): Check if the src attribute is empty
        by calling getAttribute instead of calling the src function. This keeps the behavior
        correct with the reflection change, and has a side benefit of being more efficient as
        well since there is no reason to resolve the URL.
        (WebCore::HTMLMediaElement::loadResource): Call getNonEmptyURLAttribute directly here
        instead of using the poster function.
        (WebCore::HTMLMediaElement::getPluginProxyParams): Ditto.

        * html/HTMLMediaElement.h: Removed the poster virtual function. The code that gets the
        poster attribute is already video-specific and uses generic attribute fetching code, so
        we no longer need a virtual function. Removed the src function. Since this would give
        a different result from the JavaScript reflected src attribute, it's safer not to have
        it, and it was easy to convert all the callers.

        * html/HTMLMediaElement.idl: Removed the NonEmpty extended attribute from the src
        attribute.

        * html/HTMLSourceElement.cpp: Removed the src function for the same reason as above.
        * html/HTMLSourceElement.h: Ditto.

        * html/HTMLSourceElement.idl: Removed the NonEmpty extended attribute from the src
        attribute.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute): Removed code to update m_posterURL,
        which is no longer needed. Changed call site that used the poster() function to instead
        use getNonEmptyURLAttribute.
        (WebCore::HTMLVideoElement::updatePosterImage): Check if the poster attribute is empty
        by calling getAttribute instead of calling the poster function. This keeps the behavior
        correct with the reflection change, and has a side benefit of being more efficient as
        well since there is no reason to resolve the URL.

        * html/HTMLVideoElement.h: Removed the poster function for the same reason we removed
        the src function above. Also removed now-unneeded m_posterURL data member.

        * html/HTMLVideoElement.idl: Removed the NonEmpty extended attribute from the poster
        attribute.

2010-07-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: remove intValue() hasIntValue() from AccessibilityObject
        https://bugs.webkit.org/show_bug.cgi?id=43006

        These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.

        No new tests, existing tests cover changes to logic.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::checkboxOrRadioValue):
        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedRadioButton):
        (WebCore::AccessibilityRenderObject::selectedTabItem):
        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2010-07-26  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Applying inline style to a text node whose parent is an inline editable root causes crash
        https://bugs.webkit.org/show_bug.cgi?id=39989

        The crash was caused by splitTextElementAtStart and splitTextElementAtEnd assuming that the parent
        and the grandparent of the specified text node is editable.

        Modified splitTextElementAtStart and splitTextElementAtEnd so that they call splitTextAtStart
        and splitTextAtEnd respectively when the grandparent is not editable.

        Also modified SplitTextNodeContainingElement to exit early if the grandparent of m_text is not editable.

        Test: editing/style/style-text-node-without-editable-parent.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::splitTextElementAtStart):
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
        * editing/SplitTextNodeContainingElementCommand.cpp:
        (WebCore::SplitTextNodeContainingElementCommand::doApply):

2010-07-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Gmail compose is upside-down after r64054
        https://bugs.webkit.org/show_bug.cgi?id=43000
        
        We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
        not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
        correctly.

        Test: compositing/iframes/iframe-content-flipping.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):

2010-07-26  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Fisher.

        Check history state against origin before setting
        https://bugs.webkit.org/show_bug.cgi?id=42858

        Tests: fast/loader/stateobjects/replacestate-base-illegal.html
               fast/loader/stateobjects/replacestate-base-legal.html

        * page/History.cpp:
        (WebCore::History::urlForState):
        (WebCore::History::stateObjectAdded):

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

        Reviewed by Xan Lopez.

        [GTK] Get rid of libgdom
        https://bugs.webkit.org/show_bug.cgi?id=42378

        Remove all build steps for building GObject DOM bindings.

        * GNUmakefile.am: Remove GObject DOM bindings build.

2010-07-26  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        <http://webkit.org/b/42990> REGRESSION (r63854): Safari RSS layout is broken due to changes in vendor prefix handling

        In r63854 support for properties with the -khtml vendor prefix was removed. This breaks the layout of
        Safari's RSS interface, several Dashboard widgets that are included with Mac OS X, and at least one
        popular third-party Mac OS X application. This change will need to be revisited in a manner that has
        a clearer backwards-compatibility strategy. <http://webkit.org/b/42093> will be reopened to track that.

        * css/CSSParser.cpp:
        (WebCore::cssPropertyID): Revert the WebCore change from r63854.

2010-07-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Add ability for WK2 to register a scheme to always be displayed as an empty document
        https://bugs.webkit.org/show_bug.cgi?id=42995

        No new tests. (Currently not possible to test in WebKit1 DRT, can be testing in future WK2 tester)

        * WebCore.exp.in:
        
        * loader/MainResourceLoader.cpp:
        (WebCore::shouldLoadAsEmptyDocument):
        
        * platform/SchemeRegistry.cpp:
        (WebCore::emptyDocumentSchemes):
        (WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument):
        (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
        * platform/SchemeRegistry.h:

2010-07-26  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Port ClipboardUtilities to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=42929

        Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
        from GlobalLock/GlobalUnlock, since they are only macros on WinCE.

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::urlFromPath):
        (WebCore::getWebLocData):
        (WebCore::createGlobalData):
        (WebCore::getURL):
        (WebCore::getPlainText):
        (WebCore::fragmentFromHTML):

2010-07-26  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for BitmapImage.h
        https://bugs.webkit.org/show_bug.cgi?id=42931

        Use AffineTransform insted of TransformationMatrix.

        * platform/graphics/BitmapImage.h:

2010-07-26  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-26  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/42982> Streamline Inspector Source build phase script should use CONFIGURATION not BUILD_STYLE
        <rdar://problem/6341764>

        Reviewed by Mark Rowe.

        * WebCore.xcodeproj/project.pbxproj: Switched Streamline
        Inspector Source build phase script to use CONFIGURATION instead
        of BUILD_STYLE.

2010-07-23  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        crash in insertParagraph in a contentEditable list
        https://bugs.webkit.org/show_bug.cgi?id=42919

        Don't try to break out of a list item if the list it's in
        is the rootEditableElement.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):

2010-07-26  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Moves IDBKeyRange to use IDBKey rather than SerializedScriptValue / IDBAny.
        https://bugs.webkit.org/show_bug.cgi?id=42583

        Tests: existing storage/indexeddb/idb-keyrange.html must pass.

        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::IDBKeyRange):
        * storage/IDBKeyRange.h:
        (WebCore::IDBKeyRange::create):
        (WebCore::IDBKeyRange::left):
        (WebCore::IDBKeyRange::right):
        * storage/IDBKeyRange.idl:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
        (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
        (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
        (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-07-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Composited layers don't scroll in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42771

        Rename two methods on RenderLayerCompositor to make their use more clear, and call them
        when the FrameView gets resized and scrolled.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::setFrameRect): override so we know when the size of the FrameView changes, so that the
        RenderLayerCompositor can update its clipping layer.
        (WebCore::FrameView::scrollPositionChanged): Call compositor()->frameViewDidScroll().

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterWidgetResize): updateContentLayerOffset() was renamed.

        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::frameViewDidChangeSize): Renamed from updateContentLayerOffset().
        (WebCore::RenderLayerCompositor::frameViewDidScroll): Renamed from updateContentLayerScrollPosition().
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Propagate compositing on Mac
        for any FrameView that doesn't have a native widget, which is the case with WebKit2.
        (WebCore::RenderLayerCompositor::requiresScrollLayer): New method to tell us whether we need to handle
        scrolling (and clipping) ourselves.
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Do geometry flipping on the root platform
        layer only if we're not doing our own scrolling, and use the new requiresScrollLayer() method.
        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Send out the rootPlatformLayer(),
        so that it returns the clipping layer if we have one.

2010-07-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Move DocumentLoadTiming struct to a new file
        https://bugs.webkit.org/show_bug.cgi?id=42917

        Also makes DocumentLoadTiming Noncopyable.

        No new tests because no new functionality.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/DocumentLoadTiming.h: Added.
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        * loader/FrameLoaderTypes.h:
        * loader/MainResourceLoader.cpp:
        * page/Timing.cpp:

2010-07-26  Mark Rowe  <mrowe@apple.com>

        Fix an #if in WebCore.exp.in to correctly detect whether SVG filters are enabled.

        * WebCore.exp.in:

2010-07-26  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        DeviceOrientation event listeners should never be called synchronously from addEventListener()
        https://bugs.webkit.org/show_bug.cgi?id=42304

        No new tests as there are currently no implementations to test. Tests will be
        added once LayoutTestController methods for providing a mock implementation are
        in place, see Bug 39589.

        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::DeviceOrientationController):
        (WebCore::DeviceOrientationController::timerFired):
        (WebCore::DeviceOrientationController::addListener):
        (WebCore::DeviceOrientationController::removeListener):
        (WebCore::DeviceOrientationController::removeAllListeners):
        * dom/DeviceOrientationController.h:

2010-07-26  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Canvas: Optimize GraphicsContext::addPath()

        Avoid "deep concatenating" the canvas path onto the GC path
        if the GC path has no elements.

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

2010-07-23  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        Implement OpenGLES2 helper classes.
        https://bugs.webkit.org/show_bug.cgi?id=42905

        GLES2Canvas and GLES2Texture are some simple OpenGLES2 helper classes
        for managing state, samplers and textures.

        When this is hooked up, it will be covered by many layout tests.

        * WebCore.gypi:
        Add new files to chromium build (contents are protected by #if's for now).
        * platform/graphics/chromium/GLES2Canvas.cpp: Added.
        (WebCore::affineTo3x3):
        (WebCore::GLES2Canvas::State::State):
        (WebCore::GLES2Canvas::GLES2Canvas):
        (WebCore::GLES2Canvas::~GLES2Canvas):
        (WebCore::GLES2Canvas::clearRect):
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::setFillColor):
        (WebCore::GLES2Canvas::setAlpha):
        (WebCore::GLES2Canvas::translate):
        (WebCore::GLES2Canvas::rotate):
        (WebCore::GLES2Canvas::scale):
        (WebCore::GLES2Canvas::concatCTM):
        (WebCore::GLES2Canvas::save):
        (WebCore::GLES2Canvas::restore):
        (WebCore::GLES2Canvas::drawTexturedRect):
        (WebCore::GLES2Canvas::setCompositeOperation):
        (WebCore::GLES2Canvas::applyCompositeOperator):
        (WebCore::GLES2Canvas::getQuadVertices):
        (WebCore::GLES2Canvas::getQuadIndices):
        (WebCore::loadShader):
        (WebCore::GLES2Canvas::getSimpleProgram):
        (WebCore::GLES2Canvas::getTexProgram):
        (WebCore::GLES2Canvas::createTexture):
        (WebCore::GLES2Canvas::getTexture):
        (WebCore::GLES2Canvas::checkGLError):
        * platform/graphics/chromium/GLES2Canvas.h: Added.
        (WebCore::GLES2Canvas::gles2Context):
        * platform/graphics/chromium/GLES2Texture.cpp: Added.
        (WebCore::GLES2Texture::GLES2Texture):
        (WebCore::GLES2Texture::~GLES2Texture):
        (WebCore::GLES2Texture::create):
        (WebCore::convertFormat):
        (WebCore::GLES2Texture::load):
        (WebCore::GLES2Texture::bind):
        * platform/graphics/chromium/GLES2Texture.h: Added.
        (WebCore::GLES2Texture::):
        (WebCore::GLES2Texture::format):
        (WebCore::GLES2Texture::width):
        (WebCore::GLES2Texture::height):


2010-07-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Fix IndexedDB release build on mac
        https://bugs.webkit.org/show_bug.cgi?id=42377

        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::objectStore):

2010-07-26  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Add WebKit plumbing to connect speech requests and callbacks between WebCore and the embedder.
        https://bugs.webkit.org/show_bug.cgi?id=42367

        No new tests, the relevant LayoutTestController bindings will be added in the next patch.

        * page/SpeechInput.cpp: renamed a method.
        * page/SpeechInput.h: renamed a method.
        * page/SpeechInputClient.h: added an extra method to optionally let users stop recording once they have spoken.
        * page/SpeechInputClientListener.h: renamed a method.
        * page/SpeechInputListener.h: renamed a method.

2010-07-26  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] getImageData(): Single-pass RGB->BGR and un-premultiplication
        https://bugs.webkit.org/show_bug.cgi?id=42945

        Combine the two operations into a single loop over the pixel data.
        Yields a considerable FPS gain on http://www.semantix.gr/statue.html

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):

2010-07-26  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Web Inspector: make sure proxy objects are JSON-stringifiable.

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

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

2010-07-26  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Joseph Pecoraro.

        Inspector should remember resources sorting set by the user
        https://bugs.webkit.org/show_bug.cgi?id=19208

        Sorting options both for time and size graphs are memorized in a single property,
        which makes them possible to retrieve in a single message (e.g. useful for remote debugging).

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.populateSidebar):
        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
        (WebInspector.ResourcesPanel.prototype._loadSortOptions):
        (WebInspector.ResourcesPanel.prototype._loadSortOptionForGraph):
        (WebInspector.ResourcesPanel.prototype._graphSelected):
        (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
        (WebInspector.ResourcesPanel.prototype._selectedOptionNameForGraph):
        (WebInspector.ResourcesPanel.prototype._doChangeSortingFunction):
        * inspector/front-end/Settings.js:
        (WebInspector.populateApplicationSettings):

2010-07-25  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Redo fails after text node is split by SplitTextNodeCommand
        https://bugs.webkit.org/show_bug.cgi?id=42941

        The bug was caused by SplitTextNodeCommand not implementing doReapply.
        Implemented doReapply and added insertText1AndTrimText2 to share the code between doApply and doReapply.

        Test: editing/undo/redo-split-text-node.html
              editing/undo/redo-split-text-node-with-removal.html

        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::doApply): Calls executeApply.
        (WebCore::SplitTextNodeCommand::doUnapply): Don't delete m_text1, which is later used in doReapply.
        (WebCore::SplitTextNodeCommand::doReapply): Added.
        (WebCore::SplitTextNodeCommand::insertText1AndTrimText2): Added.
        * editing/SplitTextNodeCommand.h:

2010-07-23  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GTK] media/media-can-play-mpeg-audio.html fails
        https://bugs.webkit.org/show_bug.cgi?id=42895

        Fixed advertizing of mp3, mpeg and mp4 mime-types in the player.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache):

2010-07-23  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        LayoutTests/media/media-document-audio-size.html failure
        https://bugs.webkit.org/show_bug.cgi?id=38376

        Advertize audio/x-wav along with audio/wav when appropriate,
        otherwise WebKit attempts to use a plugin to play the media.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache):

2010-07-25  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        splitTextAt*IfNeed and splitTextElementAt*IfNeed need to be cleaned up
        https://bugs.webkit.org/show_bug.cgi?id=42937

        Isolated the code to decide whether or not text node should be split into isValidCaretPositionInTextNode.
        Moved the condition check out of *IfNeeded methods to applyRelativeFontStyleChange and applyInlineStyle.

        No new tests added since this is a clean up.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Uses isValidCaretPositionInTextNode.
        (WebCore::ApplyStyleCommand::applyInlineStyle): Uses isValidCaretPositionInTextNode.
        (WebCore::ApplyStyleCommand::splitTextAtStart): Renamed from splitTextAtStartIfNeeded.
        (WebCore::ApplyStyleCommand::splitTextAtEnd): Renamed from splitTextAtEndIfNeeded.
        (WebCore::ApplyStyleCommand::splitTextElementAtStart): Renamed from splitTextElementAtStartIfNeeded.
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Renamed from splitTextElementAtEndIfNeeded.
        (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): Returns true if the position lies within a text node.
        * editing/ApplyStyleCommand.h:

2010-07-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for ImageBufferWince
        https://bugs.webkit.org/show_bug.cgi?id=42928

        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::):
        (WebCore::BufferedImage::draw): Pass through ColorSpace parameter.
        (WebCore::BufferedImage::drawPattern): Ditto.
        (WebCore::ImageBuffer::platformTransformColorSpace): Added.

2010-07-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for PopupMenuWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=42932

        Add #if !OS(WINCE) around unsupported window messages.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::wndProc):

2010-07-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement adjustMathMLAttributes
        https://bugs.webkit.org/show_bug.cgi?id=42952

        This is kind of mechanical overkill for adjusting one attribute name,
        but it's nice to use the same machinery as SVG.

        * html/HTMLTreeBuilder.cpp:
        * mathml/mathattrs.in:

2010-07-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Functions supporting the legacy tree builder are confusing
        https://bugs.webkit.org/show_bug.cgi?id=42951

        This patch just inlines these functions into their one call site and
        removes the notImplemented() calls.  We thought we were going to grow
        these to support the new tree builder, but we took a different path.
        Previous to this patch, these functions were confusing because they
        looked like part of the new tree builder.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        * html/HTMLTreeBuilder.h:

2010-07-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Recent HTML5 TreeBuilder Regression?  All canvas tests ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=42948

        Remove ASSERT and replace with correct branch.  I put this ASSERT in
        to make sure we had test coverage for this branch.  I guess we do.  :)

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):

2010-07-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: check of jQuery object type prior to treating it as an array.

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

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

2010-07-24  Daniel Bates  <dbates@rim.com>

        Unreviewed, build fix when building with WML support.

        PageCache.cpp compile error when WML is enabled
        https://bugs.webkit.org/show_bug.cgi?id=40765

        Remove extraneous semicolon.

        Note, building with WML support enabled is broken
        even with this fix. See Bug #42943 for more details.

        * history/PageCache.cpp:
        (WebCore::PageCache::canCachePageContainingThisFrame):

2010-07-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Atomize strings used by the HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42875

        This is about a 1% improvement to the parsing benchmark.

        * html/HTMLTagNames.in:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

2010-07-24  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Buildfix for !ENABLE(INSPECTOR) after r63891.
        https://bugs.webkit.org/show_bug.cgi?id=42925

        * bindings/js/ScriptValue.cpp: Added property svn:eol-style.
        * bindings/js/ScriptValue.h: Added property svn:eol-style.
        * inspector/ConsoleMessage.cpp: Added property svn:eol-style.
        * inspector/ConsoleMessage.h: Added property svn:eol-style.

2010-07-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Re-order whitespace checks in the tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=42923

        This saves about 0.5% on the parsing benchmark.

        * html/HTMLTokenizer.cpp:

2010-07-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] tst_QWebFrame::callQtInvokable() fails
        https://bugs.webkit.org/show_bug.cgi?id=41065

        Converting JS objects to QVariantMaps was broken.
        This is a partial revert of <http://trac.webkit.org/changeset/61478>

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard
        around JSObject::getPropertyNames()

2010-07-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Save a per-character branch in the HTML parser
        https://bugs.webkit.org/show_bug.cgi?id=42921

        The parsing benchmark claims this is a wash, but it makes me feel
        better.

        * html/HTMLToken.h:
        (WebCore::HTMLToken::clear):
        (WebCore::HTMLToken::beginStartTag):
        (WebCore::HTMLToken::beginEndTag):
        (WebCore::HTMLToken::ensureIsCharacterToken):
        (WebCore::HTMLToken::beginComment):
        (WebCore::HTMLToken::beginDOCTYPE):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::bufferCharacter):

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Buildfix for !ENABLE(FILTERS) after r63531.
        https://bugs.webkit.org/show_bug.cgi?id=42914

        * rendering/RenderSVGContainer.cpp: Add missing header.

2010-07-23  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Joseph Pecoraro.

        Implement remaining Inspector support for chrome's appcache
        https://bugs.webkit.org/show_bug.cgi?id=42426

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h:
        (WebCore::InspectorController::connectFrontend):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::fillResourceList):
        (WebCore::ApplicationCacheHost::applicationCacheInfo):
        * loader/appcache/ApplicationCacheHost.h: Changed creation + update times to double and moved appcache info here from InspectorApplicationCacheAgent.h
        (WebCore::ApplicationCacheHost::CacheInfo::CacheInfo):
        (WebCore::ApplicationCacheHost::ResourceInfo::ResourceInfo):

2010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Cleanup glib support (make it optional)
        https://bugs.webkit.org/show_bug.cgi?id=42480

        No new tests, no new features added.
        Just add flags and directories for glib if necessary.
        Put some ifdefs on glib calls.

        * CMakeListsEfl.txt:
        * platform/graphics/cairo/FontPlatformDataCairo.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2010-07-23  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        CanvasRenderingContext2D has lots of style errors
        https://bugs.webkit.org/show_bug.cgi?id=42918

        CanvasRenderingContext2D.h and .cpp have lots of style errors.  I'm planning to post patches
        to both of these files soon, so to minimize merge conflicts and additional style violations
        it seems best to fix all of these errors in bulk before posting any functional changes.  In
        particular the header file is incorrectly indented so any correctly formatted addition will
        be out of place.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        (WebCore::CanvasRenderingContext2D::transform):
        (WebCore::CanvasRenderingContext2D::setTransform):
        (WebCore::CanvasRenderingContext2D::arcTo):
        (WebCore::CanvasRenderingContext2D::arc):
        (WebCore::validateRectForCanvas):
        (WebCore::CanvasRenderingContext2D::strokeRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::createRadialGradient):
        (WebCore::CanvasRenderingContext2D::createPattern):
        (WebCore::CanvasRenderingContext2D::willDraw):
        (WebCore::CanvasRenderingContext2D::createImageData):
        (WebCore::CanvasRenderingContext2D::putImageData):
        (WebCore::CanvasRenderingContext2D::setFont):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/canvas/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::is2d):
        (WebCore::CanvasRenderingContext2D::getLineCap):
        (WebCore::CanvasRenderingContext2D::getLineJoin):
        (WebCore::CanvasRenderingContext2D::state):
        (WebCore::CanvasRenderingContext2D::):

2010-07-23  Adam Barth  <abarth@webkit.org>

        Remove FIXME that we already fixed.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):

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

        Reviewed by Kent Tamura.

        Move more form submission logic into FormSubmission.
        https://bugs.webkit.org/show_bug.cgi?id=41110

        Two major moves:
        * Fold HTMLFormElement::prepareFormSubmission into FormSubmission::create
        * Move non-static (non-FormData-building) methods of FormDataBuilder
            to FormSubmission::Attributes.

        Mechanical moving, no change in behavior, so no new tests.

        * WebCore.xcodeproj/project.pbxproj: Gave FormDataBuilder.h "project" and
            FormSubmission.h "private" visibility.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit): Changed to use FormSubmission::create.
        (WebCore::HTMLFormElement::parseMappedAttribute): Changed to use m_attributes.
        * html/HTMLFormElement.h:
        (WebCore::HTMLFormElement::enctype): Ditto.
        (WebCore::HTMLFormElement::encoding): Ditto.
        (WebCore::HTMLFormElement::acceptCharset): Ditto.
        * loader/FormSubmission.cpp:
        (WebCore::generateFormDataIdentifier): Moved from HTMLFormElement.
        (WebCore::appendMailtoPostFormDataToURL): Ditto.
        (WebCore::FormSubmission::Attributes::parseAction): Moved from FormDataBuilder.
        (WebCore::FormSubmission::Attributes::parseEncodingType): Ditto.
        (WebCore::FormSubmission::Attributes::parseMethodType): Ditto.
        (WebCore::FormSubmission::FormSubmission): Made inline.
        (WebCore::FormSubmission::create): Added logic that used to be in
            HTMLFormElement::prepareFormSubmission.
        * loader/FormSubmission.h:
        (WebCore::FormSubmission::):
        (WebCore::FormSubmission::Attributes::Attributes): Added new class.
        (WebCore::FormSubmission::Attributes::method): Moved from FormDataBuilder.
        (WebCore::FormSubmission::Attributes::isMultiPartForm): Ditto.
        (WebCore::FormSubmission::Attributes::action): Ditto.
        (WebCore::FormSubmission::Attributes::target): Ditto.
        (WebCore::FormSubmission::Attributes::setTarget): Ditto.
        (WebCore::FormSubmission::Attributes::encodingType): Ditto.
        (WebCore::FormSubmission::Attributes::acceptCharset): Ditto.
        (WebCore::FormSubmission::Attributes::setAcceptCharset): Ditto.
        (WebCore::FormSubmission::target): Ditto.
        (WebCore::FormSubmission::contentType): Const-ified return type.
        (WebCore::FormSubmission::boundary): Ditto.
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::encodingFromAcceptCharset): Renamed method for clarity,
            made it use param instead of a class member.
        * platform/network/FormDataBuilder.h:
        (WebCore::FormDataBuilder::FormDataBuilder): Made constructor private.
        * wml/WMLGoElement.cpp: Changed to use FormSubmision::Attributes.
        * wml/WMLGoElement.h: Ditto.

2010-07-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 Parser: document.write in a asynchronous script which is specified to load before page finish blows away document
        https://bugs.webkit.org/show_bug.cgi?id=42365

        This patch implements the changes Ian made to HTML5 to address these
        issues.  Let's try it and see how well it works.

        Test: http/tests/misc/write-from-dom-script.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::write):
        * dom/Document.h:
        (WebCore::Document::writeDisabled):
        (WebCore::Document::setWriteDisabled):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::hasInsertionPoint):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::insertedIntoDocument):
        (WebCore::ScriptElementData::ScriptElementData):
        (WebCore::ScriptElementData::evaluateScript):
        * dom/ScriptElement.h:
        (WebCore::ScriptElementData::writeDisabled):
        (WebCore::ScriptElementData::setWriteDisabled):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::hasInsertionPoint):
        (WebCore::HTMLDocumentParser::insert):
        * html/HTMLDocumentParser.h:

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for PopupMenuWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=42906

        Use correct API for BitmapInfo landed in r63944.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):

2010-07-23  fsamuel@chromium.org  <fsamuel@chromium.org>

        Reviewed by David Hyatt.

        Updated table painting to draw cell layers in the correct order.

        Table Cell Layering
        https://bugs.webkit.org/show_bug.cgi?id=40775

        Tests: tables/layering/paint-test-layering-1.html
               tables/layering/paint-test-layering-2.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        (WebCore::AccessibilityTable::addChildren):
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::titleUIElement):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObjectForSection):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::calcBorderLeft):
        (WebCore::RenderTable::calcBorderRight):
        (WebCore::RenderTable::cellAbove):
        (WebCore::RenderTable::cellBelow):
        (WebCore::RenderTable::cellBefore):
        (WebCore::RenderTable::cellAfter):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::RenderTableSection):
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::setCellWidths):
        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderTop):
        (WebCore::RenderTableSection::calcOuterBorderBottom):
        (WebCore::RenderTableSection::calcOuterBorderLeft):
        (WebCore::RenderTableSection::calcOuterBorderRight):
        (WebCore::RenderTableSection::firstLineBoxBaseline):
        (WebCore::compareCellPositions):
        (WebCore::RenderTableSection::paintCell):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::numColumns):
        (WebCore::RenderTableSection::appendColumn):
        (WebCore::RenderTableSection::splitColumn):
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::CellStruct::CellStruct):
        (WebCore::RenderTableSection::CellStruct::primaryCell):
        (WebCore::RenderTableSection::CellStruct::hasCells):
        (WebCore::RenderTableSection::primaryCellAt):

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for Path.h
        https://bugs.webkit.org/show_bug.cgi?id=42904

        * platform/graphics/Path.h: Add missing typedef PlatformPath.

2010-07-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Reserve capacity for attributes
        https://bugs.webkit.org/show_bug.cgi?id=42877

        This is about a 1.7% improvement to the parsing benchmark.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):

2010-07-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Inline HTMLElementStack::top
        https://bugs.webkit.org/show_bug.cgi?id=42879

        According to sampling, HTMLElementStack::top is the hotest function in
        the treebuilder.  Inlining it is about a 0.3% improvement to the
        parsing benchmark.  This squares with how often it occurs in samples.

        * html/HTMLElementStack.cpp:
        * html/HTMLElementStack.h:
        (WebCore::HTMLElementStack::top):

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=42888

        Use AffineTransform insted of TransformationMatrix and
        add ColorSpace parameter to the drawBitmap methods.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::affineTransform):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawBitmap):
        (WebCore::GraphicsContext::drawBitmapPattern):

2010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Add support for using libcurl network backend.
        https://bugs.webkit.org/show_bug.cgi?id=42286

        Add files and flags for soup/curl specific backend being
        used.
        Put some ifdefs around soup/glib calls.

        No new tests, no new features implemented.

        * CMakeListsEfl.txt:
        * platform/efl/FileSystemEfl.cpp:
        (WebCore::fileSystemRepresentation):

2010-07-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add fast-reject path for InputStreamPreprocessor::peek
        https://bugs.webkit.org/show_bug.cgi?id=42881

        This is about a 2.5% speedup on the parsing benchmark.

        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Merge PasteboardWince.cpp into PasteboardWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=42885

        Make PasteboardWin more portable and remove the global namespace prefix
        from GlobalLock/GlobalUnlock, since they are only macros on WinCE.

        * platform/win/PasteboardWin.cpp:
        (WebCore::PasteboardOwnerWndProc):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):

2010-07-23  Justin Schuh  <jschuh@chromium.org>

        Unreviewed, rolling out r63925.
        http://trac.webkit.org/changeset/63925
        https://bugs.webkit.org/show_bug.cgi?id=42858

        Introduced a regression in history state.

        * page/History.cpp:
        (WebCore::History::urlForState):

2010-07-23  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed build fix.

        Fix make dist by aligning the source list with currently used headers.

        * GNUmakefile.am:

2010-07-23  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        Moved the 'mathml' group back to where it belongs as
        siblings of the other major folders.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        Buildfix for WinCE graphics after r56015.
        https://bugs.webkit.org/show_bug.cgi?id=41354

        Use fabs() insetead of abs().

        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wince/PlatformPathWince.cpp:
        (WebCore::PlatformPath::addArcTo):

2010-07-23  ryuan choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL]build break because of r63927
        https://bugs.webkit.org/show_bug.cgi?id=42864

        * CMakeLists.txt:

2010-07-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Inline HTMLTokenizer::InputStreamPreprocessor::peek
        https://bugs.webkit.org/show_bug.cgi?id=42880

        According to sampling HTMLTokenizer::InputStreamPreprocessor::peek is
        the hotest function in the tokenizer.  Inlining this function is about
        a 2.2% speedup on the parser benchmark.  Turns out the tokenizer is
        much hotter than the tree builder.  :)

        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):

2010-07-23  Andras Becsi  <abecsi@webkit.org>

        Unreviewed build fix.

        [Qt] Fix WebKit2 linkage.

        No new tests needed.

        * WebCore.pro: add InjectedBundlePageEditorClient.cpp to WK2 sources

2010-07-23  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Setup the QtWebProcess

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

        * WebCore.pro: Added WebProcessMainQt.cpp to SOURCES.

2010-07-23  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: Chromium tests fix.

        * inspector/CodeGeneratorInspector.pm:

2010-07-23  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Buildfix for PluginDatabaseWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41887

        Define KEY_ENUMERATE_SUB_KEYS only if not defined.

        * plugins/win/PluginDatabaseWin.cpp:

2010-07-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium DevTools: migrate from utility context-based injected
        script dispatch to upstream schema.

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

        * bindings/v8/ScriptProfile.cpp:
        (WebCore::ScriptProfile::title):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getProfile):
        * inspector/front-end/InjectedScriptAccess.js:

2010-07-23  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: rolling out r63963.

        * bindings/v8/ScriptProfile.cpp:
        (WebCore::ScriptProfile::title):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getProfile):
        * inspector/front-end/InjectedScriptAccess.js:

2010-07-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium DevTools: migrate from utility context-based injected
        script dispatch to upstream schema.

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

        * bindings/v8/ScriptProfile.cpp:
        (WebCore::ScriptProfile::title):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getProfile):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess.get if):
        (InjectedScriptAccess):

2010-07-23  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: error info propagation in InspectorBackendDispatch should be improved
        https://bugs.webkit.org/show_bug.cgi?id=42873

        * inspector/CodeGeneratorInspector.pm: report wrong parameter count and wrong
        parametere type errror to the dispatch method caller

2010-07-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: injectedScriptId is missing in the stack frame wrappers.

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

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

2010-07-23  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Kent Tamura.

        Backslash isn't transcoded in <input>
        https://bugs.webkit.org/show_bug.cgi?id=42878

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

2010-07-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: CodeGeneratorInspector was extended and now it can
        generate InspectorBackedDispatcher's code. This dispatcher will
        validate and dispatch incoming inspector commands only by native
        code without using javaScript. That is necessary step for
        RemoteDebugging support.
        https://bugs.webkit.org/show_bug.cgi?id=42588

        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorBackendDispatcher):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.setDocument):

2010-07-22  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Kent Tamura.

        Backslash is transcoded into yen sign even when non japanese font is specified
        https://bugs.webkit.org/show_bug.cgi?id=39654

        Test: fast/text/backslash-to-yen-sign-euc.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Call FontDescriptor::setIsSpecifiedFont.
        * platform/graphics/Font.cpp:
        (WebCore::Font::Font):
        * platform/graphics/FontDescription.h: Added m_isSpecifiedFont and its accessors.
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::isSpecifiedFont):
        (WebCore::FontDescription::setIsSpecifiedFont):
        (WebCore::FontDescription::operator==):
        * platform/text/transcoder/FontTranscoder.cpp:
        (WebCore::FontTranscoder::converterType): Don't transcode backslashes if a font family is explicitly specified.
        (WebCore::FontTranscoder::convert):
        (WebCore::FontTranscoder::needsTranscoding):
        * platform/text/transcoder/FontTranscoder.h: Change the arguments from AtomicString fontFamily to Font.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::updateNeedsTranscoding):
        (WebCore::RenderText::setTextInternal):

2010-07-22  Jon Honeycutt  <jhoneycutt@apple.com>

        Windows build fix.

        Commit some changes missed by the commit-queue in r63944.

        * platform/win/BitmapInfo.h:
        (WebCore::BitmapInfo::is16bit):
        (WebCore::BitmapInfo::is32bit):
        (WebCore::BitmapInfo::width):
        (WebCore::BitmapInfo::height):
        (WebCore::BitmapInfo::size):
        (WebCore::BitmapInfo::paddedWidth):
        (WebCore::BitmapInfo::numPixels):
        (WebCore::BitmapInfo::paddedBytesPerLine):
        (WebCore::BitmapInfo::bytesPerLine):

2010-07-22  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WINCE] Add additonal methods to BitmapInfo.
        https://bugs.webkit.org/show_bug.cgi?id=42071

        Added a parameter to create 16bit BitmapInfo and
        some additional accessors for the WinCE port.

        Set bmiHeader.biSize only at constructor.

        * platform/win/BitmapInfo.cpp:
        (WebCore::bitmapInfoForSize):
        (WebCore::BitmapInfo::create):
        (WebCore::BitmapInfo::createBottomUp):
        * platform/win/BitmapInfo.h:
        (WebCore::BitmapInfo::is16bit):
        (WebCore::BitmapInfo::is32bit):
        (WebCore::BitmapInfo::width):
        (WebCore::BitmapInfo::height):
        (WebCore::BitmapInfo::size):
        (WebCore::BitmapInfo::paddedWidth):
        (WebCore::BitmapInfo::numPixels):
        (WebCore::BitmapInfo::paddedBytesPerLine):
        (WebCore::BitmapInfo::bytesPerLine):

2010-07-22  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        Autoscroll on selection should take scrollbars into account as outside of the content.
        https://bugs.webkit.org/show_bug.cgi?id=40403

        ScrollView's scroll-bar was considered as a part of content rect,
        that prevents autoscroll to happen when the pointer is over the
        scroll-bar.  This change excluded scroll-bar region from scrolling
        delta calculation.
        
        Test: WebCore/manual-tests/autoscroll-over-scrollbar.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):

2010-07-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        maxLength should not be applied to non-text types
        https://bugs.webkit.org/show_bug.cgi?id=42814

        According to the HTML5 specification, maxLength attribute should
        be applied to text, search, url, tel, email, and password types.

        Test: fast/forms/input-maxlength-unsupported.html

        * dom/InputElement.cpp:
        (WebCore::InputElement::handleBeforeTextInsertedEvent):
         Apply maxLength() only if supportsMaxLength() is true.
        * dom/InputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::patternMismatch):
         Code cleanup by isTextType().
        (WebCore::HTMLInputElement::tooLong):
         ditto.
        (WebCore::HTMLInputElement::isTextType):
         Added. This returns true for types with maxLength/pattern/placeholder.
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::supportsMaxLength):
         Added. Just calls isTextType().
        (WebCore::HTMLInputElement::supportsPlaceholder):
         Code cleanup by isTextType().
        * wml/WMLInputElement.h:
        (WebCore::WMLInputElement::supportsMaxLength):
         Added. Always returns true.

2010-07-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        [cleanup] logic to extract adjacent lists and list children in listifyParagraph and unlistifyParagraph should be isolated
        https://bugs.webkit.org/show_bug.cgi?id=42841

        Added enclosingListChild that takes the list node containing the node for the second argument
        to ensure that it only returns the enclosing list child of the specified list node.

        Added adjacentEnclosingList that finds adjacent lists of the specified position.
        It takes the current position, the adjacent position that may or may not have a list, and the list type,
        and avoids a list that belongs to a different table cell or an outer list that contains the current position.

        No new tests needed.

        * editing/InsertListCommand.cpp:
        (WebCore::enclosingListChild): Added. See above.
        (WebCore::InsertListCommand::unlistifyParagraph): Uses enclosingListChild.
        (WebCore::adjacentEnclosingList): Added. See above.
        (WebCore::InsertListCommand::listifyParagraph): Uses adjacentEnclosingList.

2010-07-22  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Roben.

        [WIN] Correct DeleteObject usage in PasteboardWin
        https://bugs.webkit.org/show_bug.cgi?id=41956

        Call DeleteObject() if OpenClipboard() fails and don't
        call DeleteObject() on objects returned from SelectObject().

        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):

2010-07-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Log function is incorrectly used.
        r63804 used LOG function, but it should receive one more parameter.
        Used LOG_ERROR instead, since this is an error message.
        https://bugs.webkit.org/show_bug.cgi?id=42842

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyFallbackCursor): use LOG_ERROR in place of LOG

2010-07-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Ojan Vafai.

        Cancel button of search input field should fire input/change events
        https://bugs.webkit.org/show_bug.cgi?id=34393

        Test: fast/forms/search-cancel-button-events.html

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):

2010-07-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Fix for <rdar://problem/8222626>
        Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Update project files.
        
        * dom/UserTypingGestureIndicator.cpp: Copied from dom/UserGestureIndicator.cpp.
        (WebCore::UserTypingGestureIndicator::processingUserTypingGesture):
        (WebCore::focusedNode):
        (WebCore::UserTypingGestureIndicator::focusedElementAtGestureStart):
        (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
        (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
        * dom/UserTypingGestureIndicator.h: Copied from dom/UserGestureIndicator.h.
        Version of UserGestureIndicator that just tracks keyboard gestures and the focused
        node they were targeting.
        
        * editing/Editor.cpp:
        (WebCore::Editor::confirmComposition):
        (WebCore::Editor::setComposition):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::keyEvent):
        Put UserTypingGestureIndicator on the stack for user generated keyboard events.

2010-07-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Ojan Vafai.

        <input type=number> stepper buttons should dispatch input/change events
        https://bugs.webkit.org/show_bug.cgi?id=42440

        Test: fast/forms/input-number-events.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer):
         Sets a flag to dispatch 'change' event and dispatches 'input' event
         if the value is changed.

2010-07-22  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Make history state methods validate against document URL
        https://bugs.webkit.org/show_bug.cgi?id=42858

        Test: fast/history/history-replace-illegal.html

        * page/History.cpp:
        (WebCore::History::urlForState):

2010-07-22  Andy Estes  <aestes@apple.com>

        Reviewed by Maciej Stachowiak.

        When there are no beforeload listeners on a document,
        HTMLLinkElement::process() should be called immediately when the node is
        inserted into the document, rather than waiting until after attach is
        performed.
        <https://bugs.webkit.org/show_bug.cgi?id=42859>
        <rdar://problem/8194528>

        No new tests.

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::insertedIntoDocument): If there are no
        beforeload listeners, call process() immediately.  Otherwise, add it as
        a post-attach callback.

2010-07-22  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        REGRESSION: box shadows on WebGL canvas elements repainted every frame
        https://bugs.webkit.org/show_bug.cgi?id=42852

        Avoid calling HTMLCanvasElement::willDraw() every time a WebGL canvas'
        contents update.  This call is only needed in the non-compositing
        rendering path.

        Covered by fast/canvas/webgl/canvas-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged):
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):

2010-07-22  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Ojan Vafai.

        Remove useless PlatformScrollBar
        https://bugs.webkit.org/show_bug.cgi?id=41911

        * WebCore.gypi:
        * platform/win/PlatformScrollBar.h: Removed.
        * platform/win/PlatformScrollBarWin.cpp: Removed.

2010-07-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        [Windows] Home hey doesn't work in first DIV inside a TABLE
        https://bugs.webkit.org/show_bug.cgi?id=42767

        The bug was caused by positionAvoidingFirstPositionInTable moving outside of the editing region.
        Added a check so that it avoids the first position in the table only if the table is editable.

        Test: editing/selection/home-inside-noneditable-table.html

        * editing/visible_units.cpp:
        (WebCore::positionAvoidingFirstPositionInTable):

2010-07-22  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Laszlo Gombos.

        Fix build warning for missing parentheses.

        WebCore/html/HTMLInputElement.cpp:113: warning: suggest parentheses around '&&' within '||'

        * html/HTMLInputElement.cpp:
        (WebCore::isNumberCharacter):

2010-07-22  John Gregg  <johnnyg@google.com>

        Reviewed by Kent Tamura.

        [chromium] fast/forms/input-file-directory-upload.html fails on win after r63454
        https://bugs.webkit.org/show_bug.cgi?id=42768

        Normalize path separators for the script API by convering \'s to /'s.

        Covered by input-file-directory-upload.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setFileListFromRenderer):

2010-07-22  Dmitry Titov  <dimich@chromium.org>

        Rubberstamped by Simon Fraser.

        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::PlatformStrategies): Add initialization of m_localizationStrategy.

2010-07-22  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Ojan Vafai.

        Make db.changeVersion()'s third parameter optional, as required by the spec.
        https://bugs.webkit.org/show_bug.cgi?id=42787

        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        * bindings/js/JSDatabaseSyncCustom.cpp:
        (WebCore::JSDatabaseSync::changeVersion):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::deliverTransactionCallback):
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::execute):

2010-07-20  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Darin Adler.

        Code Generator: Allow negative and string constants.
        Also add tests for hexadecimal numbers.

        * bindings/scripts/CodeGeneratorJS.pm:
        If it is a string, do not try to cast it to an int.

        * bindings/scripts/IDLStructure.pm:
        Add a regex just for constant values that allows strings, hexadecimal numbers, and integral numbers.

        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        Update the tests.

        * bindings/scripts/test/JS/JSTestObj.cpp:
        Ditto.

        * bindings/scripts/test/JS/JSTestObj.h:
        Ditto.

        * bindings/scripts/test/ObjC/DOMTestObj.h:
        Ditto.

        * bindings/scripts/test/TestObj.idl:
        Add tests for negative numbers, strings, and hexadecimal numbers.

        * bindings/scripts/test/V8/V8TestObj.cpp:
        Update the tests.

2010-07-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Composited layers don't scroll in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42771

        More prep work: make a single scrollPositionChanged() bottleneck method, and use it to 
        send the scroll event, repaint fixed elements, and update compositing layers.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
        (WebCore::FrameView::scrollPositionChanged):
        (WebCore::FrameView::repaintFixedElementsAfterScrolling):
        (WebCore::FrameView::valueChanged):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged):

2010-07-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
        Add localized strings stubs for WebKit2.

        - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
          for localized strings.

        Gets us below 200 tests failing in WebKitTestRunner.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * page/mac/WebCoreViewFactory.h:
        * platform/LocalizationStrategy.h: Added.
        (WebCore::LocalizationStrategy::~LocalizationStrategy):
        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::pluginStrategy):
        (WebCore::PlatformStrategies::localizationStrategy):
        (WebCore::PlatformStrategies::PlatformStrategies):
        (WebCore::PlatformStrategies::~PlatformStrategies):
        * platform/mac/LocalizedStringsMac.mm:

2010-07-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
        https://bugs.webkit.org/show_bug.cgi?id=42830

        No new tests needed.

        * WebCore.pri: add ApplicationCacheStorage.h to wk2 headers
        * WebCore.pro: add WebContextQt.cpp to sources

2010-07-22  Joone Hur  <joone.hur@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] add support for logging
        https://bugs.webkit.org/show_bug.cgi?id=40807

        Enable to turn log channels on for EFL port

        * platform/efl/LoggingEfl.cpp:
        (WebCore::InitializeLoggingChannelsIfNecessary):

2010-07-22  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Ureviewed build fix.

        [Qt] Fix WebKit2 build

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

        * WebCore.pri:
        * WebCore.pro:

2010-07-22  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Stop granting universal access to inspector front-end page.
        https://bugs.webkit.org/show_bug.cgi?id=42817

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):

2010-07-22  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix inspector console tests crashes.

        * bindings/v8/ScriptValue.cpp:
        (WebCore::v8ToInspectorValue):
        (WebCore::ScriptValue::toInspectorValue): enter v8 context before calling GetPropertyNames

2010-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix.

        [EFL] Build break for SVN r63881
        https://bugs.webkit.org/show_bug.cgi?id=42813

        * CMakeLists.txt: Add platform/SchemeRegistry.cpp

2010-07-22  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Refactor CSSSelector's destructor and make it inline.

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

        Refactor with no behavior change, thus no new tests.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelectorBag::~CSSSelectorBag): Make sure the bag is empty.
        (WebCore::CSSSelectorBag::add): Renamed from append().
        (WebCore::CSSSelector::releaseOwnedSelectorsToBag):
        (WebCore::CSSSelector::deleteReachableSelectors):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::~CSSSelector):

2010-07-22  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: should be possible to convert console message arguments to InspectorValues
        https://bugs.webkit.org/show_bug.cgi?id=42457

        Now it is possible to convert simple JavaScript objects to
        InspectorValues.

        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToInspectorValue):
        (WebCore::ScriptValue::toInspectorValue):
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptValue.cpp:
        (WebCore::v8ToInspectorValue):
        (WebCore::ScriptValue::toInspectorValue):
        * bindings/v8/ScriptValue.h:
        * inspector/ConsoleMessage.cpp: console notifications are pushed to RemoteInspectorFrontend instead of InspectorFrontend.
        (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::wrapForConsole): return InspectorValue instead of SerializedScriptValue
        * inspector/InjectedScript.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::clearConsoleMessages): send response directly from the backend
        (WebCore::InspectorBackend::remoteFrontend):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::clearConsoleMessages): don't send notification to the front end,
        it will be send either from InspectorBackend.cpp if it was a user request or reset message will
        be send to the front end if the messages are cleared due to page navigation.
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/inspector.js:

2010-07-22  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Modifying settings actually modifies defaultValues
        https://bugs.webkit.org/show_bug.cgi?id=42816

        Avoid using live modifiable objects as property default values.

        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.prototype.reset):
        (WebInspector.Settings.prototype._load):
        (WebInspector.Settings.prototype.installSetting):
        (WebInspector.Settings.prototype._get):

2010-07-22  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Fraser.

        Touch events do not affect the :active CSS state
        https://bugs.webkit.org/show_bug.cgi?id=39493

        Clean the code up by using a typedef based on comments
        post landing of the original patch.

        No change in functionality so no new tests.

        * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
        * WebCore.exp.in: Update export signature.
        * WebCore.order: Ditto.
        * page/EventHandler.cpp: use the new typedef.
        * page/EventHandler.h: ditto.


2010-07-22  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Rename method for CSS rule source range retrieval and fix return object format
        https://bugs.webkit.org/show_bug.cgi?id=42379

        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getRuleRanges):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleRanges):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getRuleRanges):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:

2010-07-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium Dev Tools: Separators are missing in the context menu.

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

        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
        * platform/ContextMenuItem.h:
        (WebCore::):

2010-07-22  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
        https://bugs.webkit.org/show_bug.cgi?id=42244

        Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
        called SVGFilterPrimitiveStandardAttributes.

        Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html

        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):

2010-07-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Small refactoring for input value sanitization
        https://bugs.webkit.org/show_bug.cgi?id=42807

        Rename some functions to clarify their roles.

        * dom/InputElement.cpp:
        (WebCore::replaceEOLAndLimitLength):
          Renamed from sanitizeUserInputValue().
        (WebCore::InputElement::sanitizeValueForTextField):
          Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
          instead of sanitizeUserInputValue().
        (WebCore::InputElement::sanitizeUserInputValue):
          Just call replaceEOLAndLimitLength().
        (WebCore::InputElement::updateValueIfNeeded):
          Use non-static sanitizeValue() for consistency.
        * dom/InputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
          Revert the change of r63876. It is not needed because of the
          updateValueIfNeeded() change.
        (WebCore::HTMLInputElement::sanitizeValue):
          Apply the sanitizeValue() renaming.

2010-07-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        webkitPerformance.timing.responseEnd should not include document parse time
        https://bugs.webkit.org/show_bug.cgi?id=42797

        No new tests because timing based test would be flaky.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
        (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
        * loader/MainResourceLoader.h:
        * page/Timing.cpp:
        (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.

2010-07-21  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Assertion failure by changing the type of an input element with a
        non-number value to 'range'.
        https://bugs.webkit.org/show_bug.cgi?id=42643

        Test: fast/forms/input-value-sanitization.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        Update the value by HTMLInputElement::sanitizeValue() in a case that
        storesValueSeparateFromAttribute() state is not changed.

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement spec changes for basefont and bgsound
        https://bugs.webkit.org/show_bug.cgi?id=42792

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Update a list of tags to match changes in the HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=42791

        We need to atomize these strings at some point.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder needs to update to match new spec behavior for <button>
        https://bugs.webkit.org/show_bug.cgi?id=42233

        The spec has some typos in this area, but this is my best guess for
        what Ian means.  I've filed bugs against the spec for each typo.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isScopeMarker):
        (WebCore::HTMLNames::isButtonScopeMarker):
        (WebCore::HTMLElementStack::inButtonScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        * html/HTMLTreeBuilder.h:

2010-07-21  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Oliver Hunt.

        Prevent DeleteButtonController enable state from changing when not editing
        https://bugs.webkit.org/show_bug.cgi?id=42659

        Test: svg/custom/use-invalid-html.xhtml

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::cloneChildNodes):

2010-07-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
        radius path-based drawing code has some issues with corner-joins

        GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
        indicating whether or not the clip should be antialiased.
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):

        Compute 4 booleans determining if each edge is a "matching" edge of 
        not. Send the two appropriate values to clipBorderSidePolygon() so 
        we can decide there whether or not to antialias the clip based on 
        matchy-ness.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):

        If both edges are matching, don't antialias. If neither edge 
        matches, never antialias. If one edge matches and one does not, 
        apply two clips to get the appropriate antialiasing in each corner.
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        * rendering/RenderBoxModelObject.h:

2010-07-21  Brady Eidson  <beidson@apple.com>

        Reviewed by Geoffrey Garen.

        Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=42783

        No new tests. (No change in behavior)

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::isMixedContent):
        (WebCore::FrameLoader::loadFrameRequest):
        
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::canLoad):
        (WebCore::SecurityOrigin::isLocal):
        * page/SecurityOrigin.h:
        
        * platform/SchemeRegistry.cpp: Added.
        (WebCore::localSchemes):
        (WebCore::secureSchemes):
        (WebCore::schemesWithUniqueOrigins):
        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
        (WebCore::SchemeRegistry::localURLSchemes):
        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
        (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
        (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
        * platform/SchemeRegistry.h: Added.

2010-07-21  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
        https://bugs.webkit.org/show_bug.cgi?id=37993
        
        Added logic to properly handle pausing and resuming when in the 
        AnimationStateStartWaitStyleAvailable state. This was causing an
        assert when going out of the pause state because the paused flag
        was not set.
        
        The fix is a straightforward implementation, going into a new
        AnimationStatePausedWaitStyleAvailable state and setting the paused
        flag (actually setting the m_pauseTime variable to something other
        than -1). Also added handling of the new state, both when the 
        "style available" callback comes in while in this state and when
        unpausing while in this state. 
        
        For now a LayoutTest is not possible since there's no way to go in
        and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
        to track this.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::updateStateMachine):
        * page/animation/AnimationBase.h:
        (WebCore::AnimationBase::):

2010-07-21  Bo Liu  <boliu@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Add chromium WebMediaPlayer to PlatformMedia
        https://bugs.webkit.org/show_bug.cgi?id=41295

        * platform/graphics/MediaPlayer.h:
        (WebCore::PlatformMedia::):

2010-07-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Composited layers don't scroll in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42771

        Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
        but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
        scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
        * page/FrameView.h:

2010-07-21  Peter Beverloo  <peter@lvp-media.com>

        Reviewed by Eric Carlson.

        Removed support for the -khtml CSS vendor prefix and limit the
        -apple prefix to two properties (dashboard-region and line-clamp).

        Test: fast/css/limited-vendor-prefix-behavior.html

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

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix the last tree HTML5 tree builder crashes
        https://bugs.webkit.org/show_bug.cgi?id=42773

        This patch changes the internal representation of a bookmark to handle
        the case where one of the adjecent entries in the list of active
        formatting elements is actually a marker.

        After this patch, the bookmarking mechanism isn't as general, but it
        works for the cases we need in the adoption agency.

        Also, after this patch, there aren't any more known crashers in the
        HTML5 tree builder.  :)

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::swapTo):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
        (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
        (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
        (WebCore::HTMLFormattingElementList::Bookmark::mark):
        (WebCore::HTMLFormattingElementList::first):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-21  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Disable overzealous ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=42775

        No new tests because no changed functionality.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):

2010-07-21  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
        https://bugs.webkit.org/show_bug.cgi?id=42534

        Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
        Calling it from the destructor of Frame is too late and sometimes causes access violation.
        I was not able to reproduce this crash, so did not add new tests.
        This patch is based on the error reported in 
        http://code.google.com/p/chromium/issues/detail?id=49323.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::pageDestroyed):
        * page/DOMWindow.h:
        * page/Frame.cpp:
        (WebCore::Frame::pageDestroyed):

2010-07-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Don't assert when clicking on a plug-in in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42762

        Remove a now invalid assert and return false instead.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):

2010-07-21  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
        https://bugs.webkit.org/show_bug.cgi?id=42766

        See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::namedPropertyDeleter):
        (WebCore::V8HTMLDocument::namedPropertyGetter):
        (WebCore::V8HTMLDocument::indexedPropertyGetter):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-07-21  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Update plug-in proxy backed <video> and <audio> elements.
        https://bugs.webkit.org/show_bug.cgi?id=42770
        <rdar://problem/7963467>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
        the 'controls' attribute changes.
        (WebCore::HTMLMediaElement::createRenderer): 
        (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
        'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
        plug-in's view to the global list of plugin views.
        (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
        (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.

        * loader/FrameLoader.cpp:
        * loader/FrameLoaderClient.h:
        * loader/SubframeLoader.cpp:
        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
         even when we don't have a renderer.
        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
        (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::setControls):
        (WebCore::MediaPlayer::setControls): New, pass through to media engine.
        (WebCore::MediaPlayer::enterFullscreen): Ditto.
        (WebCore::MediaPlayer::exitFullscreen): Ditto.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::setControls):
        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
        (WebCore::MediaPlayerPrivateInterface::exitFullscreen):

2010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Make more members of CSSStyleSelector private.
        https://bugs.webkit.org/show_bug.cgi?id=42757

        No change in behavior, so no new tests.

        * css/CSSStyleSelector.h: Made a publicly-unused methods private.

2010-07-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: consider jQuery object to be of array nature.

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

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

2010-07-21  Alexey Proskuryakov  <ap@apple.com>

        Unreviewed Windows build fix.

        https://bugs.webkit.org/show_bug.cgi?id=42717
        <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
        credential storage, and is sent with subsequent requests

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
        copy/paste, oops!

2010-07-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
        https://bugs.webkit.org/show_bug.cgi?id=42662
        
        If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
        need to flip the rects passed to setNeedsDisplayInRect:.
        
        Avoid writing this code twice by making a bare function to share code
        between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
        class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
        
        Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
        correct.
        
        No new tests because no layers use bottom-up contents at present.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        (setLayerNeedsDisplayInRect):
        (-[WebLayer setNeedsDisplayInRect:]):
        (-[WebLayer drawInContext:]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplayInRect:]):
        (-[WebTiledLayer drawInContext:]):

2010-07-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42717
        <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
        credential storage, and is sent with subsequent requests

        Tests: http/tests/security/401-logout/401-logout.php
               http/tests/xmlhttprequest/remember-bad-password.html

        * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
        * platform/network/CredentialStorage.h:
        Added a way to remove stored credentials for a given protection space.

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        Remove stored credentials if they didn't work the first time.

2010-07-20  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        WebKit on Windows should build optionally with an unversioned ICU DLL
        https://bugs.webkit.org/show_bug.cgi?id=42722
        <rdar://problem/8211767> WebKit needs to link against unversioned ICU

        To get the proper value for U_DISABLE_RENAMING into all source files, we force
        the include of ICUVersion.h (our generated header) via the compiler options.
        
        * WebCore.vcproj/WebCore.vcproj:
        Add forced include of ICUVersion.h.
        * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.

2010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Serialization to JSON in InspectorValue works incorrect
        if comma is assigned as decimal separator. Windows with Russian locale.
        https://bugs.webkit.org/show_bug.cgi?id=42755

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):

2010-07-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        CSS rotation transform can cause elements with certain styles to vanish during rotation.
        https://bugs.webkit.org/show_bug.cgi?id=42579
        
        Remove some untested, broken code that, as far as I can tell, could never get hit.
        Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
        but a border paint correctly.

        Test: compositing/overflow/zero-size-overflow.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):

2010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Laszlo Gombos.

        [QT] Leak and few more fixes to qt port of geolocation
        https://bugs.webkit.org/show_bug.cgi?id=42753

        Fixes memory leak and default values set to attributes. 
        
        Memory leak fix no new test case added. 

        * platform/qt/GeolocationServiceQt.cpp: Added.
        (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
        (WebCore::GeolocationServiceQt::positionUpdated):

2010-07-21  Kristian Amlie <kristian.amlie@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Added automatic sqlite extraction for Symbian to QtWebKit.

        Also added sqlite detection in case sqlite is not present in the SDK.
        This is possible if WebKit is compiled standalone.

        The inclusion part is a consequence of commit c578c6c1d6d in the Qt
        repository. It will not work on Qt versions < 4.7.1, but that is ok,
        since the only build system it will affect is marked as experimental
        in the whole 4.7 series.

        * WebCore.pro:

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Associate elements with the active form
        https://bugs.webkit.org/show_bug.cgi?id=42728

        This patch fixes fast/forms/formmove3.html.  The test still doesn't
        pass due to some render tree differences, but it works as intended now.

        To fix this test, I needed to deviate from the spec slight.  Minefield
        seems to have the same deviation:
          - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::takeForm):
        (WebCore::HTMLConstructionSite::setForm):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::form):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        The adoption agency doesn't properly attach()
        https://bugs.webkit.org/show_bug.cgi?id=42727

        The adoption agency is transliterated rather directly from the spec,
        but it misses some of the WebKit-specific machinations, such as
        attaching to the render tree.

        The algorithm, as written, is a minor layer violation.  I've added to
        the problem by calling attach() from HTMLTreeBuilder (even though
        that's the job of the HTMLConstructionSite).  We'll need to clean up
        the layering a bit at some point.

        This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
        fixing it in the next patch.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        <input> elements with no type attribute should be foster parented
        https://bugs.webkit.org/show_bug.cgi?id=42725

        Fix spec transcription error.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):

2010-07-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix fast/css/last-child-style-sharing.html
        https://bugs.webkit.org/show_bug.cgi?id=42731

        Prior to this patch, we weren't calling finishParsingChildren on the
        body element.  We need a more systematic way of catching these bugs.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popAll):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-21  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Runtime feature switch for device orientation
        https://bugs.webkit.org/show_bug.cgi?id=42265

        Add a runtime feature switch that decides whether device orientation
        events are available or not. Defaults to true.

        * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
        (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.idl:
        * page/Page.cpp:
        (WebCore::Page::Page):

2010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed Nikolas Zimmermann.

        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
        https://bugs.webkit.org/show_bug.cgi?id=42244

        The implementation was done by Nikolas Zimmermann before, but
        there was no tests for it. The patch also implements the simple
        setFilterRes method.

        Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html

        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::setFilterRes):
        (WebCore::SVGFilterElement::svgAttributeChanged):
        (WebCore::SVGFilterElement::childrenChanged):
        * svg/SVGFilterElement.h:

2010-07-21  Ben Murdoch  <benm@google.com>

        Unreviewed, build fix.

        Forgot to update the role of HitTestRequest.h in
        the Xcode project after landing patch from
        https://bugs.webkit.org/show_bug.cgi?id=39493

        * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
            private so it can be included in WebKit by EventHandler.h
            which is already private..

2010-07-20  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Touch events do not affect the :active CSS state
        https://bugs.webkit.org/show_bug.cgi?id=39493

        Test: fast/events/touch/touch-active-state.html

        * WebCore.exp.in: Update exports for new signature of
            hitTestResultAtPoint.
        * WebCore.order: ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
            of the hit test to perform as a parameter with a default
            value rather than harcoding it in the function body.
        (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
            the active element during a mouse move if the user is
            touching the screen.
        (WebCore::EventHandler::handleTouchEvent): Set the correct
            type of hit test to perform depending on the type of the
            touch event we are handling.
        * page/EventHandler.h: Update the signature of hitTestResultAtPoint.

2010-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        console.assert should include stack trace with line numbers.
        https://bugs.webkit.org/show_bug.cgi?id=22556

        Test: inspector/console-assert.html

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::getTopFrameLocation):
        (WebCore::toScriptCallFramesVector):
        (WebCore::ScriptCallStack::create):
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptCallStack.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        (WebCore::V8Console::assertCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        * page/Console.cpp:
        (WebCore::Console::lastWMLErrorMessage):
        * page/Console.idl:

2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Kent Tamura.

        [EFL] Use log functions instead of fprintf
        https://bugs.webkit.org/show_bug.cgi?id=42576

        Use LOG and LOG_ERROR instead of fprintf.

        No new tests, no new functionality.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyFallbackCursor):

2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: the bindings generation helper script can be
        simplified a bit. Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=42523

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:

2010-07-20  Steve Falkenburg  <sfalken@apple.com>

        Re-save vsprops file after no-op edit in Visual Studio
        to fix manual edit issues.

        * WebCore.vcproj/WebCoreCommon.vsprops:

2010-07-20  Steve Falkenburg  <sfalken@apple.com>

        Re-save vcproj file after no-op edit in Visual Studio
        to fix manual edit issues.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Include attributes when reconstructing elements in HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42594

        Remove FIXME now that we have a test.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):

2010-07-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
        Make Acid2 pass in WebKit2

        * WebCore.exp.in: Update exported functions.

2010-07-20  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        prefetch categorization is exactly wrong
        https://bugs.webkit.org/show_bug.cgi?id=42651

        While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.

        Test: fast/dom/HTMLLinkElement/onload-completion-test.html

        * loader/CachedCSSStyleSheet.h:
        * loader/CachedFont.h:
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        * loader/CachedResource.h:
        (WebCore::CachedResource::isPrefetch):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.h:

2010-07-20  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Darin Fisher.

        Expose the form submission trigger on the HTMLFormElement object. This
        is used to verify that the user submitted the form instead of JS when
        saving form data in Chrome AutoFill.
        https://bugs.webkit.org/show_bug.cgi?id=42479

        No new tests as this is only used by the Chromium WebKit API.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::submissionTrigger):
        * html/HTMLFormElement.h:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42668

        Address some late-breaking review comments.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::appendDataCommon):
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        (WebCore::CharacterData::insertData):
        (WebCore::CharacterData::replaceData):
        * dom/CharacterData.h:

2010-07-20  Daniel Erat  <derat@chromium.org>

        Reviewed by Ojan Vafai.

        Subpixel rendering always disabled for Chromium Linux
        https://bugs.webkit.org/show_bug.cgi?id=42220

        Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
        flag to false for clarity.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42668

        When I split parserAppendData from appendData, it was tempting to cut
        the function at dispatchModifiedEvent, but that's not quite right.  We
        still need to notify the parent that it's children have changed.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::appendDataCommon):
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        * dom/CharacterData.h:

2010-07-20  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
        https://bugs.webkit.org/show_bug.cgi?id=42652

        When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
        which may be out of date, leading to a crash.
        By using only get(), it implies that the AXTable must be created before AXTableCells. This should
        always be the case when AT clients access a table.

        Test: accessibility/updating-attribute-in-table-causes-crash.html

        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):

2010-07-20  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Check the node is a text node before doing the static cast
        for editing commands.
        https://bugs.webkit.org/show_bug.cgi?id=42655

        Test: editing/execCommand/editing-nontext-node-crash.xhtml

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::fixupWhitespace):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

2010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by David Hyatt.

        Don't merge Anonymous block whose first child is inline run-in.
        Make run-in recalculate its style after its renderer is destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=41375.

        Test: fast/runin/crash-when-reparent-sibling.html

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::destroyLeftoverChildren):

2010-07-20  Steve Block  <steveblock@google.com>

        Unreviewed Qt test fix.

        Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
        https://bugs.webkit.org/show_bug.cgi?id=42068

        No new tests, test fix only.

        * WebCore.pro:

2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63764.
        http://trac.webkit.org/changeset/63764
        https://bugs.webkit.org/show_bug.cgi?id=42658

        have broken Chromium linux build (Requested by loislo on
        #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:

2010-07-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=41531
        Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false

        This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.

        Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
        the request, continue without credentials - if the platform has a necessary method on
        ResourceHandle.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
        client for credentials if subresource loader client already took care of those.

        * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
        * platform/network/ResourceHandle.h:
        Added an accessor to check whether ResourceHandle is currently waiting for credentials.

2010-07-20  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
        Add websockets include directory.

        The EFL port doesn't yet support automated tests.

        * CMakeLists.txt:

2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: the bindings generation helper script can be
        simplified a bit. Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=42523

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:

2010-07-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Geoffrey Garen.

        WebScriptObject Should Allow Safely Checking For Key Existence
        https://bugs.webkit.org/show_bug.cgi?id=42613

        Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html

        Add private API "hasWebScriptKey" to check for key existence in
        a WebScriptObject. Like JavaScript's `in` syntax. This is intended
        to be made public eventually.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject hasWebScriptKey:]):
        * bindings/objc/WebScriptObjectPrivate.h:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 tree builder needs to call dispatchDocumentElementAvailable
        https://bugs.webkit.org/show_bug.cgi?id=42654

        This patch fixes the follout LayoutTests with --html5-treebuilder:
          - userscripts/script-not-run-for-fragments.html
          - userscripts/script-run-at-start.html

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        Need to be able to configure Geolocation policy regarding user permissions
        https://bugs.webkit.org/show_bug.cgi?id=42068

        Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
        acquires user permission first before starting location service

        This change does not introduce any change in behavior for any platform. So there are no new tests
        added.

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/Geolocation.h:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 tree builder should restore form state
        https://bugs.webkit.org/show_bug.cgi?id=42644

        We need to tell self-closing tags that we're done parsing their
        children.  This patch fixes the following LayoutTests when run with
        --html5-treebuilder:

          fast/forms/button-state-restore.html
          fast/forms/state-restore-to-non-autocomplete-form.html
          fast/forms/state-restore-to-non-edited-controls.html
          fast/history/saves-state-after-fragment-nav.html
          http/tests/navigation/restore-form-state-https.html

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):

2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63750.
        http://trac.webkit.org/changeset/63750
        https://bugs.webkit.org/show_bug.cgi?id=42648

        This revision breaks the windows builds (Requested by
        hwennborg on #webkit).

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.idl:
        * page/Page.cpp:
        (WebCore::Page::Page):

2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: It is possible to show full call stack instead of top frame for Caller
        and Call Site properties in Timeline panel.
        https://bugs.webkit.org/show_bug.cgi?id=42620

        * English.lproj/localizedStrings.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
        * inspector/front-end/inspector.css:
        (.timeline-details):
        (.timeline-function-name):
        (.timeline-stacktrace-title):

2010-07-20  Leon Clarke  <leonclarke@google.com>

        Reviewed by Pavel Feldman.

        Make things compile again when the inspector is disabled, following
        recent inspector improvements.
        https://bugs.webkit.org/show_bug.cgi?id=42632

        No new tests. Fixing a build break.


        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::didInsertDOMNode):
        (WebCore::InspectorController::didRemoveDOMNode):
        (WebCore::InspectorController::didModifyDOMAttr):
        * inspector/InspectorDOMAgent.h:
        * loader/appcache/ApplicationCacheGroup.cpp:

2010-07-20  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=42634

        Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
        when its isolated context gets GCed).  However in this case, handles allocated for
        such objects would never be disposed as we require presence of mapping from wrapped
        WebKit object to handle being collected in the map and now map is gone.  That leads to
        zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
        (both handle and V8 wrapper object could not be destroyed).

        See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.

        * bindings/v8/DOMData.h:
        (WebCore::DOMData::handleWeakObject):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::weakNodeCallback):
        * bindings/v8/V8DOMMap.h:
        (WebCore::WeakReferenceMap::~WeakReferenceMap):

2010-07-20  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Runtime feature switch for device orientation
        https://bugs.webkit.org/show_bug.cgi?id=42265

        Add a runtime feature switch that decides whether device orientation
        events are available or not. Defaults to true.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
        (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.idl:
        * page/Page.cpp:
        (WebCore::Page::Page):

2010-07-20  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Fixed a crash when deeply nested CSS selector is used.
        https://bugs.webkit.org/show_bug.cgi?id=41129

        This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.

        Test: fast/css/css-selector-deeply-nested.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelectorBag::~CSSSelectorBag):
        (WebCore::CSSSelectorBag::isEmpty):
        (WebCore::CSSSelectorBag::append):
        (WebCore::CSSSelectorBag::takeAny):
        (WebCore::CSSSelector::~CSSSelector):
        (WebCore::CSSSelector::specificity):
        * css/CSSSelector.h:

2010-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
        https://bugs.webkit.org/show_bug.cgi?id=42642

        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::handler):

2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63742.
        http://trac.webkit.org/changeset/63742
        https://bugs.webkit.org/show_bug.cgi?id=42641

        Broke Leopard Intel build. (Requested by bbandix on #webkit).

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/Geolocation.h:

2010-07-20  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.

2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        Need to be able to configure Geolocation policy regarding user permissions
        https://bugs.webkit.org/show_bug.cgi?id=42068

        Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
        acquires user permission first before starting location service

        This change does not introduce any change in behavior for any platform. So there are no new tests
        added.

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/Geolocation.h:

2010-07-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Inspector: Resources Search Should Search Only Filtered Resources
        https://bugs.webkit.org/show_bug.cgi?id=28290

        * inspector/front-end/AbstractTimelinePanel.js:
        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.get searchableViews):
        * inspector/front-end/inspector.js:
        (WebInspector.performSearch):
        (WebInspector.doPerformSearch):

2010-07-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=42626

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._attributeHTML):

2010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed comment fix. The comment in IDL should be //, not # .

        Code generator: ensure generated constants match their corresponding enums.
        https://bugs.webkit.org/show_bug.cgi?id=42250

        * dom/OverflowEvent.idl:

2010-07-20  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
        https://bugs.webkit.org/show_bug.cgi?id=42380

        RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
        bindings/generic a while a go (in r54593), but need to
        be added to the build in order to be used.

        No new functionality so no new tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
        * websockets/WebSocket.h: Ditto.

2010-07-20  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        clean up style in ClipboardWin and PasteboardWin
        https://bugs.webkit.org/show_bug.cgi?id=42609

        No new tests since this is just a style cleanup.

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::createGlobalData):
        (WebCore::markupToCFHTML):
        (WebCore::getURL):
        (WebCore::getPlainText):
        (WebCore::getTextHTML):
        (WebCore::fragmentFromFilenames):
        (WebCore::containsFilenames):
        (WebCore::fragmentFromCFHTML):
        (WebCore::fragmentFromHTML):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::pathRemoveBadFSCharacters):
        (WebCore::createGlobalHDropContent):
        (WebCore::createGlobalUrlFileDescriptor):
        (WebCore::writeURL):
        (WebCore::ClipboardWin::clearData):
        (WebCore::ClipboardWin::clearAllData):
        (WebCore::ClipboardWin::getData):
        (WebCore::ClipboardWin::types):
        (WebCore::ClipboardWin::declareAndWriteDragImage):
        (WebCore::ClipboardWin::writeRange):
        * platform/win/ClipboardWin.h:
        (WebCore::ClipboardWin::create):
        (WebCore::ClipboardWin::dataObject):
        * platform/win/PasteboardWin.cpp:
        (WebCore::PasteboardOwnerWndProc):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):

2010-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: jump to source is broken for call frames logged by console.trace
        https://bugs.webkit.org/show_bug.cgi?id=42619

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
        * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
        (TreeElement.prototype.set title):
        (TreeElement.prototype.set shouldRefreshChildren):
        (TreeElement.prototype._setListItemNodeContent):
        (TreeElement.prototype._attach):

2010-07-20  Tony Chang  <tony@chromium.org>

        Reviewed by Dan Bernstein.

        [chromium] crash in Position::getInlineBoxAndOffset
        https://bugs.webkit.org/show_bug.cgi?id=42202

        Test: editing/selection/firstRect-crash.html
        Manual test: win/contextmenu-key2.html

        * page/EventHandler.cpp: Code no longer needed
        * page/Frame.cpp:
        (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
            Positions may be pointing to nodes that have no renderer.  If there's no renderer,
            getInlineBoxAndOffset will crash.

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Foster parenting depends on the current element at insertion time
        https://bugs.webkit.org/show_bug.cgi?id=42599

        We need to consider the current element at insertion-time when deciding
        whether to redirect insertion to the foster parent.  Previously, we
        were considering the current element *both* at insertion-time and at
        the time we created the guard.

        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::defaultForInTableText):

2010-07-20  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Kenneth Rohde Christiansen.

        Failing 2d.path.stroke.prune.curve philip canvas test
        https://bugs.webkit.org/show_bug.cgi?id=42190

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
        (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.

2010-07-19  Victoria Kirst  <vrk@google.com>

        Reviewed by David Levin.

        Added a simple implementation of VideoLayerChromium. Uses the
        LayerChromium::updateTextureRect() to send video frames to the
        GPU.
        https://bugs.webkit.org/show_bug.cgi?id=42234

        * WebCore.gypi: Added include for VideoLayerChromium.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
        setContentsToMedia, though it does not seem to trigger a repaint
        correctly.
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
        (WebCore::VideoLayerChromium::create):
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateTextureContents):
        * platform/graphics/chromium/VideoLayerChromium.h: Added.
        (WebCore::VideoLayerChromium::drawsContent):

2010-07-19  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG CleanUp of SVGPathData parsing
        https://bugs.webkit.org/show_bug.cgi?id=41410

        Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
        in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
        etc. instead of using home-brewn solutions.
        The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
        SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
        Path object or a SVGPathSegList out of the segments.
        We're now directly parsing floats instead of truncating precision to float afterwards.

        SVG Path with an arc with radius of 0 does not render
        https://bugs.webkit.org/show_bug.cgi?id=40448

        If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
        the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
        an DRT check was neccessary with the current clean-up.
        Extended svg/dom/path-parser.xhml to check the correct behavior.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
        (WebCore::FloatPoint::scale): Scale FloatPoint.
        (WebCore::operator+=):
        (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
        * svg/SVGAllInOne.cpp: Added new created files.
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
        * svg/SVGGlyphElement.cpp:
        (WebCore::parsePathData): Use new PathParser to create a Path.
        * svg/SVGParserUtilities.cpp:
        (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
        * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
        * svg/SVGPathBuilder.cpp: Added.
        (WebCore::SVGPathBuilder::SVGPathBuilder):
        (WebCore::SVGPathBuilder::build): Builds a normalized Path.
        (WebCore::SVGPathBuilder::moveTo):
        (WebCore::SVGPathBuilder::lineTo):
        (WebCore::SVGPathBuilder::curveToCubic):
        (WebCore::SVGPathBuilder::closePath):
        * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
        (WebCore::SVGPathBuilder::lineToHorizontal):
        (WebCore::SVGPathBuilder::lineToVertical):
        (WebCore::SVGPathBuilder::curveToCubicSmooth):
        (WebCore::SVGPathBuilder::curveToQuadratic):
        (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathBuilder::arcTo):
        * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
        (WebCore::):
        (WebCore::SVGPathConsumer::SVGPathConsumer):
        (WebCore::SVGPathConsumer::~SVGPathConsumer):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
        * svg/SVGPathParser.cpp: Added.
        (WebCore::SVGPathParser::SVGPathParser):
        (WebCore::SVGPathParser::~SVGPathParser):
        (WebCore::SVGPathParser::parseClosePathSegment):
        (WebCore::SVGPathParser::parseMoveToSegment):
        (WebCore::SVGPathParser::parseLineToSegment):
        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
        (WebCore::SVGPathParser::parseLineToVerticalSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathParser::parseArcToSegment):
        (WebCore::SVGPathParser::parsePathDataString):
        (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
        * svg/SVGPathParser.h: Added.
        * svg/SVGPathSegListBuilder.cpp: Added.
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::build):
        (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: Added.

2010-07-15  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
        https://bugs.webkit.org/show_bug.cgi?id=42342

        Test: fast/css/font-face-download-error.html

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
        face is valid.
        (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
        font face.
        * css/CSSSegmentedFontFace.h: Make isValid private.

2010-07-19  Kent Tamura  <tkent@chromium.org>

        Reviewed by Shinichiro Hamaji.

        [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=42568

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::):
        (WebCore::getNonClientMetrics):
        (WebCore::systemFontSize):
        (WebCore::pointsToPixels):
        (WebCore::querySystemBlinkInterval):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        (Hopefully the last) Windows build fix.
        
        Version of CoreServices.h in WebKit Support Libraries uses
        pragma once, unlike the version I have locally. Switch based
        on __COLORSYNCDEPRECATED__ instead.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Build fix.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Build fix.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Windows Build fixes for new ColorSync API.
        We support both new and old APIs, since the newer headers aren't in the tree yet.

        * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::createCGColor): Conditionally use new ColorSync API.
        * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
        * platform/network/cf/ResourceErrorCF.cpp:
        (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.

2010-07-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Only set unloadEventEnd when the unload event is actually fired
        https://bugs.webkit.org/show_bug.cgi?id=42607

        r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
        For some reason, it did not fail on Windows (which is where I was
        testing). The ASSERT was disabled in r63699.

        Test: page-cache related layout tests don't crash in debug mode on Mac.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
        https://bugs.webkit.org/show_bug.cgi?id=42513

        Avoid making unnecessary deep-copies of QPainterPaths that will
        be discarded after use.

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

2010-07-19  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
        https://bugs.webkit.org/show_bug.cgi?id=34719

        Fixed compiler warning introduced by original patch. No new tests;
        covered by existing tests.

        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):

2010-07-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.

        Handle NP_ASFILE and NP_ASFILEONLY transfer modes
        https://bugs.webkit.org/show_bug.cgi?id=42587

        * WebCore.exp.in:
        Export functions from FileSystem.h
        
        * platform/mac/FileSystemMac.mm:
        (WebCore::openTemporaryFile):
        Try to create a temporary file using mkstemp.

2010-07-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Implement NPN_PostURLNotify
        https://bugs.webkit.org/show_bug.cgi?id=42602

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2010-07-19  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Remove overzealous ASSERT from r63689
        https://bugs.webkit.org/show_bug.cgi?id=42606

        No new tests because no new functionality.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):

2010-07-19  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Mark Rowe.

        Web Inspector: Do Not Copy *.re2js Inspector Resources in Xcode Build Phase
        https://bugs.webkit.org/show_bug.cgi?id=42601

        Remove *.re2js files after copying them over in the Build Phase. We do
        the same to remove the WebKit.qrc file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-17  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Move times to DocumentLoader and fix bugs in mark points
        https://bugs.webkit.org/show_bug.cgi?id=42512

        Test: fast/dom/webtiming-navigate-within-document.html

        * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
        (WebCore::DocumentLoader::documentLoadTiming):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
        (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
        (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
        * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
        * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
        (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
        * page/Navigation.cpp:
        (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
        * page/Timing.cpp:
        (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
        (WebCore::Timing::navigationStart):
        (WebCore::Timing::unloadEventEnd):
        (WebCore::Timing::redirectStart):
        (WebCore::Timing::redirectEnd):
        (WebCore::Timing::fetchStart):
        (WebCore::Timing::domainLookupStart):
        (WebCore::Timing::domainLookupEnd):
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):
        (WebCore::Timing::requestStart):
        (WebCore::Timing::requestEnd):
        (WebCore::Timing::responseStart):
        (WebCore::Timing::responseEnd):
        (WebCore::Timing::loadEventStart):
        (WebCore::Timing::loadEventEnd):
        (WebCore::Timing::documentLoader):
        (WebCore::Timing::documentLoadTiming):
        (WebCore::Timing::resourceLoadTiming):
        (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
        * page/Timing.h:

2010-07-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42118
        Disable WebGL on Leopard for now. 

        LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
        GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
        SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
        software OpenGL driver on machines without this support.

        * Configurations/FeatureDefines.xcconfig:

2010-07-19  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Sam Weinig.

        Remove HTML5 media element 'load' event
        https://bugs.webkit.org/show_bug.cgi?id=30464
        <rdar://problem/5650561>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
        (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
        (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
        (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
        (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
        (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::):
        * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.

2010-07-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=40996
        Progress event should not be fired during synchronous XMLHttpRequest

        https://bugs.webkit.org/show_bug.cgi?id=17502
        Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange

        Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
               http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
        event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
        the spec draft says about readystatechange for sync requests, but this seems to be the most
        logical and backwards compatible behavior.
        (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
        Note that we already don't dispatch upload progress events for those.

2010-07-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
        https://bugs.webkit.org/show_bug.cgi?id=34913

        Tests: fast/repaint/view-background-from-body-1.html
               fast/repaint/view-background-from-body-2.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
        null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
        style changes.
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
        repaint the view, in case the body’s background was propagated to the view.

2010-07-19  Adam Roben  <aroben@apple.com>

        Fix an assertion when a plugin returns -1 from NPP_Write

        We were forgetting to call setDefersLoading(false) before destroying
        the PluginStream. In the process of destroying the stream, someone
        would call setDefersLoading(true), and we would assert because we were
        already deferring loads.

        Fixes <http://webkit.org/b/42563> Assertion failure in
        ResourceHandle::setDefersLoading when running
        plugins/return-negative-one-from-write.html on Windows

        Reviewed by Anders Carlsson.

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
        before destroying the stream, to match the setDefersLoading(true) call
        earlier in this function. (We already call setDefersLoading(false) in
        the non-error case later on.)

2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Fix some EFL theme issues
        https://bugs.webkit.org/show_bug.cgi?id=42569

        Keep a pointer to theme filename and check for it correctly.
        Reduce the scope of some variables.
        Don't test for platformWidget() since we are not using it.

        No new tests, no new functionality.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyCursor):
        (WebCore::Widget::setCursor):

2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Add ifdef to compile code just on presence of Ecore_X
        https://bugs.webkit.org/show_bug.cgi?id=42567

        No new tests since there's no new functionality.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::setEvasObject):
        Add #ifdef HAVE_ECORE_X to it.

2010-07-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
        https://bugs.webkit.org/show_bug.cgi?id=42485

        * inspector/front-end/utilities.js:
        (Element.prototype.removeStyleClass):

2010-07-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
        https://bugs.webkit.org/show_bug.cgi?id=42560

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::dispatchNow):
        (WebCore::V8ConsoleMessage::handler):
        * bindings/v8/V8ConsoleMessage.h:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
        (WebInspector.ConsoleMessage.prototype._addMessageHeader):
        (WebInspector.ConsoleMessage.prototype.toString):
        * inspector/front-end/inspector.css:
        (.console-message.repeated-message > ol.stack-trace):
        (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
        (ol.stack-trace):
        (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        * page/Console.h:
        (WebCore::):

2010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>

        Reviewed by Antonio Gomes

        [Qt] Use memcpy() instead of qMemCopy()
        This is supposed to be more efficient, as the compiler is able to
        optimise more.

        Additionally,  qMemCopy() is only strictly supposed to be used in
        headers (see Qt's src/corelib/qglobal.h for reference)
        See: https://bugs.webkit.org/show_bug.cgi?id=42392

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
        https://bugs.webkit.org/show_bug.cgi?id=42284

        New name is isEquivalentColor(CanvasStyle).

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::isEquivalentColor):
        * html/canvas/CanvasStyle.h:

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Canvas: Wrong internal positioning of drawImage() shadows
        https://bugs.webkit.org/show_bug.cgi?id=42510

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Render shadow when drawing one canvas onto another
        https://bugs.webkit.org/show_bug.cgi?id=42508

        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Some composition modes fail when color has alpha zero
        https://bugs.webkit.org/show_bug.cgi?id=36973

        Remove erroneous optimization that ignored painting calls when
        the stroke/fill color had an alpha value of zero.

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

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        CSS3 background: Number of layers should be determined by background-image element count
        https://bugs.webkit.org/show_bug.cgi?id=41201

        Manual test: css3-background-layer-count.html

        Spec link:
        http://www.w3.org/TR/css3-background/#layering

        * manual-tests/css3-background-layer-count.html: Added.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::fillUnsetProperties): Don't repeat
        image properties, they determine the total number of layers.
        (WebCore::FillLayer::cullEmptyLayers): Change culling logic
        to discard all layers after the first one without an image set.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::adjustBackgroundLayers): Call
        fillUnsetProperties() before cullEmptyLayers()
        (WebCore::InheritedFlags::adjustMaskLayers): Ditto.

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Avoid QImage::pixel() in getImageData()
        https://bugs.webkit.org/show_bug.cgi?id=42463

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData): Use QImage::scanLine() instead
        of fetching data pixel-by-pixel.

2010-07-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: hide "toggle debugger" button when debugger is always enabled
        https://bugs.webkit.org/show_bug.cgi?id=42558

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):

2010-07-19  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
        https://bugs.webkit.org/show_bug.cgi?id=42466

        (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)

        No new functionality so no new tests.

        * dom/DeviceOrientationEvent.cpp:
        (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
        Move here to avoid needing to have the full declaration of
        DeviceOrientation in DeviceOrientationEvent.h.
        * dom/DeviceOrientationEvent.h:

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Fix Build.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Always set the current NSGraphicsContext before calling drawWithFrame
        https://bugs.webkit.org/show_bug.cgi?id=42542

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMeter):
        (WebCore::RenderThemeMac::paintSearchField):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Move PluginWidget to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=42530

        Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
        
        This is a stopgap measure until we have a single PluginView class that we can use everywhere.

        * WebCore.exp.in:
        Remove PluginWidget symbols.

        * WebCore.xcodeproj/project.pbxproj:
        Update.

        * platform/Widget.h:
        (WebCore::Widget::isPluginViewBase):
        Return false.

        * plugins/PluginViewBase.h: Added.
        (WebCore::PluginViewBase::platformLayer):
        Always return 0 here now.

        (WebCore::PluginViewBase::isPluginViewBase):
        Return true.

        * plugins/PluginWidget.h: Removed.
        * plugins/mac/PluginWidgetMac.mm: Removed.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
        Cast to PluginWidgetBase instead.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        Cast to PluginWidgetBase instead.

2010-07-18  Dean Jackson  <dino@apple.com>

        Unreviewed.

        Remove the unwanted extra line that Xcode
        added in my last commit.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-18  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=41259
        Interacting with a <select> element within a transformed and clipped
        container scrolls the container

        The Node::getRect and ContainerNode::getRect functions were not
        transform-aware. This fixes both, and has a test to make sure
        we're not breaking any existing scrollToView code. This means
        that a <select> popup will appear in the correct place if it
        is within a transformed and scrolled container.

        Test: fast/transforms/scrollIntoView-transformed.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore::ContainerNode::getLowerRightCorner):
        - make sure we call localToAbsolute in the right order
        (after we've done a local move) and pass in the flags to
        indicate it should look for transforms.
        * dom/Node.cpp:
        (WebCore::Node::getRect):
        - make sure localToAbsolute gets told to look for transforms.

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add NPJSObjectMap class
        https://bugs.webkit.org/show_bug.cgi?id=42524

        Export ScriptController functions.

        * WebCore.exp.in:

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Implement some NPRuntime related NPN_ functions
        https://bugs.webkit.org/show_bug.cgi?id=42518

        * WebCore.exp.in:
        Export IdentifierRep functions.

2010-07-17  TJ Lee  <tjlee0909@gmail.com>

        Reviewed by Timothy Hatcher.

        HTMLLinkElement ignores dnsPrefetchingEnabled setting
        https://bugs.webkit.org/show_bug.cgi?id=42500

        Changed the HTML Link tag to check that the browser
        has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.

        There are no test cases for this patch because it was unclear how to test
        this using a layout test. A possible test case would be to
        clear the DNS cache on the client's machine before loading a page with
        <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
        then check the number of DNS cache entries.

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):

2010-07-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam Weinig.

        Asynchronous policy checks make FrameLoader think it is done loading prematurely
        https://bugs.webkit.org/show_bug.cgi?id=42489

        This caused many (~100) layout tsts to fail under WebKit2.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
        if m_complete is true, do not consider it done if it has a provisional loader.
        This will happen in the case where the policy check is asynchronous.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
        consider a subframe to be loading if it has a policy decision pending.

2010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
        https://bugs.webkit.org/show_bug.cgi?id=38400

        FillRect with shadow need take alpha information from fillstyle

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

2010-07-17  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
        https://bugs.webkit.org/show_bug.cgi?id=42476

        * inspector/front-end/inspector.css:
        (.editing):

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Sam Weinig.

        Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
        https://bugs.webkit.org/show_bug.cgi?id=42186

        Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
        if the current path is empty.
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo): Remove now-redundant code.

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
        A https://bugs.webkit.org/show_bug.cgi?id=32530

        Solve this by adding ImageBuffer::imageForRendering() which returns an image
        that can be used for rendering now, but isn't a copy to be kept around.

        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::imageForRendering):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
        be used for rendering now, but may change in the future.
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::StillImage):
        (WebCore::StillImage::~StillImage):
        (WebCore::StillImage::size):
        (WebCore::StillImage::nativeImageForCurrentFrame):
        (WebCore::StillImage::draw):
        * platform/graphics/qt/StillImageQt.h:
        (WebCore::StillImage::createForRendering): Added for use in
        ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        [Qt] Remove redundant logic in Path::addArcTo()
        https://bugs.webkit.org/show_bug.cgi?id=42494

        Bounds checking for arcTo() is now done in cross-platform code
        thanks to <http://trac.webkit.org/changeset/63599>

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo):

2010-07-16  Zhe Su  <suzhe@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
        https://bugs.webkit.org/show_bug.cgi?id=42253

        This patch just reverts the change to WebCore/page/FocusController.cpp
        made in changeset 61484, and add a new method named
        willSetInputMethodState in EditorClient interface, which gets called
        in FocusController just before changing the focused node.

        No new tests, because no new functionality.

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::willSetInputMethodState):
        * page/EditorClient.h:
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):

2010-07-16  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Sam Weinig.

        Failing 2d.path.stroke.prune.arc philip canvas test
        https://bugs.webkit.org/show_bug.cgi?id=42188

        * html/canvas/CanvasRenderingContext2D.cpp: 
        Note, updated parameter names to match spec.
        (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
        (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
        * platform/graphics/Path.h: Added in new method to expose the current position.
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::currentPoint): Added in support for this call.
        * platform/graphics/haiku/PathHaiku.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.
        * platform/graphics/openvg/PathOpenVG.cpp:
        (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
        * platform/graphics/skia/PathSkia.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.
        * platform/graphics/wince/PathWince.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.
        * platform/graphics/wx/PathWx.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.

2010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63593.
        http://trac.webkit.org/changeset/63593
        https://bugs.webkit.org/show_bug.cgi?id=42487

        Broke a few chromium pixel tests (Requested by tony^work on
        #webkit).

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
        https://bugs.webkit.org/show_bug.cgi?id=29355

        * WebCore.exp.in: Updated.
        * platform/graphics/Font.cpp:
        (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
        Set the font smoothing mode in the font description.
        * platform/graphics/Font.h:

2010-07-16  Satish Sampath  <satish@chromium.org>

        Reviewed by Anders Carlsson.

        Add speech attribute to IDL for enabling access from JS.
        https://bugs.webkit.org/show_bug.cgi?id=42483

        No tests added, this change is a pre-requisite for future layout tests.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
        * html/HTMLInputElement.idl: Added the speech attribute to IDL.

2010-07-16  Fady Samuel  <fsamuel@chromium.org>

        Reviewed by David Levin.
        
        Avoids adding stroke when stroke-width is zero.

        SVG - stroke-width:0 bug with stroke other than "none"
        https://bugs.webkit.org/show_bug.cgi?id=42387

        Test: svg/stroke/path-zero-strokewidth-test.svg

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] <input type=number> UI implementation for Windows
        https://bugs.webkit.org/show_bug.cgi?id=42259

        No additional tests.  Existing tests cover this change and we'll
        update expectations.

        * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineState):
         Add ControlSubPart parameter and add support for spin buttons.
        (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
        (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
        (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
        * rendering/RenderThemeChromiumWin.h:
          Declare ControlSubpart, and add it to some functions.

2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Use function provided by EFL for system beep
        https://bugs.webkit.org/show_bug.cgi?id=42481

        EFL port does not support automated tests, yet.

        * platform/efl/SoundEfl.cpp:
        (WebCore::systemBeep):

2010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Clipboard data is lost on exit
        https://bugs.webkit.org/show_bug.cgi?id=27411

        No new tests. To manually test the bug fixed by this patch:
        1) Open an application that uses a webkit webview on a GNOME-based system
        2) Copy some text from that application
        3) Optional: paste it to another application. This should work properly with and without this patch.
        4) Exit the application completely.
        5) Paste:
                  Without this patch, you cannot because your clipboard is empty.
                  With this patch, pasting succeeds.
        I have not included an automated test because of the difficulty of testing behaviour after application exit.

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        Keyboard operations for <input type=number>
        https://bugs.webkit.org/show_bug.cgi?id=42076

        - The up arrow key works as stepUp().
        - The down arrow key works as stepDown().
        - Reject characters other than + - 0-9 . e E

        Test: fast/forms/input-number-keyoperation.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
         Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
        (WebCore::isNumberCharacter):
        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
         For type=number, remove unacceptable characters.
        * html/HTMLInputElement.h:

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        Improve hover state handling for spin buttons
        https://bugs.webkit.org/show_bug.cgi?id=42260

        Background:
        When we move the mouse cursor to a node from the outside of the node,
        the following steps are executed.
         1. setHovered(true) is called.
         2. The node is repainted for the hover state.
         3. 'mousemove' event is dispatched for the node.
        For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
        called before the event handler of the spin-button. So we can't
        detect which of the up part or the down part is hovered correctly.

        Solution:
        The hover state of a spin-button is one of three states;
        Indeterminate, Up, and Down. The state is Indeterminate since
        setHovered(true) is called and until 'mousemove' event is
        dispatched.

        No new tests because there are no implementation of spin-buttons
        with hovered state yet.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isSpinUpButtonPartPressed):
        (WebCore::RenderTheme::isHovered):
         Return false if the node is a spin-button and the state is Indeterminate.
        (WebCore::RenderTheme::isSpinUpButtonPartHovered):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::SpinButtonElement):
         Initialize m_upDownState.
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::SpinButtonElement::setHovered):
         Set the state to Indeterminate.
        * rendering/TextControlInnerElements.h:
        (WebCore::SpinButtonElement::upDownState):

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7527532> Crash beneath setSelection() during detach()
        https://bugs.webkit.org/show_bug.cgi?id=42020

        No test because I am unable to reproduce the crash.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
        RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
        localToAbsolute() during detach().

2010-07-16  Anders Carlsson  <andersca@apple.com>

        Fix release build.

        * storage/Database.cpp:
        (WebCore::DerefContextTask::performTask):

2010-07-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
        https://bugs.webkit.org/show_bug.cgi?id=41409
        
        AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
        or transition was running. This prevented us from falling into compositing layers for animation
        on platforms, like Windows, that don't have accelerated animations.
        
        Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
        and isRunningAcceleratedAnimationOnRenderer().
        
        Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
        now 'm_isAccelerated', for clarity.

        Test: compositing/animation/animation-compositing.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
        (WebCore::AnimationBase::blendProperties): Ditto.
        (WebCore::AnimationBase::updateStateMachine): Ditto.
        * page/animation/AnimationBase.h:
        (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
        which causes the method to only return true if the animation is accelerated.
        (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
        (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
        (WebCore::AnimationController::isRunningAnimationOnRenderer):
        (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

        * page/animation/CompositeAnimation.h:
        * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
        isRunningAcceleratedAnimationOnRenderer().
        * page/animation/AnimationControllerPrivate.h: Ditto.
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
        (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.

        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
        opacity if an accelerated animation is running.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
        if an animation of transform or opacity is running.

2010-07-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Assertion when turning Accelerated Compositing off on a composited page
        https://bugs.webkit.org/show_bug.cgi?id=42408

        When accelerated compositing is turned off, check m_hasAcceleratedCompositing
        before saying that the root layer will be composited. Fixes an assertion.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2010-07-16  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial navigation: do not consider outline for focusable element boundaries
        https://bugs.webkit.org/show_bug.cgi?id=42474

        Test: fast/events/spatial-navigation/snav-zero-margin-content.html

        Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
        RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
        renderer/element. This method deals with outline, which is out of elements boundary.
        It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
        are inaccessible.

        Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
        which returns only the absolute bounding box rect of the Element.

        * page/SpatialNavigation.cpp:
        (WebCore::renderRectRelativeToRootDocument):
        (WebCore::checkNegativeCoordsForNode):

2010-07-15  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
        https://bugs.webkit.org/show_bug.cgi?id=42416

        There are some places in WebCore unnecessarily including WebKit headers.

        Cleaning up only, no testing needed.

        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/WidgetQt.cpp:

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Refinement of r63556: moved the tab width computation back to Font, but added a
        SimpleFontData parameter.

        * platform/graphics/Font.h:
        (WebCore::Font::tabWidth):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

2010-07-16  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Pavel Feldman.

        Fix unit error in calculating timings from ResourceLoadTiming API
        https://bugs.webkit.org/show_bug.cgi?id=42473

        The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.

        No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.

        * page/Timing.cpp:
        (WebCore::Timing::domainLookupStart):
        (WebCore::Timing::domainLookupEnd):
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):
        (WebCore::Timing::requestStart):
        (WebCore::Timing::requestEnd):
        (WebCore::Timing::responseStart):

2010-07-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        clang++ build fixes for JavaScriptCore and WebCore
        https://bugs.webkit.org/show_bug.cgi?id=42478

        * platform/network/Credential.cpp:
        (WebCore::Credential::type):
        * platform/network/Credential.h:
        Remove const qualifier on Credential::type since it doesn't have an effect on the type.

2010-07-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Levin.

        Really add WARN_UNUSED_RESULT to leakRef
        https://bugs.webkit.org/show_bug.cgi?id=42464

        Get rid of a call to releaseRef here by passing the ScriptExecutionContext
        reference through to the DerefContextTask.

        * storage/Database.cpp:
        (WebCore::DerefContextTask::create):
        (WebCore::DerefContextTask::performTask):
        (WebCore::DerefContextTask::DerefContextTask):
        (WebCore::Database::~Database):

2010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: The current implementation of generator is not ready
        for generation Backend part of Inspector interface. The full patch
        with Backend is quite big and I've split it.
        https://bugs.webkit.org/show_bug.cgi?id=42462

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorArray::get):
        * inspector/InspectorValues.h:
        (WebCore::InspectorArray::length):

2010-07-15  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin Adler.

        An empty value for xml:lang isn't considered
        https://bugs.webkit.org/show_bug.cgi?id=42042

        Allow :lang selector to match empty values for xml:lang and
        lang attributes.

        Test: fast/css/lang-selector-empty-attribute.xhtml

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2010-07-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
        https://bugs.webkit.org/show_bug.cgi?id=42459

        * inspector/front-end/inspector.js:
        (WebInspector.performSearch):

2010-07-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not include SSL time into Waiting time.

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

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
        https://bugs.webkit.org/show_bug.cgi?id=42437

        No test because none of the fonts available to DumpRenderTree are missing a space glyph.

        Changed the tab width computation to use the width of the space glyph from the font that has
        a space glyph, which may be a fallback font if the primary font lacks a space glyph.

        * platform/graphics/Font.h: Removed Font::tabWidth().
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

2010-07-16  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Chromium build fix. Add missing include.

        * inspector/ConsoleMessage.h:

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
        https://bugs.webkit.org/show_bug.cgi?id=42456

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
        (WebCore::Path::strokeContains): Use the scratch context instead
        of creating a new GraphicsContext.
        (WebCore::Path::strokeBoundingRect): Ditto.

2010-07-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
        to avoid crashes in inspected page.
        https://bugs.webkit.org/show_bug.cgi?id=42065

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::addListener):

2010-07-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add SSL time label into the resources popover.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):

2010-07-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: disable AppCache in chromium.

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

        * inspector/front-end/Settings.js:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        console.trace should show file and line number for each function in the stack
        https://bugs.webkit.org/show_bug.cgi?id=21180

        Test: inspector/console-trace.html

        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::initialize):
        * bindings/v8/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/v8/ScriptCallFrame.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::getFrameLocation):
        (WebCore::toScriptCallFrame):
        (WebCore::ScriptCallStack::create):
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        * bindings/v8/ScriptCallStack.h:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::CallFrame::CallFrame):
        (WebCore::ConsoleMessage::CallFrame::isEqual):
        (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
        (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
        * inspector/front-end/inspector.css:
        (.console-message.expandable > .console-message-text::before):
        (.console-message.expandable.collapsed > .console-message-text::before):
        (.console-message.expandable.collapsed > ol.stack-trace):
        (.console-message > ol.stack-trace):
        (.console-message.repeated-message > ol.stack-trace):
        (.console-message.repeated-message > ol.stack-trace.trace-message):
        * page/Console.idl:

2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Build with MathML enabled. Fix build when MathML is enabled and
        make it the default.
        https://bugs.webkit.org/show_bug.cgi?id=42453

        EFL port does not support automated tests, yet.

        * CMakeLists.txt: add missing source file and sort.

2010-07-16  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        DeviceOrientationEvent.h should not forward-declare DeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=42447

        When destructing m_orientation, DeviceOrientation cannot be an incomplete type.

        * dom/DeviceOrientationEvent.h:

2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        gradientTransform + objectBoundingBox is wrong
        https://bugs.webkit.org/show_bug.cgi?id=42446

        gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.

        * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/

2010-07-16  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Make JS memory stats available via 'Performance' object (Web Timing).
        This statistics is populated only if 'WebKitMemoryInfoEnabled'
        preference is set.

        'console.memory' is kept until Web Timing object becomes visible by
        default (currently it is hidden under compile-time flag).  These stats
        are guarded with the same preference.

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

        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.cpp:
        (WebCore::Console::disconnectFrame):
        (WebCore::Console::memory):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp:
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h:
        (WebCore::MemoryInfo::create):
        * page/Performance.cpp:
        (WebCore::Performance::disconnectFrame):
        (WebCore::Performance::memory):
        * page/Performance.h:
        * page/Performance.idl:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setMemoryInfoEnabled):
        (WebCore::Settings::memoryInfoEnabled):

2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convolution computation causes bad alpha channel values
        https://bugs.webkit.org/show_bug.cgi?id=42273

        Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.

        1) Fix clamping the rgb values:
        "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].

        2) Don't apply the divisior divison and bias addition multiple times, accumulated!
    
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.

2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        relative positioning does not work for radialGradient after window resize
        https://bugs.webkit.org/show_bug.cgi?id=41249

        Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
        all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
        resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
        thus leading to wrong renderings.

        Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
        does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
        the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.

        All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
        and cached during the following paint() call.

        Tests: svg/custom/marker-child-changes-css.svg
               svg/custom/relative-sized-content-with-resources.xhtml

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): Ditto.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): Ditto.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout): Ditto.
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
                                                                            simplifying all RenderSVGResource* code.
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
                                                                                  for a render object. Also marks the renderer for layout, if needed. 
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
        (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
        (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
        (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::notifyFinished): Ditto.
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::svgAttributeChanged): Ditto.
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged): Ditto.
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged): Ditto.
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::svgAttributeChanged): Ditto.
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged): Ditto.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentScale): Ditto.
        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
        (WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
        (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
                                                          for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
        (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
        * svg/SVGStyledElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::svgAttributeChanged): Ditto.
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged): Ditto.
        (WebCore::SVGUseElement::updateContainerSizes): Ditto.
        (WebCore::SVGUseElement::updateContainerOffsets): Ditto.

2010-07-16  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Eric Seidel.

        Some SVGs with empty <g> elements crash Chromium on Linux
        https://bugs.webkit.org/show_bug.cgi?id=41175

        Avoid painting of zero-sized image buffers. Skia can't handle it.

        Test: svg/filters/filter-empty-g.svg

        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
        (ImageBuffer::ImageBuffer):

2010-07-16  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Regression in r63100: Don't clear m_loadType in
        FrameLoader::handledOnloadEvents, as it is used
        to make some decisions after the load has actually
        completed.

        Tickling this bug requires manipulation
        via the API (layout tests don't appear to traverse
        the correct codepath), so no layout test.

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

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
           policy in one place and don't depend on m_loadType.

2010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Printing test results differ between machines, we should use ImageDiff instead
        https://bugs.webkit.org/show_bug.cgi?id=20011

        Added spoolAllPagesWithBoundaries into PrintContext.

        Test: printing/setPrinting.html

        * WebCore.base.exp:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::spoolAllPagesWithBoundaries):
        * page/PrintContext.h:

2010-07-15  Kent Tamura  <tkent@chromium.org>

        Unreviewed, small style fixes.

        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
        * platform/mac/ThemeMac.mm:
        (WebCore::ThemeMac::inflateControlPaintRect):

2010-07-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
        https://bugs.webkit.org/show_bug.cgi?id=42431

        Insert these whitespace text nodes into the HTML element between <head>
        and <body>, as required by HTML5.  Previously, we just dropped them on
        the floor.

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::handleError):

2010-07-15  Victor Wang  <victorw@chromium.org>

        Reviewed by David Levin.

        [chromium] update KURLGoogle decodeURLEscapeSequences to
        use googleurl public api so it does not access functions in
        url_canon_internal. This is for chromium multi-dll build.

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

        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp

        * platform/KURLGoogle.cpp:
        (WebCore::decodeURLEscapeSequences):

2010-07-15  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=41932

        Sync with ThemeMac.mm r61760.
        This change doesn't contain r54299, r57603, r57734, r57741, and
        r58533 because they conflict with Chromium change for
        FlippedView().

        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::sizeFromNSControlSize):
        (WebCore::sizeFromFont):
        (WebCore::controlSizeFromPixelSize):
        (WebCore::setControlSize):
        (WebCore::convertControlStatesToThemeDrawState):
        (WebCore::stepperSizes):
        (WebCore::stepperControlSizeForFont):
        (WebCore::paintStepper):
        (WebCore::ThemeChromiumMac::controlSize):
        (WebCore::ThemeChromiumMac::minimumControlSize):
        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
        (WebCore::ThemeChromiumMac::paint):

2010-07-15  MORITA Hajime  <morrita@google.com>

        Reviewed by David Levin.

        [Chromium][Win] Crashes with <keygen> with huge padding.
        https://bugs.webkit.org/show_bug.cgi?id=41737

        When we try to draw a large region, TransparencyWin can fail to
        allocate a temporal buffer for composition.  This change adds a
        fallback path to ThemePainter to handle the buffer allocation
        failure.

        ThemePainter is no longer a subclass of TransparencyWin.  It has
        a TransparencyWin as a member.

        Test: fast/forms/large-parts.html

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::ThemePainter): Added a fallback path.

2010-07-15  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
        Remove the method.
        https://bugs.webkit.org/show_bug.cgi?id=42362

        No new tests because of no behavior changes.

        * css/CSSSegmentedFontFace.cpp:
        * css/CSSSegmentedFontFace.h:

2010-07-15  Erik Arvidsson  <arv@chromium.org>

        Reviewed by David Levin.

        Add directional property enums to the switch in applyProperty
        https://bugs.webkit.org/show_bug.cgi?id=42438

        Build fix for chromium mac.

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

2010-07-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Nate Chapin.

        bufferData and bufferSubData generate wrong error when null buffer is bound
        https://bugs.webkit.org/show_bug.cgi?id=42125

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
        (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
        (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
        * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().

2010-07-15  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by David Levin.

        [chromium] Making the popup label color visible when the item is
        selected.
        https://bugs.webkit.org/show_bug.cgi?id=42271

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow): paint the label text with a
        different color when it is selected. 

2010-07-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Nate Chapin.

        WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
        https://bugs.webkit.org/show_bug.cgi?id=34719

        Tests: fast/canvas/webgl/canvas-test.html
               fast/canvas/webgl/gl-pixelstorei.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d.
        (WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose.
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty.
        * html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas().
        * platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas().
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas().
        (WebCore::GraphicsContext3D::endPaint):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().

2010-07-15  Nico Weber  <thakis@chromium.org>

        Reviewed by Ojan Vafai.

        chromium/skia: Fix canvas.toDataURL in the presence of transparency
        https://bugs.webkit.org/show_bug.cgi?id=42214

        The problem was that SkBitmaps contain premultiplied data, but pnglib
        doesn't expect premultiplied data. Now, the encoder unpremultiplies
        data before sending it to pnglib.

        Patch partially by deanm.

        Covered by fast/canvas/toDataURL-alpha.html.

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

2010-07-15  Alex Nicolaou  <anicolao@chromium.org>

        Reviewed by Eric Seidel.

        Convolution computation causes bad alpha channel values
        https://bugs.webkit.org/show_bug.cgi?id=42273

        Fixed by clamping colour channel values to the alpha value so that 
        r <= a, g <= a, and b <= a after the convolution is applied. See
        the bug for why I believe the SVG specification needs to be updated. 
        Test must be drawn to crash. 100x100 green rectangle is used to 
        indicate pass to minimize the chance of regression.

        Test: svg/custom/convolution-crash.svg

        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::SkPMColorToColor):
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::clampRGBAValue):
        (WebCore::setDestinationPixels):
        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
        (WebCore::FEConvolveMatrix::fastSetOuterPixels):

2010-07-15  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, Chromium-specific changes that I forgot to make in r63278.

        1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on
        the context thread by sync DBs.
        2. Forgot to change V8SQLTransactionSyncCustom to return the
        result set when executeSql() is called.

        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):

2010-07-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Oliver Hunt.

        [GTK] Simplify the distribution step
        https://bugs.webkit.org/show_bug.cgi?id=42414

        No new tests as this is just a build change.

        * GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list
        of files is sorted. Also handle distributing the IDL files from the
        WebCore source tree.

2010-07-15  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5
        https://bugs.webkit.org/show_bug.cgi?id=42346

        This turned out to be an easy fix.

        This is covered by lots of layout tests.  I believe
        all of the changed results to be progressions.

        This change had no measurable effect on the parser benchmark.

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::getNode):
        * html/LegacyHTMLTreeBuilder.h:

2010-07-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42410
        Many leaking DatasetDOMStringMaps seen on buildbot

        * dom/NodeRareData.h:
        (WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so
        that the ElementRareData's destructor will be called when this is deleted
        from the Node's destructor.

2010-07-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: Crash when table has empty thead tag
        https://bugs.webkit.org/show_bug.cgi?id=42391

        Test: accessibility/table-with-empty-thead-causes-crash.html

        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObjectForSection):

2010-07-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Start loading plug-in streams
        https://bugs.webkit.org/show_bug.cgi?id=42407

        Export some ResourceRequestBase getters.

        * WebCore.exp.in:

2010-07-15  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL
        https://bugs.webkit.org/show_bug.cgi?id=42401

        No new tests; covered by gl-get-calls.html.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getParameter):
         - Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS).

2010-07-07  John Gregg  <johnnyg@google.com>

        Reviewed by Jian Li.

        Experimental directory upload feature.
        https://bugs.webkit.org/show_bug.cgi?id=40872

        This patch adds a new HTML attribute webkitdirectory which applies to 
        <input type="file"> tags and allows the user to specify a folder
        which is recursively enumerated so that all the files in that folder
        are added to the file list.

        The files chosen in that way have a .webkitRelativePath attribute which contains
        the relative path starting from the chosen folder.  The relative path is
        also appended to each item in the FormData when uploaded.

        All the code is behind an ENABLE_DIRECTORY_UPLOAD flag.

        Test: fast/forms/input-file-directory-upload.html

        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        * html/Blob.h:
        * html/File.cpp:
        (WebCore::File::File):
        (WebCore::File::Init):
        (WebCore::File::webkitRelativePath):
        * html/File.h:
        (WebCore::File::create):
        * html/File.idl:
        * html/HTMLAttributeNames.in: add webkitdirectory attribute
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setFileListFromRenderer):
        (WebCore::HTMLInputElement::webkitdirectory):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * platform/BlobItem.cpp:
        (WebCore::FileBlobItem::create):
        (WebCore::FileBlobItem::FileBlobItem):
        * platform/BlobItem.h:
        (WebCore::FileBlobItem::relativePath):
        * platform/FileChooser.h:
        (WebCore::FileChooser::allowsDirectoryUpload):
        * platform/network/FormData.cpp:
        (WebCore::FormData::appendKeyValuePairItems):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::allowsMultipleFiles):
        (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
        * rendering/RenderFileUploadControl.h:

2010-07-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Avoid creating huge compositing layers for elements that project outside the viewport
        https://bugs.webkit.org/show_bug.cgi?id=42338

        The logic that computed the bounds of compositing layers naively used the
        union of the bounds of descendant, non-composited RenderLayers, without regard
        to what is actually visible. This could result in huge layers for page with
        elements are large negative offsets, or with large negative text-indent (both
        common).
        
        For elements without transforms on them or in their ancestor chain, and when
        no 3d transforms or hardware-accelerated animations are used, can clip compositing
        layers to the size of the document, or based on CSS overflow and clip.

        Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html
               compositing/geometry/limit-layer-bounds-fixed-positioned.html
               compositing/geometry/limit-layer-bounds-overflow-repaint.html
               compositing/geometry/limit-layer-bounds-positioned-transition.html
               compositing/geometry/limit-layer-bounds-positioned.html
               compositing/geometry/limit-layer-bounds-transformed-overflow.html
               compositing/geometry/limit-layer-bounds-transformed.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::enclosingOverflowClipAncestor):  Walk up the RenderLayer tree
        looking for an ancestor that has overflow, or to the root. Along the way, check for
        transformed elements.
        (WebCore::RenderLayerBacking::updateCompositedBounds):  If we're in "consult
        overlap" mode, and we don't have transforms, then constrain the bounds
        of composited layers by the RenderView's layoutOverflowRect(), or by the
        enclosing layer with overflow.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes,
        we need to repaint the layer.

2010-07-15  Alex Nicolaou  <anicolao@chromium.org>

        Reviewed by Dirk Schulze.

        https://bugs.webkit.org/show_bug.cgi?id=42228
        
        SVG Masks were in the wrong colour space for non-CG graphics layers,
        because for those cases ImageBuffer needs to be explicitly told to
        convert the pixels. This change adds a test that demonstrates the
        problem and the conversion call to make the mask LinearRGB.

        Test: svg/custom/mask-colorspace.svg

        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::createMaskImage):

2010-07-15  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        [Mac] Implement LayoutTestController::markerTextForListItem()
        https://bugs.webkit.org/show_bug.cgi?id=37929

        Export symbols for WebCore::markerTextForListItem() and WebCore::toElement().

        * WebCore.exp.in:

2010-07-15  Andreas Kling  <andreas.kling@nokia.com>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Remove an unused variable in BitmapImage::draw()

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw): Remove selfSize.

2010-07-15  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object
        https://bugs.webkit.org/show_bug.cgi?id=42345

        This refactoring is covered by existing console tests.

        * bindings/js/ScriptArray.cpp:
        (WebCore::ScriptArray::set):
        * bindings/js/ScriptArray.h:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::jsArray):
        * bindings/v8/ScriptArray.cpp:
        (WebCore::ScriptArray::set):
        * bindings/v8/ScriptArray.h:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::~ScriptArray):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.createTextMessage):
        (WebInspector.ConsoleCommandResult):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.generateStylesheet):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._checkWarning):
        * inspector/front-end/inspector.js:
        (WebInspector.updateConsoleMessageExpiredCount):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-07-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Backfill DNS and connect times rather than exposing hard zeros
        https://bugs.webkit.org/show_bug.cgi?id=42303

        There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time.

        Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime.

        No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled.

        * page/Timing.cpp:
        (WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled.
        (WebCore::Timing::domainLookupStart):
        (WebCore::Timing::domainLookupEnd):
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):
        (WebCore::Timing::requestStart):
        (WebCore::Timing::requestEnd):
        (WebCore::Timing::responseStart):
        * page/Timing.h:

2010-07-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: differentiate between blocking and connecting timers.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/InspectorResource.h:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get cached):
        (WebInspector.Resource.prototype.set cached):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):
        (WebInspector.ResourceGraph):
        (WebInspector.ResourceGraph.prototype.refresh):
        (WebInspector.ResourceGraph.prototype._cachedChanged):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/FrameLoader.h:
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::connectionReused):
        (WebCore::ResourceResponseBase::setConnectionID):
        * platform/network/ResourceResponseBase.h:

2010-07-15  MORITA Hajime  <morrita@google.com>

        Text layout is wrong with a SVG Font that lacks <missing-glyph> element
        https://bugs.webkit.org/show_bug.cgi?id=42352

        floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a
        sub-run, and a fallback to system font triggers such a computation.
        This change made floatWidthOfSubStringUsingSVGFont() to deal with
        sub-runs.
        
        Test: svg/custom/svg-fonts-without-missing-glyph.xhtml

        * svg/SVGFont.cpp:
        (WebCore::floatWidthOfSubStringUsingSVGFont):

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Cycle detection needs to include shadow tree
        https://bugs.webkit.org/show_bug.cgi?id=42360

        Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them.

        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
        * rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h
        (WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*.
        * rendering/RenderSVGShadowTreeRootContainer.h:

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        clipPath is missing cycle detection
        https://bugs.webkit.org/show_bug.cgi?id=42350

        Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do.

        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyResource):
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        (WebCore::RenderSVGResourceClipper::childElementReferencesResource):
        * rendering/RenderSVGResourceClipper.h:

2010-07-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej Stachowiak.

        Fix a leak of Vector instances seen on the build bot.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray.

2010-07-15  Mark Rowe  <mrowe@apple.com>

        Update the sorting in the Xcode project files.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        SVG patterns and masks should not be able to reference themselves
        https://bugs.webkit.org/show_bug.cgi?id=32171

        Pattern still had an issue, when using constructs like:
        <pattern id="pattern1" xlink:href="#pattern2"/>
        <pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern>

        Extended test svg/custom/recursive-pattern.svg to cover this situation.

        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()...
        (WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining.

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Adam Barth.

        Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html
        https://bugs.webkit.org/show_bug.cgi?id=42249

        Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests.

        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument.

2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63352.
        http://trac.webkit.org/changeset/63352
        https://bugs.webkit.org/show_bug.cgi?id=42341

        Broke plugin-initiate-popup-window.html and plugin-javascript-
        access.html on snow leopard (Requested by abarth on #webkit).

        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):

2010-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make the LegacyHTMLTreeBuilder coalesce text nodes
        https://bugs.webkit.org/show_bug.cgi?id=42314

        This is slightly tricky as we're side-stepping the old
        parsers insertion logic in the cases where we know we can
        safely merge text into an existing text node instead of
        inserting a new one.

        This affects lots of tests (which will need to change for
        the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder
        to now pass a bunch more subtests in html5lib/runner.html.

        The parser benchmark thinks that this is a small speedup.
        I think I happen to have been lucky enough to get the right
        cache alignment, and that this is likely a wash.

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::parseToken):

2010-07-14  Evan Stade  <estade@chromium.org>

        Reviewed by Kent Tamura.

        [chromium] Linux scrollbar steppers are "clickable" even when disabled
        https://bugs.webkit.org/show_bug.cgi?id=42231

        Not tested by layout tests.

        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):

2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63389.
        http://trac.webkit.org/changeset/63389
        https://bugs.webkit.org/show_bug.cgi?id=42311

        It broke the Chromium Linux build. (Requested by dave_levin on
        #webkit).

        * platform/KURLGoogle.cpp:
        (WebCore::decodeURLEscapeSequences):

2010-07-13  Mirko Damiani  <mirko@develer.com>

        Reviewed by Simon Hausmann.

        [Qt] CSS border style not cleared for SVG object
        https://bugs.webkit.org/show_bug.cgi?id=42150

        For tests and description see:
        https://bugs.webkit.org/show_bug.cgi?id=25738

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

2010-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html
        https://bugs.webkit.org/show_bug.cgi?id=42312

        We were crashing because of an ASSERT I added to the attach logic in
        the HTMLConstructionSite.  I knew this ASSERT was wrong when I added
        it, I just wanted to make sure we had test coverage of those cases.
        Turns out we do!  :)

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite):

2010-07-14  Victor Wang  <victorw@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] update KURLGoogle decodeURLEscapeSequences to
        use googleurl public api so it does not access functions in
        url_canon_internal. This is for chromium multi-dll build.

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

        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp

        * platform/KURLGoogle.cpp:
        (WebCore::decodeURLEscapeSequences):

2010-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Avoid extra memcpy of character tokens
        https://bugs.webkit.org/show_bug.cgi?id=42002

        Eric tells me this patch makes the new tree builder 1% faster than the
        old tree builder on our parser benchmark.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        (WebCore::AtomicHTMLToken::characters):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
        (WebCore::convertToOldStyle):
        (WebCore::HTMLTreeBuilder::processFakeCharacters):

2010-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder foster parents when it should not
        https://bugs.webkit.org/show_bug.cgi?id=42235

        Regarding foster parenting of nodes inside tables:
        "Process the token using the rules for the "in body" insertion mode,
        except that if the current node is a table, tbody, tfoot, thead, or
        tr element, then, whenever a node would be inserted into the current
        node, it must instead be foster parented."

        We were forgetting the "when the current node is" part of that check
        and always foster parenting, even if we had just inserted another
        element (which would have just changed the current node).

        This was covered by multiple tests in html5lib/runner.html
        but I wrote a reduction (one which I included) as it makes it
        easier to see what's going on.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLNames::causesFosterParenting):
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::shouldFosterParent):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation.

        No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView
        occurs via a back/forward navigation.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we
          shouldn't try to prefer cached data but should do revalidation by default.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.

2010-07-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
        https://bugs.webkit.org/show_bug.cgi?id=42203

        Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
        a GLES2Context in from the constructor.  This way the platform/ directory can remain
        ignorant of Page and friends.  Also adds functions on ChromeClientChromium to request
        onscreen and offscreen GLES2Contexts for callers in WebCore that need them.

        * page/chromium/ChromeClientChromium.h:
        * platform/chromium/GLES2Context.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Add functions to extract individual RGBA32 components
        https://bugs.webkit.org/show_bug.cgi?id=42305

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel()
        * platform/graphics/Color.h:
        (WebCore::redChannel):
        (WebCore::greenChannel):
        (WebCore::blueChannel):
        (WebCore::alphaChannel):
        (WebCore::Color::red):
        (WebCore::Color::green):
        (WebCore::Color::blue):
        (WebCore::Color::alpha):

2010-07-14  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo.

2010-07-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        Fix a Tiger test failure.

        Setting NSURLRequest properties has been moved to createNSURLConnection to share code between
        sync and async cases, but on Tiger, we don't call this function.

        There is more refactoring needed to make this nice, and we need to figure out if some of
        request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens
        with CFNetwork version.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is
        the only thing we've been missing.

2010-07-14  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        * WebCore.xcodeproj/project.pbxproj: Silence rsync.

2010-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Gavin Barraclough.

        Fix warning seen with newer gcc (on Qt buildbot).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        Add parentheses around && expression.

2010-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Avoid extra memcpy of character tokens
        https://bugs.webkit.org/show_bug.cgi?id=42002

        This patch is just some cleanup to make fixing this bug easier.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::defaultForInitial):
        (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
        (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
        (WebCore::HTMLTreeBuilder::defaultForInHead):
        (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
        (WebCore::HTMLTreeBuilder::defaultForAfterHead):
        (WebCore::HTMLTreeBuilder::defaultForInTableText):
        * html/HTMLTreeBuilder.h:

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Don't add shadow rect to dirty region when shadow alpha is 0
        https://bugs.webkit.org/show_bug.cgi?id=42300

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::willDraw):

2010-07-14  Kevin Ollivier  <kevino@theolliviers.com>

        [CURL] Build fix after request -> firstRequest rename.

        * platform/network/curl/FormDataStreamCurl.cpp:
        (WebCore::FormDataStream::read):
        (WebCore::FormDataStream::hasMoreElements):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::headerCallback):
        (WebCore::ResourceHandleManager::setupPOST):
        (WebCore::parseDataUrl):
        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
        (WebCore::ResourceHandleManager::startJob):
        (WebCore::ResourceHandleManager::initializeHandle):

2010-07-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/8186963> Expose information about compositing layers.

        Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType().

        * WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector().
        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit.
        * platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods.
        (WebCore::GraphicsLayer::hasContentsLayer):
        (WebCore::GraphicsLayer::usingTiledLayer):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer.
        * rendering/RenderLayerBacking.h:

2010-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
        https://bugs.webkit.org/show_bug.cgi?id=42008

        TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
        https://bugs.webkit.org/show_bug.cgi?id=42010

        Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
               fast/dom/TreeWalker/previousSiblingLastChildSkip.html

        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
        (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
        the lastChild loop when we encounter it.

2010-07-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Fix crashing layout test on snowleopard.

        * platform/mac/CursorMac.mm:
        (WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor.

2010-07-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: aria-checked not recognized on image map radio buttons
        https://bugs.webkit.org/show_bug.cgi?id=42055

        Moves some code from AccessibilityRenderObject to AccessibilityObject so that
        elements that do not have render objects, but do have Nodes (like image map links 
        and list box options) can still make use of certain aria attributes.

        Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html

        * accessibility/AccessibilityImageMapLink.cpp:
        (WebCore::AccessibilityImageMapLink::roleValue):
        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
        (WebCore::AccessibilityImageMapLink::title):
           Make imageMap use standard AccessibilityObject methods for getAttribute()
        * accessibility/AccessibilityImageMapLink.h:
        (WebCore::AccessibilityImageMapLink::node):
        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
        (WebCore::AccessibilityListBoxOption::stringValue):
        * accessibility/AccessibilityListBoxOption.h:
        (WebCore::AccessibilityListBoxOption::node):
       * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::language):
             Language method doesn't need a node() anymore, it can use the node from AccessibilityObject.
        (WebCore::renderListItemContainerForNode):
        (WebCore::AccessibilityObject::getAttribute):
        (WebCore::AccessibilityObject::intValue):
           Move intValue into AccessibilityObject.
        (WebCore::AccessibilityObject::hasIntValue):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isCheckbox):
        (WebCore::AccessibilityObject::isRadioButton):
        (WebCore::AccessibilityObject::isCheckboxOrRadio):
           Consolidate what defines a checkbox and radio button into AccessibilityObject.
        (WebCore::AccessibilityObject::node):
        (WebCore::AccessibilityObject::headingLevel):
       (WebCore::AccessibilityObject::isDetached):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isPasswordField):
        (WebCore::AccessibilityRenderObject::headingLevel):
        (WebCore::AccessibilityRenderObject::selectedTabItem):
        (WebCore::AccessibilityRenderObject::hierarchicalLevel):
        (WebCore::AccessibilityRenderObject::node):
        (WebCore::AccessibilityRenderObject::intValue):
        * accessibility/AccessibilityRenderObject.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemAccessibilityText):
            Stop using AccessibilityObjects getAttribute (no reason to use it really).

2010-07-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise
        https://bugs.webkit.org/show_bug.cgi?id=42279

        No test because the issue cannot be reproduced with standard fonts.

        Word- and run-rounding works by advancing ahead to the nearest integral width. As the total
        width accumulated becomes large, the float type’s low precision results in accumulated rounding
        error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when
        measuring a multi-word run than when measuring its words individually. To work around this,
        word- and run-rounding are applied only to the width accumulated since the last rounding
        character.

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

2010-07-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Fix enum value names for Navigation.{idl|h}
        https://bugs.webkit.org/show_bug.cgi?id=42282

        This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250.

        No new tests because no new functionality.

        * page/Navigation.cpp:
        (WebCore::Navigation::type):
        * page/Navigation.h:
        (WebCore::Navigation::):

2010-07-14  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=41292
        Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not.

        Test: plugins/plugin-initiate-popup-window.html

        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):

2010-07-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows
        https://bugs.webkit.org/show_bug.cgi?id=42117

        Test: platform/mac/accessibility/table-with-zebra-rows.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):

2010-07-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: VoiceOver cannot navigate this page because Safari is taking too long
        https://bugs.webkit.org/show_bug.cgi?id=42219

        No tests. Existing tests cover change.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle
        https://bugs.webkit.org/show_bug.cgi?id=42272

        Always route assignment of color strings via setFillColor() or setStrokeColor()
        where we can check it against the previous value and return early if it's the same.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toHTMLCanvasStyle):
        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        (WebCore::CanvasRenderingContext2D::setStrokeColor):
        (WebCore::CanvasRenderingContext2D::setFillColor):
        * html/canvas/CanvasRenderingContext2D.h:

2010-07-14  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Separate line-ending conversion code from BlobItem
        https://bugs.webkit.org/show_bug.cgi?id=40932

        Add common line-ending normalization code under platform/text.
        No new tests as it doesn't change any functionality.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::appendString):
        * html/FormDataList.cpp:
        (WebCore::FormDataList::appendString):
        * platform/BlobItem.cpp:
        * platform/BlobItem.h:
        * platform/text/LineEnding.cpp: Added.
        * platform/text/LineEnding.h: Added.

2010-07-14  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Implement border-start and border-end properties
        https://bugs.webkit.org/show_bug.cgi?id=41782

        Test: fast/css/border-start-end.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::resolveDirectionAwareProperty):
        * css/CSSPropertyNames.in:
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):

2010-07-14  Alexey Proskuryakov  <ap@apple.com>

        Tiger and Gtk build fixes.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::createNSURLConnection):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):

2010-07-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
        Make changing Cursors work in WebKit2.

        - Converted Mac and Windows Cursor implementations to lazily
          create the platform cursor.
        - Add HostWindow function to set the cursor and use it from Widget::setCursor.
        - Rework Windows cursor code to use fewer global variables.

        * WebCore.exp.in: Updated
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::setCursor): 
        (WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor):
        Added empty implementations.

        * page/Chrome.cpp:
        (WebCore::Chrome::setCursor):
        * page/Chrome.h:
        * page/ChromeClient.h:
        Change existing setCursor() function to take a Cursor instead of a
        PlatformCursorHandle. Added setLastSetCursorToCurrentCursor.

        * platform/Cursor.cpp:
        * platform/Cursor.h:
        Added Cursor Type and the option of lazily creating the native cursor
        (used on Mac and Windows for now).

        * platform/HostWindow.h:
        Add setCursor.

        * platform/mac/CursorMac.mm:
        (WebCore::createCustomCursor): This no longer needs to call determineHotSpot
        as that is done when on construction of the cursor now and the hotSpot passed
        in is correct.
        (WebCore::Cursor::ensurePlatformCursor):
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::Cursor::platformCursor):
        Convert to lazily creating the native cursor on the first request and
        storing the type.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setCursor):
        Use HostWindow::setCursor to set the cursor. This in turn will call the
        ChromeClient.

        * platform/win/CursorWin.cpp:
        (WebCore::createSharedCursor):
        (WebCore::loadSharedCursor):
        (WebCore::loadCursorByName):
        (WebCore::Cursor::ensurePlatformCursor):
        (WebCore::SharedCursor::~SharedCursor):
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::Cursor::platformCursor):
        Convert to lazily creating the native cursor on the first request and
        storing the type.

        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::setCursor):
        Use HostWindow::setCursor to set the cursor. This in turn will call the
        ChromeClient.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::handleMouseEvent):
        Use the new setLastSetCursorToCurrentCursor client function to ensure
        the cursor is properly updated when over a plugin.

        * platform/chromium/CursorChromium.cpp:
        * platform/efl/CursorEfl.cpp:
        * platform/gtk/CursorGtk.cpp:
        * platform/haiku/CursorHaiku.cpp:
        * platform/wince/CursorWince.cpp:
        * platform/wx/CursorWx.cpp:
        * platform/qt/CursorQt.cpp:
        Change m_impl -> m_platformCursor.

2010-07-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        reconstructActiveFormElements should reconstruct attributes as well
        https://bugs.webkit.org/show_bug.cgi?id=42222

        The case in question is "<p><b foo='bar'></p>text</b>".
        When the "b" is re-opened to wrap the text it should include
        any attributes from the original (now closed) tag name.

        There are also similar cases for the Adoption Agency algorithm, but since
        the html5lib test suite did not cover those (and it wasn't immediately
        obvious to me how to test those) I've saved fixing that bug for a
        later patch.  For now I've just made the adoption agency use
        HTMLConstructionSite::createHTMLElementFromElementRecord so the
        FIXME can be in one place instead of two.

        In order to cleanly support createHTMLElementFromSavedElement
        I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent
        and changed all callers to use attachToCurrent(createHTMLElement(token)).

        This is covered by two existing tests in html5lib/runner.html
        and I wrote two more.  One to cover the basic case that we now pass
        and a second to cover an evil edge case which we do not.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachToCurrent):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::insertForeignElement):
        (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor.
        (WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with
        redirect, so the old name was quite confusing.

        * platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since
        it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection().

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient
        subclass. This allows for much better code sharing, with common logic is in ResourceHandle.
        (WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common
        between sync and async parts.
        (WebCore::ResourceHandle::start): Ditto.
        (WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming.
        (WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient,
        like a good loader.
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming.
        (WebCore::ResourceHandle::receivedCredential): Ditto.
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::WebCoreSynchronousLoaderClient::create):
        (WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials):
        (WebCore::WebCoreSynchronousLoaderClient::isDone):
        (WebCore::WebCoreSynchronousLoaderClient::data):
        (WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient):
        (WebCore::willSendRequest):
        (WebCore::didReceiveResponse):
        (WebCore::didReceiveData):
        (WebCore::shouldUseCredentialStorageCallback):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::didReceiveChallenge):
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::createCFURLConnection):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        (WebCore::ResourceHandle::receivedCredential):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
        (WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse):
        (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
        (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
        (WebCore::WebCoreSynchronousLoaderClient::didFail):
        (WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge):
        (WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage):
        Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some
        day we'll share the code.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveResponse):
        (WebCore::IconLoader::didFail):
        (WebCore::IconLoader::didFinishLoading):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::headerCallback):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::start):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        Updated for request() -> firstRequest renaming.

2010-07-14  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Code generator: ensure generated constants match their corresponding enums.
        https://bugs.webkit.org/show_bug.cgi?id=42250

        Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check.

        Tests: updated bindings tests. Generated code should compile.

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        (WebDOMTestObj::):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
        (WebCore::jsTestObjCONST_VALUE_0):
        (WebCore::jsTestObjCONST_VALUE_1):
        (WebCore::jsTestObjCONST_VALUE_2):
        (WebCore::jsTestObjCONST_VALUE_4):
        (WebCore::jsTestObjCONST_VALUE_8):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::):
        (WebCore::ConfigureV8TestObjTemplate):
        * css/WebKitCSSTransformValue.idl:
        * dom/DOMCoreException.idl:
        * dom/EventException.idl:
        * dom/Node.idl:
        * dom/OverflowEvent.idl:
        * dom/RangeException.idl:
        * html/FileError.idl:
        * html/FileReader.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * inspector/JavaScriptCallFrame.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * storage/SQLException.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGException.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGGradientElement.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XPathException.idl:

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ojan Vafai.

        Unbreak fast/canvas/gradient-add-second-start-end-stop.html

        Assigning the same CanvasGradient or CanvasPattern to fillStyle
        or strokeStyle may not be a no-op since the object could have been
        modified since it was last set.

        Regressed with <http://trac.webkit.org/changeset/63327>

        * html/canvas/CanvasStyle.cpp:
        (WebCore::operator==):

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op
        https://bugs.webkit.org/show_bug.cgi?id=42267

        Avoid calling into GraphicsContext when setting a style to its current value.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the
        new style is the same as the current one.
        (WebCore::CanvasRenderingContext2D::setFillStyle): Same.
        * html/canvas/CanvasStyle.cpp:
        (WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle)
        * html/canvas/CanvasStyle.h:

2010-07-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Implement Web Timing redirectStart, redirectEnd, redirectCount
        https://bugs.webkit.org/show_bug.cgi?id=42018

        Tests: http/tests/misc/webtiming-one-redirect.php
               http/tests/misc/webtiming-two-redirects.php

        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects.
        * page/Navigation.cpp:
        (WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count
        * page/Timing.cpp:
        (WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start
        (WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end
        * page/Timing.h:
        * page/Timing.idl:

2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        Generate MathML files with CMake even if MathML is disabled. This
        fixes EFL build after r63274.
        https://bugs.webkit.org/show_bug.cgi?id=42263

        No new functionality, so no new tests.

        * CMakeLists.txt:

2010-07-14  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Get rid of libWebCoreJS
        https://bugs.webkit.org/show_bug.cgi?id=42083

        Remove the need to build libWebCoreJS.

        * GNUmakefile.am: List all auto-generated source files for libWebCoreJS
        instead of relying on make to build libWebCoreJS. This is a more autotools-
        -friendly approach.

2010-07-14  Eric Carlson  <eric.carlson@apple.com>

        One more unreviewed build fix for r63319.

        * html/TimeRanges.cpp:
        (TimeRanges::nearest):

2010-07-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
        https://bugs.webkit.org/show_bug.cgi?id=42169

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
        * inspector/front-end/inspector.js:
        (WebInspector.toggleSearchingForNode):

2010-07-14  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed, build fix for r63319.

        * html/TimeRanges.cpp:
        (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.

2010-07-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Update media element's seeking logic
        https://bugs.webkit.org/show_bug.cgi?id=42178
        <rdar://problem/8185817>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the 
        nearest time instead of generating an exception. Re-order the logic to match spec text.

        * html/TimeRanges.cpp:
        (TimeRanges::nearest): New, return the value closest to the specified time.
        * html/TimeRanges.h:

2010-07-14  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=42257

        According to convention, we should avoid "on" in favor of "did" in function names.

        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
        * dom/DeviceOrientationController.h:

2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kent Tamura.

        Notify browser about popup being deleted. In EFL and BREW ports, the
        WebCore::Popup object was being deleted leaving the popup in browser
        alive. Popups can be deleted in two ways: either from browser to webcore or
        from webcore to browser. The first path was ok. The problem was when the
        user changed the page with a popup still opened. This would trigger the
        second path and would cause WebCore::Popup to be deleted without
        notifying browser.
        https://bugs.webkit.org/show_bug.cgi?id=41877

        No new functionality so no new tests.

        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenu::~PopupMenu): call hide() when object is
        destroyed.
        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenu::~PopupMenu): ditto.

2010-07-14  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Invoke speech recognition when user clicks on the speech button of input elements.
        http://bugs.webkit.org/show_bug.cgi?id=42047

        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
        (WebCore::InputFieldSpeechButtonElement::speechInput):
        (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
        (WebCore::InputFieldSpeechButtonElement::detach):
        * rendering/TextControlInnerElements.h:

2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63305.
        http://trac.webkit.org/changeset/63305
        https://bugs.webkit.org/show_bug.cgi?id=42256

        "debugger-breakpoints-not-activated-on-reload.html fails on
        GTK" (Requested by yurys on #webkit).

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-14  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Provide implementation of DeviceOrientationController and hook into DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=39588

        Added DeviceOrientationController::addListener() and removeListener()
        to start and stop the client and added calls from DomWindow. Implemented
        DeviceOrientationController::onDeviceOrientationChange() to fire a
        DeviceOrientationEvent on the window object.

        No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.

        * dom/DeviceOrientationClient.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientation::addListener):
        (WebCore::DeviceOrientation::removeListener):
        (WebCore::DeviceOrientation::removeAllListeners):
        (WebCore::DeviceOrientationController::onDeviceOrientationChange):
        * dom/DeviceOrientationController.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):

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

        Reviewed by Pavel Feldman.

        Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=42164

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::retrieveFrame):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        (WebCore::ScriptDebugServer::clearBreakpoints):
        (WebCore::ScriptDebugServer::setBreakpointsActivated):
        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::continueProgram):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::stepOverStatement):
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::editScriptSource):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        * bindings/v8/ScriptDebugServer.h:

2010-07-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: Clean-up InspectorBackend code. In the next changes
        InspectorBackend content will be generated by scripts. As far as
        generator is very simple thing all nontrivial function should be
        moved to InspectorController and DOMAgent.
        https://bugs.webkit.org/show_bug.cgi?id=42171

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::pause):
        * bindings/js/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::activateBreakpoints):
        (WebCore::ScriptDebugServer::deactivateBreakpoints):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::activateBreakpoints):
        (WebCore::ScriptDebugServer::deactivateBreakpoints):
        (WebCore::ScriptDebugServer::pause):
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::saveApplicationSettings):
        (WebCore::InspectorBackend::saveSessionSettings):
        (WebCore::InspectorBackend::enableSearchingForNode):
        (WebCore::InspectorBackend::disableSearchingForNode):
        (WebCore::InspectorBackend::enableMonitoringXHR):
        (WebCore::InspectorBackend::disableMonitoringXHR):
        (WebCore::InspectorBackend::getResourceContent):
        (WebCore::InspectorBackend::reloadPage):
        (WebCore::InspectorBackend::activateBreakpoints):
        (WebCore::InspectorBackend::deactivateBreakpoints):
        (WebCore::InspectorBackend::pause):
        (WebCore::InspectorBackend::resume):
        (WebCore::InspectorBackend::stepOverStatement):
        (WebCore::InspectorBackend::stepIntoStatement):
        (WebCore::InspectorBackend::stepOutOfFunction):
        (WebCore::InspectorBackend::setPauseOnExceptionsState):
        (WebCore::InspectorBackend::copyNode):
        (WebCore::InspectorBackend::pushNodeByPathToFrontend):
        (WebCore::InspectorBackend::highlightDOMNode):
        (WebCore::InspectorBackend::hideDOMNodeHighlight):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::saveApplicationSettings):
        (WebCore::InspectorController::saveSessionSettings):
        (WebCore::InspectorController::highlightDOMNode):
        (WebCore::InspectorController::resume):
        (WebCore::InspectorController::setPauseOnExceptionsState):
        (WebCore::InspectorController::getResourceContent):
        (WebCore::InspectorController::reloadPage):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::hideDOMNodeHighlight):
        (WebCore::InspectorController::startProfiling):
        (WebCore::InspectorController::stopProfiling):
        (WebCore::InspectorController::enableSearchingForNode):
        (WebCore::InspectorController::disableSearchingForNode):
        (WebCore::InspectorController::enableMonitoringXHR):
        (WebCore::InspectorController::disableMonitoringXHR):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::copyNode):
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.pause):
        (.WebInspector.InspectorBackendStub.prototype.resume):
        (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
        (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
        (.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._togglePause):
        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

2010-07-14  Joone Hur  <joone@kldp.org>

        Reviewed by Jian Li.

        [GTK] Enabling File Reader/Writer APIs
        https://bugs.webkit.org/show_bug.cgi?id=40209

        The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::openFile): Added.
        (WebCore::readFromFile): Added.

2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Inconsistent LayoutRepainter usage in the SVG renderers
        https://bugs.webkit.org/show_bug.cgi?id=42245

        Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
        LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
        instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
        performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):

2010-07-14  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for r63300.

        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::containsCyclicReference):

2010-07-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not activate all breakpoints on page reload
        https://bugs.webkit.org/show_bug.cgi?id=41461

        Test: inspector/debugger-breakpoints-not-activated-on-reload.html

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

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

        Reviewed by Pavel Feldman.

        Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
        https://bugs.webkit.org/show_bug.cgi?id=42243

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::clearConsoleMessages):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleMessages):

2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        SVG patterns and masks should not be able to reference themselves
        https://bugs.webkit.org/show_bug.cgi?id=32171

        Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
        Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).

        Tests: svg/custom/recursive-filter.svg
               svg/custom/recursive-gradient.svg
               svg/custom/recursive-mask.svg
               svg/custom/recursive-pattern.svg

        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
        (WebCore::RenderSVGResourceContainer::idChanged): Ditto.
        (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
        (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
        (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
        (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
        * rendering/RenderSVGResourcePattern.h:
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
        * svg/SVGPaint.h:

2010-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Selection dumping code should not dump body's offset in the document
        https://bugs.webkit.org/show_bug.cgi?id=42238

        This requires updating the results of many layout tests,
        but has no functional change.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::nodePosition):

2010-07-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        <input type=number> UI: inner spin button layout
        https://bugs.webkit.org/show_bug.cgi?id=41924

        Add layout/event/style code for the inner spin button, which is
        going to be used for Windows implementation.
        No new tests because no ports implement the inner spin button yet.

        * rendering/RenderTextControlSingleLine.cpp:
          Introduce m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
          Detach m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::layout):
          Set position and size of m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
          Handle m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::forwardEvent):
          Handle m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::textBlockWidth):
          Shorten the text block width by m_innerSpinButton width.
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
          Add m_innerSpinButton width.
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
          Handle m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
          Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
        * rendering/RenderTextControlSingleLine.h:

2010-07-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        <input type=number> UI: Support disabled/readonly states
        https://bugs.webkit.org/show_bug.cgi?id=38568

        Implement isEnabledFormControl() and isReadOnlyFormControl() of
        SpinButtonElement. They returns the states of the parent <input> element.
        The existing isEnabledFormControl() had a bug. It didn't have 'const'
        modifier.

        Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::defaultEventHandler):
         - If the input element is disabled or read-only, don't process events.
         - Protect 'input' object from destruction during focus().
         - Fix a hit-test issue. We don't need to add renderBox()->y() because
           'local' is relative to the RenderBox.
         - Some code cleanup
        * rendering/TextControlInnerElements.h:
        (WebCore::SpinButtonElement::isEnabledFormControl):
        (WebCore::SpinButtonElement::isReadOnlyFormControl):

2010-07-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Page flashes to mostly white towards the end of loading
        https://bugs.webkit.org/show_bug.cgi?id=42230
        
        We constrain the size of huge composited layers. When doing so, we
        need to use the constained size to set the position as well
        as the dimensions, to ensure the layer appears in the correct place.

        Test: compositing/tiling/constrained-layer-size.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateLayerPosition):

2010-07-13  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Linux implementation of <input type=number> UI
        https://bugs.webkit.org/show_bug.cgi?id=41925

        - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
          to PlatformThemeChromiumGtk.
        - Move the code for scrollbar colors from RenderThemeChromiumLinux
          to PlatformThemeChromiumGtk.

        * WebCore.gypi:
        * platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
        (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
        (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
        (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
        (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
        (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
        * platform/chromium/PlatformThemeChromiumGtk.h: Added.
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
         Move the main part of the code to PlatformThemeChromiumGtk.
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
        (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
        * rendering/RenderThemeChromiumLinux.h:

2010-07-13  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher

        Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
        https://bugs.webkit.org/show_bug.cgi?id=40607

        Tests: fast/workers/storage/change-version-handle-reuse-sync.html
               fast/workers/storage/change-version-sync.html
               fast/workers/storage/empty-statement-sync.html
               fast/workers/storage/execute-sql-args-sync.html
               fast/workers/storage/executesql-accepts-only-one-statement-sync.html
               fast/workers/storage/multiple-transactions-on-different-handles-sync.html
               fast/workers/storage/open-database-creation-callback-sync.html
               fast/workers/storage/open-database-empty-version-sync.html
               fast/workers/storage/open-database-inputs-sync.html
               fast/workers/storage/open-database-set-empty-version-sync.html
               fast/workers/storage/open-database-while-transaction-in-progress-sync.html
               fast/workers/storage/sql-data-types-sync.html
               fast/workers/storage/sql-exception-codes-sync.html
               fast/workers/storage/test-authorizer-sync.html
               fast/workers/storage/transaction-in-transaction-sync.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::maximumSize):
        (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::sqliteDatabase):
        * storage/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::performPreflight):
        (WebCore::ChangeVersionWrapper::performPostflight):
        * storage/Database.cpp:
        (WebCore::Database::performGetTableNames):
        * storage/Database.h:
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::createVTable):
        (WebCore::DatabaseAuthorizer::dropVTable):
        * storage/DatabaseCallback.h:
        * storage/DatabaseSync.cpp:
        (WebCore::ChangeVersionPreflightStep::create):
        (WebCore::ChangeVersionPreflightStep::performStep):
        (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
        (WebCore::ChangeVersionPostflightStep::create):
        (WebCore::ChangeVersionPostflightStep::performStep):
        (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::runTransaction):
        * storage/DatabaseSync.h:
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
        * storage/SQLError.h:
        * storage/SQLResultSet.cpp:
        * storage/SQLResultSet.h:
        * storage/SQLStatementCallback.h:
        * storage/SQLStatementErrorCallback.h:
        * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
        (WebCore::SQLStatementSync::SQLStatementSync):
        (WebCore::SQLStatementSync::execute):
        * storage/SQLStatementSync.h: Added.
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransaction.h:
        * storage/SQLTransactionCallback.h:
        * storage/SQLTransactionClient.cpp:
        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):
        * storage/SQLTransactionClient.h:
        * storage/SQLTransactionErrorCallback.h:
        * storage/SQLTransactionSync.cpp:
        (WebCore::transactionClient):
        (WebCore::SQLTransactionSync::create):
        (WebCore::SQLTransactionSync::SQLTransactionSync):
        (WebCore::SQLTransactionSync::~SQLTransactionSync):
        (WebCore::SQLTransactionSync::executeSQL):
        (WebCore::SQLTransactionSync::begin):
        (WebCore::SQLTransactionSync::execute):
        (WebCore::SQLTransactionSync::commit):
        (WebCore::SQLTransactionSync::rollback):
        * storage/SQLTransactionSync.h:
        (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
        * storage/SQLTransactionSyncCallback.h:
        * storage/chromium/SQLTransactionClientChromium.cpp:
        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):

2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63162.
        http://trac.webkit.org/changeset/63162
        https://bugs.webkit.org/show_bug.cgi?id=42224

        This is no longer needed (Requested by olliej_ on #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):

2010-07-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix my misreading of "clear to the last marker" in the HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=42199

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::clearToLastMarker):
        * html/HTMLFormattingElementList.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        ES5 requires BOMs to be treated as whitespace
        https://bugs.webkit.org/show_bug.cgi?id=42218

        Remove BOM handling logic from WebCore Script objects.

        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:

2010-07-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
        https://bugs.webkit.org/show_bug.cgi?id=42211

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::rect):

2010-07-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Show IDs and classnames in layer tree dumps
        https://bugs.webkit.org/show_bug.cgi?id=42213

        When dumping the layer tree via showLayerTree(), include id and class attributes for
        ease of debugging.
        
        No tests, since this is debug-only code.

        * rendering/RenderLayer.cpp:
        (showLayerTree):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        * rendering/RenderTreeAsText.h:
        (WebCore::):

2010-07-13  Simon Fraser  <simon.fraser@apple.com>

        Build fix: fix WebCore exports by editing the .in file, rather than the generated file.

        * WebCore.exp.in:

2010-07-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42216
        ResourceRequest::doUpdateResourceRequest() crashes if client denied request

        This is covered by many regression tests with patch for bug 42201 applied (because it makes
        us also use this code path for sync requests, and those currently have more strict limitations).

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.

2010-07-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
        https://bugs.webkit.org/show_bug.cgi?id=42187

        I do not expect these work-arounds to be permanent.  Hixie has promised to
        addresses the feedback to the parser sections of HTML5 soon.
        I added these hacks to make our hacks more-closely match Minefield's hacks
        and thus have us "pass" a few more html5lib runner tests.

        We now pass all of the html5lib foreign content tests
        (thus we'll likely need to write more).

        Tested by html5lib/runner.html

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::contains):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-12  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Wire network times from ResourceLoadTiming to performance.timing
        https://bugs.webkit.org/show_bug.cgi?id=41824

        * page/Timing.cpp:
        (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
        (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
        (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
        (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
        (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
        (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
        (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
        (WebCore::Timing::resourceLoadTiming):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add support for loading javascript: URLs
        https://bugs.webkit.org/show_bug.cgi?id=42221

        * WebCore.exp.in:
        Export protocolIsJavaScript and ScriptValue::getString.

2010-07-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add support for URL frame loading using NPN_GetURLNotify
        https://bugs.webkit.org/show_bug.cgi?id=42192

        * WebCore.exp.in:
        Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.

2010-07-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Need to track texture completeness
        https://bugs.webkit.org/show_bug.cgi?id=41381

        Test: fast/canvas/webgl/texture-complete.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
        (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
        (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
        (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
        * html/canvas/WebGLRenderingContext.h: Add max texture level.
        * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
        (WebCore::WebGLTexture::WebGLTexture):
        (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
        (WebCore::WebGLTexture::setParameteri): Ditto.
        (WebCore::WebGLTexture::setParameterf): Ditto.
        (WebCore::WebGLTexture::setLevelInfo): Set texture info.
        (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
        (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
        (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
        (WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
        (WebCore::WebGLTexture::_deleteObject):
        (WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
        (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
        (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
        (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
        * html/canvas/WebGLTexture.h: Ditto.
        (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
        (WebCore::WebGLTexture::LevelInfo::setInfo): Set information.

2010-07-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
        https://bugs.webkit.org/show_bug.cgi?id=42160

        Test: canvas/philip/tests/2d.drawImage.wrongtype.html

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
        TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.

2010-07-13  Aaron Boodman  <aa@chromium.org>

        Reviewed by Timothy Hatcher.

        Don't reset per-document user style caches when user styles are updated in
        Chromium.

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

        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        (WebCore::PageGroup::removeUserStyleSheetFromWorld):
        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
        (WebCore::PageGroup::removeAllUserContent):
        (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
        * page/PageGroup.h:

2010-07-13  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        On Leopard, media element can't handle audio/mp4 MIME type in source tag
        https://bugs.webkit.org/show_bug.cgi?id=29326

        Test: media/media-can-play-mpeg-audio.html

        * platform/MIMETypeRegistry.cpp:
        (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.

2010-07-13  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Implement performance.timing.fetchStart
        https://bugs.webkit.org/show_bug.cgi?id=41816

        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/Timing.cpp:
        (WebCore::Timing::fetchStart):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-13  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech input plumbing in webcore
        https://bugs.webkit.org/show_bug.cgi?id=41518

        Adds the following:
        - a SpeechInput class to be used by the speech enabled HTML elements
        - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
        - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
          This is available as a member of WebCore::Page, set by the platforms which support speech input.
        - a SpeechInputClientListener interface for WebCore to receive events from WebKit

        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h: Added SpeechInputClient member variable and associated methods.
        (WebCore::Page::setSpeechInputClient):
        (WebCore::Page::speechInputClient):
        * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
        (WebCore::SpeechInput::SpeechInput):
        (WebCore::SpeechInput::recordingComplete):
        (WebCore::SpeechInput::setRecognitionResult):
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h: Added.
        (WebCore::SpeechInput::~SpeechInput):
        (WebCore::SpeechInput::client):
        * page/SpeechInputListener.h: Added.
        (WebCore::SpeechInputListener::~SpeechInputListener):
        * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
        (WebCore::SpeechInputClient::~SpeechInputClient):
        * page/SpeechInputClientListener.h: Added.
        (WebCore::SpeechInputClientListener::~SpeechInputClientListener):

2010-07-13  Richard Moore <rich@kde.org>, Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] MIME handling in qtwebkit network layer case-sensitivity

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

        Like other platforms, Qt needs to convert MIME types to lower case
        so they will be handled by WebCore.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

2010-07-13  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        REGRESSION(55056) debug builds ASSERT falsely on pages with animations
        https://bugs.webkit.org/show_bug.cgi?id=42175

        Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
        to ensure the precomputed values were valid.  However, if animations are enabled and
        not hardware accelerated, the repaint box dimensions become time-dependent and the
        ASSERT()s can trigger.  This can make it impossible to interactively debug pages
        like google maps.

        https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
        failing due to time dependent animation values.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):

2010-07-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Implement bufferData and bufferSubData with ArrayBuffer as input
        https://bugs.webkit.org/show_bug.cgi?id=41884

        Test: fast/canvas/webgl/buffer-data-array-buffer.html

        * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
        (WebCore::WebGLBuffer::associateBufferData):
        (WebCore::WebGLBuffer::associateBufferSubData):
        * html/canvas/WebGLBuffer.h: Ditto.
        * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        * html/canvas/WebGLRenderingContext.h: Ditto.
        * html/canvas/WebGLRenderingContext.idl: Ditto.
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):

2010-07-13  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Implement performance.timing.responseEnd
        https://bugs.webkit.org/show_bug.cgi?id=42006

        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoading):
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/Timing.cpp:
        (WebCore::Timing::responseEnd):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-13  W. James MacLean <wjmaclean@chromium.org>

        Reviewed by Darin Fisher

        Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
        https://bugs.webkit.org/show_bug.cgi?id=41962

        Test: fast/canvas/canvas-skia-excessive-size.html

        * WebCore/html/HTMLCanvasElement.cpp
        (WebCore::HTMLCanvasElement::convertLogicalToDevice):

2010-07-10  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
        https://bugs.webkit.org/show_bug.cgi?id=42032

        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.

2010-07-13  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GTK] video playback position query flood when mouse over the video element
        https://bugs.webkit.org/show_bug.cgi?id=35333

        Don't trigger a position query only to know which play/pause
        button to display. Instead use the media-control button display
        type to select the image to paint.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMediaPlayButton):

2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63192.
        http://trac.webkit.org/changeset/63192
        https://bugs.webkit.org/show_bug.cgi?id=42173

        Broke fast/backgrounds/size/contain-and-cover.html (Requested
        by kling on #webkit).

        * manual-tests/css3-background-layer-count.html: Removed.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::cullEmptyLayers):

2010-07-13  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Removes cycles caused by "m_this" members in a few IndexedDB classes.
        https://bugs.webkit.org/show_bug.cgi?id=42161

        Adds IDBAny::create for the various types.
        No functionality change, just cleaning up.

        * storage/IDBAny.cpp:
        (WebCore::createIDBAny):
        (WebCore::IDBAny::create):
        * storage/IDBAny.h:
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        (WebCore::IDBDatabaseRequest::createObjectStore):
        (WebCore::IDBDatabaseRequest::removeObjectStore):
        * storage/IDBDatabaseRequest.h:
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::IDBKeyRange):
        * storage/IDBKeyRange.h:
        (WebCore::IDBKeyRange::left):
        (WebCore::IDBKeyRange::right):
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        (WebCore::IDBObjectStoreRequest::get):
        (WebCore::IDBObjectStoreRequest::add):
        (WebCore::IDBObjectStoreRequest::put):
        (WebCore::IDBObjectStoreRequest::remove):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:

2010-07-13  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Land the initial build system for WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=41604

        The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit

        * WebCore.pri:
        * WebCore.pro:

2010-07-13  Leon Clarke  <leonclarke@google.com>

        Reviewed by Pavel Feldman.

        Don't access objects after deleting them, following
        the addition of link prefetching. Also remove a forward declaration
        of the now-nonexistent CachedLinkPrefetch class.
        https://bugs.webkit.org/show_bug.cgi?id=3652

        No new tests. Correcting aspects of the prefetch change that shouldn't
        have affected functionality.

        * html/HTMLLinkElement.h:
        * loader/loader.cpp:
        (WebCore::Loader::Host::cancelPendingRequests):

2010-07-13  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Fix the case of a linker option to lowercase to be able to
        cross compile QtWebKit for Windows on Linux.

        No new tests needed.

        * WebCore.pro:

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

        Reviewed by Yury Semikhatsky.

        WebInspector: Next iteration of Inspector code generator.
        The InspectorFrontend2 was replaced by slightly modified version of
        InspectorBackend file (Inspector.idl). At the end all the interface
        between WebInspector and inspected page will be specified by this file
        and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
        InspectorBackend.cpp and InspectorBackend.js).
        https://bugs.webkit.org/show_bug.cgi?id=42104

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/IDLParser.pm:
        * bindings/scripts/IDLStructure.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl: Added.
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::startTimelineProfiler):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::remoteInspectorFrontend):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorFrontend2.idl: Removed.
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        * inspector/InspectorTimelineAgent.h:

2010-07-12  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        DeviceOrientationEvent should use optional properties
        https://bugs.webkit.org/show_bug.cgi?id=41607

        This change adds a new DeviceOrientation class which takes care of which of the
        optional properties are present. DeviceOrientationEvent owns an instance of
        DeviceOrientation, rather than owning the properties directly.
        DeviceOrientationEvent now requires custom bindings.

        Test: fast/dom/DeviceOrientation/optional-event-properties.html

        * Android.mk:
        * 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/JSDeviceOrientationEventCustom.cpp: Added.
        (WebCore::JSDeviceOrientationEvent::alpha):
        (WebCore::JSDeviceOrientationEvent::beta):
        (WebCore::JSDeviceOrientationEvent::gamma):
        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added.
        (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
        * dom/DeviceOrientation.cpp: Added.
        * dom/DeviceOrientation.h: Added.
        (WebCore::DeviceOrientation::create):
        (WebCore::DeviceOrientation::canProvideAlpha):
        (WebCore::DeviceOrientation::alpha):
        (WebCore::DeviceOrientation::canProvideBeta):
        (WebCore::DeviceOrientation::beta):
        (WebCore::DeviceOrientation::canProvideGamma):
        (WebCore::DeviceOrientation::gamma):
        (WebCore::DeviceOrientation::DeviceOrientation):
        * dom/DeviceOrientationEvent.cpp:
        (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
        (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
        * dom/DeviceOrientationEvent.h:
        (WebCore::DeviceOrientationEvent::create):
        (WebCore::DeviceOrientationEvent::orientation):
        * dom/DeviceOrientationEvent.idl:

2010-07-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antti Koivisto.

        CSS3 background: Number of layers should be determined by background-image element count
        https://bugs.webkit.org/show_bug.cgi?id=41201

        Change FillLayer culling logic to discard all layers
        after the first one without an image set.

        Manual test: css3-background-layer-count.html

        * manual-tests/css3-background-layer-count.html: Added.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::cullEmptyLayers):

2010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Darin Adler.

        Prevent assertion/duplicate loads for non-deferred subtitute-data loads

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

        MainResourceLoader uses the member m_initialRequest to store requests for future
        deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
        have to clear this request so that subsequent entries into the loader will not
        start yet another load.

        This can happen as a result of a PageGroupLoadDeferrer going out of scope when
        returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
        but only in the case of using both substitute-data and non-deferred main resource
        load together. That's why two new DRT functions were added:

         * queueLoadHTMLString()
         * setDeferMainResourceLoad()

        The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
        and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
        added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.

        Test: fast/loader/non-deferred-substitute-load.html

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::handleDataLoadNow):

2010-07-13  Yoshiki Hayashi  <yhayashi@google.com>

        Reviewed by Kent Tamura.

        Make sure correct Nodes are passed to childrenChanged so that
        :last-child gets properly applied when fragment is inserted.
        https://bugs.webkit.org/show_bug.cgi?id=37944

        Test: fast/css/last-child-innerhtml.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):

2010-07-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        InsertListCommand's modifyRange and doApply should be merged
        https://bugs.webkit.org/show_bug.cgi?id=41403

        Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
        Merged the code in modifyRange into doApply and cleaned up.

        No test is added since this is a clean up.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized
        (WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph
        (WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph
        * editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix typo in "close the cell" which caused assertion
        https://bugs.webkit.org/show_bug.cgi?id=42138

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::closeTheCell):

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests
        https://bugs.webkit.org/show_bug.cgi?id=42143

        Covered by a zillion layout tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):

2010-07-12  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Kent Tamura.

        Adding right aligned text called labels to PopupMenus.
        https://bugs.webkit.org/show_bug.cgi?id=41964

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemLabel):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::itemLabel):
        * rendering/RenderTextControlSingleLine.h:

2010-07-12  Mihnea Ovidenea  <mihnea@adobe.com>

        Reviewed by Dirk Schulze.

        [Cairo] Incorrect Test for Text Fill
        https://bugs.webkit.org/show_bug.cgi?id=42123

        Correct test used for text shadow.  It currently checks for
        equality with cTextFill.  However, this test fails if the
        text drawing mode is set to 'cTextFill | cTextStroke'.  Fix
        is to modify the test to be like other Cairo uses of the
        text drawing mode, and check for the cTextFill bit being
        set, not for equality with the bit.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Weinig.

        Fix a typo in the adoption agency causing test failures
        https://bugs.webkit.org/show_bug.cgi?id=42133

        The new behavior actually differs from old webkit.
        <p><b><p>TEST
        was not bold in the old parser, but is bold now.
        This matches Minefield and the HTML5 spec.

        Covered by two tests in html5lib/runner.html.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

        Reviewed by Joseph Pecoraro.

        Web Inspector: provide starts and ends for network phases instead of duration.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::buildObjectForTiming):
        * platform/network/ResourceLoadTiming.h:
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::wasCached):
        (WebCore::ResourceResponseBase::setWasCached):
        * platform/network/ResourceResponseBase.h:

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

        Reviewed by Eric Seidel.

        HTML5 Parser: document.write after onload blows away document
        https://bugs.webkit.org/show_bug.cgi?id=40745

        Rather than blowing away the document when we get a document.write call
        after the document is closed, we new ignore the write.  This
        technically violates the spec (which requires us to blow away the
        document), but blowing away the document breaks too many web sites.

        Rather than this patch, we could go back to our old behavior (which was
        to append the bytes just before EOF), but implementing this approach
        (suggested by Henri) will let us gather data about whether his approach
        is workable.

        See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767

        * dom/Document.cpp:
        (WebCore::Document::write):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::insert):

2010-07-12  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Oliver Hunt.

        Strip BOMs from source before passing to V8
        https://bugs.webkit.org/show_bug.cgi?id=42102

        This extra copy may carry a performance penalty. We should investigate
        whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace().

        No new tests because no new functionality.

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):

2010-07-12  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed. make distcheck fix.

        * GNUmakefile.am:

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

        Reviewed by Alexey Proskuryakov.

        Fix crash caused by unintentional deletion of worker bridge and channel.

        WebSocket: Crash caused by calling close() within onmessage handler
        https://bugs.webkit.org/show_bug.cgi?id=41507

        Test: websocket/tests/workers/close-in-onmessage-crash.html

        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(),
        which causes m_channel to get freed.
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to
        the bridge because waitForMethodCompletion() may dereference the bridge.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
        The root cause is a call to WorkerRunLoop::runInMode in this function.
        It may call WebSocket::didClose() even inside WebSocket::close(), which frees
        everything including the worker bridge and the channel.

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

        Reviewed by Eric Seidel.

        REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com
        https://bugs.webkit.org/show_bug.cgi?id=41797

        Once we resume parsing after script execution, we want to clear the
        preload scanner so we don't scan any bytes it might have accumulated.

        Test: http/tests/loading/preload-slow-loading.php

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):

2010-07-12  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Jian Li.

        Adding directional property enums back into
        CSSComputedStyleDeclaration::getPropertyCSSValue().

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

        The four directional -webkit- properties --  CSSPropertyWebkitMarginEnd,
        CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and
        CSSPropertyWebkitPaddingStart -- are resolved into other css
        properties before the swtich statement via a call to
        CSSProperty::resolveDirectionAwareProperty().  Thus, they are never
        seen by the switch statement.  However, if you leave out a potential
        enum value from the switch, gcc will generate a warning if -Wall is
        specified.  This warning breaks the Chromium build.  To avoid this,
        we add in the enum values and ASSERT_NOT_REACHED() if they are hit.


        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2010-07-12  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX converts AtomicStrings to .string() more than needed
        https://bugs.webkit.org/show_bug.cgi?id=42056

        No behavior change. No new tests.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isPressed):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityRenderObject::intValue):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::hasTextAlternative):
        (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
        (WebCore::AccessibilityRenderObject::supportsARIADropping):
        (WebCore::AccessibilityRenderObject::supportsARIADragging):
        (WebCore::AccessibilityRenderObject::determineARIADropEffects):
        (WebCore::AccessibilityRenderObject::isExpanded):
        (WebCore::AccessibilityRenderObject::isRequired):
        (WebCore::AccessibilityRenderObject::isSelected):
        (WebCore::AccessibilityRenderObject::supportsARIAOwns):
        (WebCore::AccessibilityRenderObject::isEnabled):
        (WebCore::AccessibilityRenderObject::activeDescendant):
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        (WebCore::AccessibilityRenderObject::orientation):
        (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):

2010-07-12  Tony Chang  <tony@chromium.org>

        Reviewed by David Hyatt.

        crash in FrameView::detachCustomScrollbars
        https://bugs.webkit.org/show_bug.cgi?id=41196

        Test: scrollbars/hidden-iframe-scrollbar-crash.html

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

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML tags should break out of foreign content
        https://bugs.webkit.org/show_bug.cgi?id=42106

        Implement another paragraph of the spec to pass another
        bunch of foreign content tests.

        This fixes a bunch of tests in html5lib/runner.html.
        After this change we only have 4 remaining foreign content failures.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-12  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Bring bufferData and clear to GLES2 compliant
        https://bugs.webkit.org/show_bug.cgi?id=41574

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage().
        (WebCore::WebGLRenderingContext::clear): Check mask.
        (WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage.
        * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage.

2010-07-12  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempt to fix Chromium Windows build.

        Always generate SVGNames and MathMLNames for all ports (to support HTML5)
        https://bugs.webkit.org/show_bug.cgi?id=42050

        Another way to fix this might be to mark all the .in files with
        svn:eol=native.  But fixing the perl to be more robust against
        stray whitespace seems to be a better long-term fix.

        No functional change, thus no tests.

        * bindings/scripts/InFilesParser.pm:

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Remove dependency on PlatformString.h in Color.h
        https://bugs.webkit.org/show_bug.cgi?id=42109

        * platform/graphics/Color.cpp:
        * platform/graphics/Color.h:

2010-07-12  Eric Seidel  <eric@webkit.org>

        Unreviewed, build fix.

        Update HTMLTreeBuilder now that MathMLNames is always generated
        https://bugs.webkit.org/show_bug.cgi?id=42059

        Fix the Windows project file to build MathMLNames.*.
        Also added MathMLElementFactory.* which is a NOOP now, but will
        prevent folks from breaking the build when they turn MathML on.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Update media element's handling of empty 'src' attribute
        https://bugs.webkit.org/show_bug.cgi?id=42001

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute().
        (WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'.
        (WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert 
        'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'. 

        * html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute.

        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute().
        (WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute.
        * html/HTMLSourceElement.h:

        * html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert 
        'poster' to URL instead of document()->completeURL().

        * html/HTMLVideoElement.idl:  Add 'NonEmpty' option to 'poster' attribute.

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

        Reviewed by Xan Lopez.

        [GTK] make dist is broken because of missing headers and other miscellaneous reasons
        https://bugs.webkit.org/show_bug.cgi?id=42107

        * GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so
        that it is not built into libWebCoreJS. Add missing header to the source list.
        Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm.

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs to support mixing SVG and MathML content
        https://bugs.webkit.org/show_bug.cgi?id=42096

        This is just a direct transcription of another paragraph of the
        HTML5 spec.

        This improved a couple results in html5lib/runner.html, but more
        work to do yet to pass all the foreign content tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode):
        * html/HTMLTreeBuilder.h:
        * mathml/mathtags.in:

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Update HTMLTreeBuilder now that MathMLNames is always generated
        https://bugs.webkit.org/show_bug.cgi?id=42059

        Fix the HTMLTreeBuilder MathML code path to compile and remove
        the MathML and SVG guards now that SVGNames and MathMLNames are
        always compiled into ever port after:
        https://bugs.webkit.org/show_bug.cgi?id=42050

        This fixed a whole bunch of libhtml5 tests now that we have the
        mathml code paths enabled.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
         - Always init SVGNames and MathML names.

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

        Reviewed by Dan Bernstein.

        Don't go into compositing mode for 0x0 plugins
        https://bugs.webkit.org/show_bug.cgi?id=34009
        
        Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose
        height or width is zero.
        
        Previously we made all compositing decisions inside styleChanged(). However,
        now that plugin and iframe compositing behavior depends on renderer size, we have
        to wait until layout before deciding whether to composite these. This behavior
        change is controlled by the m_compositingDependsOnGeometry flag. When set,
        updateCompositingLayers() always does a hierarchy update.

        Tests: compositing/iframes/iframe-size-from-zero.html
               compositing/iframes/iframe-size-to-zero.html
               compositing/plugins/1x1-composited-plugin.html
               compositing/plugins/large-to-small-composited-plugin.html
               compositing/plugins/small-to-large-composited-plugin.html

        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we
        have to always enter updateCompositingLayers().
        (WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto
        (WebCore::FrameView::enterCompositingMode): Remove bogus return of a void.

        * rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false.
        (WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true,
        we always need to run through the layer hierarchy looking for things which need to be composited, even if
        we're not (yet) in compositing mode.
        
        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode
        on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated
        when processing the root layer, for the case where the compositing mode changes.
        
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry
        flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin
        if height * width > 1.
        
        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry
        flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin
        if height or width is greater than zero.

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

        Reviewed by Dan Bernstein.

        Need to do a layout when RenderLayers come and go because of compositing
        https://bugs.webkit.org/show_bug.cgi?id=42108
        
        If we create or destroy RenderLayers for reasons other than style changes
        (e.g. because of composited iframes or plugins), then we need to ensure
        that we do a layout.

        Test: compositing/iframes/layout-on-compositing-change.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::adjustStyleDifference):

2010-07-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Always generate SVGNames and MathMLNames for all ports (to support HTML5)
        https://bugs.webkit.org/show_bug.cgi?id=42050

        Historically, FOONames has only been generate when ENABLE(FOO) is defined.
        However, for HTML5 parser support, we need to have access to the SVG
        and MathML tag names regardless of whether we the engine is configured
        to render SVG or MathML content.

        This change enables generation of SVGNames and MathMLNames on all ports and
        makes it so that ports can include FOOElementFactory.* regardless of whether
        ENABLE(FOO) is defined (and have it do the right thing).

        No functional change (yet) so no tests.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * dom/make_names.pl:

2010-07-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        make_names.pl should always generate all names in Names.* files
        https://bugs.webkit.org/show_bug.cgi?id=42023

        Only the *ElementFactory files need to have conditional contents
        based on enabled features.  WebCore should always have all known
        names for SVG, MathML, XML, XLink, HTML, etc. generated in the
        various *Names files, even if features are disabled.

        make_names.pl is kinda a big hack at this point.  I tried to clean
        up a little as I went.  The way I made *Names include all names was to
        read the .in files twice, once using the preprocessor and once without.

        * dom/make_names.pl:

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        Canvas: Move fillRect() save/restore into GraphicsContext implementations
        https://bugs.webkit.org/show_bug.cgi?id=42088

        Saving the platform painter state is an expensive operation,
        so don't do it in fillRect() for platforms that don't need it. (CG, Qt)

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::fillRect):

2010-07-12  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Ensure that a cache policy that forces validation is cleared once
        the load event is fired, rather than only doing so at the next
        navigation. This leads to a lot of unnecessary load on AJAX-y
        websites.

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

        Test: http/tests/xmlhttprequest/cache-headers-after-reload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the
            DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader.
        (WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        CSS color parsing optimizations
        https://bugs.webkit.org/show_bug.cgi?id=42073

        - Avoid instantiating a CSSParser in parseColor() unless necessary.
        - Fixed hex color fast-path to support strings starting with '#'.
        - Avoid allocating a new string for the value part of a '#' color.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        * platform/graphics/Color.cpp:
        (WebCore::Color::parseHexColor):
        (WebCore::Color::Color):
        * platform/graphics/Color.h:

2010-07-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=13075
        XMLHttpRequest with failed authentication should set status to 401

        https://bugs.webkit.org/show_bug.cgi?id=6871
        <rdar://problem/3363403> 401 error page is never shown

        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential):
        Added a comment explaining why we handle empty credentials differently here.

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential):
        Bring this code in sync with Mac.

2010-07-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        Add a PluginController class, use it for invalidation and getting the user agent
        https://bugs.webkit.org/show_bug.cgi?id=42084

        * WebCore.exp.in:
        Export Widget::convertToContainingWindow.

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data
        https://bugs.webkit.org/show_bug.cgi?id=41457

        Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData()
        Fixes corruption when retrieving data that was set with anything other than text/plain

        Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::isHtmlMimeType):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):

2010-07-12  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA
        https://bugs.webkit.org/show_bug.cgi?id=32273

        Tested by existing tests, just adding ANDROID to the list of platforms that use this feature.

        * loader/CachedFont.cpp:

2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed.

        [EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to
        CMakeListsEfl.txt.

        * CMakeLists.txt:
        * CMakeListsEfl.txt:

2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix after r60050.

        * CMakeLists.txt: Add WebCore/bindings to the include path.

2010-07-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when going back with page cache in unknown circunstances
        https://bugs.webkit.org/show_bug.cgi?id=41710

        Could not yet find a way to reproduce this in a layout test. The
        issue is document being NULL, so this NULL-check should be enough
        to get rid of the crash. We are working on trying to find a better
        solution for these null cases, like attaching the document earlier
        when openning a cached page.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendScrollEvent):

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

        Reviewed by Yury Semikhatsky.

        [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=41958

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        * page/PageGroupLoadDeferrer.h:

2010-07-12  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Make the mathsize MathML attribute handle values in em, px, pt,...
        https://bugs.webkit.org/show_bug.cgi?id=42067

        Test: mathml/presentation/attributes.xhtml

        * css/mathml.css:
        (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
        (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
        (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::parseMappedAttribute):

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

        Reviewed by Gustavo Noronha.

        Fix compilation with sealed GTK+.

        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::fillDataObjectFromDropData):

2010-07-12  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
        In mfrac, the fraction bar is now using the color defined by the element style instead of black.
        In msqrt, the radical was always drawn in black due to a colorSpace problem.
        https://bugs.webkit.org/show_bug.cgi?id=41889

        Test: mathml/presentation/roots.xhtml
        Test: mathml/presentation/fractions.xhtml

        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antti Koivisto.

        Canvas: arc() with startAngle == endAngle shouldn't add to the path
        https://bugs.webkit.org/show_bug.cgi?id=41420

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::arc):

2010-07-12  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Ojan Vafai.

        Update padding on Windows?
        https://bugs.webkit.org/show_bug.cgi?id=38016

        Remove internal padding and add 1px vertical padding for Windows.

        * css/themeWin.css:
        (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::setupInnerStyle):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeWin.cpp:
        * rendering/RenderThemeWin.h:
        * rendering/RenderThemeWince.cpp:
        * rendering/RenderThemeWince.h:

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

        Not reviewed. Chromium tests fix.

        [Chromium, V8] r63057 regressed url tests.

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

        * bindings/scripts/CodeGeneratorV8.pm:

2010-07-12  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        XPath substring function does not correctly handle non-positive values for the position argument
        https://bugs.webkit.org/show_bug.cgi?id=41913

        This patch changes the behavior of the XPath evaluate function when a non-positive
        position argument is supplied and no length argument is supplied. In this case,
        we reset the position to 1. This follows the spec and matches the current behaviour
        when a length argument is supplied.

        Test: fast/xpath/substring-non-positive-postion.html

        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunSubstring::evaluate):

2010-06-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Implement IDBObjectStore.get/set/remove
        https://bugs.webkit.org/show_bug.cgi?id=41250

        Implement these functions in IDBObjectStore,
        add plumbing, teach IDBAny/Callbacks how to deal
        with IDBKey, and a few small bits of cleanup.

        Test: Modified existing test to provide basic coverage.
              Will add much more extensive layout test coverage
              in future patches.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * Android.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbKey):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBAny.idl:
        * storage/IDBCallbacks.h:
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBKeyRange.h:
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::):
        * storage/IDBObjectStoreImpl.cpp:
        (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
        (WebCore::IDBObjectStoreImpl::get):
        (WebCore::IDBObjectStoreImpl::set):
        (WebCore::IDBObjectStoreImpl::remove):
        * storage/IDBObjectStoreImpl.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::get):
        (WebCore::IDBObjectStoreRequest::add):
        (WebCore::IDBObjectStoreRequest::modify):
        (WebCore::IDBObjectStoreRequest::addOrModify):
        (WebCore::IDBObjectStoreRequest::remove):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:

2010-07-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        Implement animation-related methods for WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=42053

        * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.

2010-07-11  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel

        Add a complete list of the HTML5 entities in JSON format.

        * html/HTMLEntityNames.json: Added.

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

        Reviewed by Xan Lopez.

        [GTK] WebKitWebView should support drops
        https://bugs.webkit.org/show_bug.cgi?id=39843

        Add support for dropping content onto GTK+ WebViews.

        No new tests, as the DRT does not support simulating drops yet.

        * platform/gtk/ClipboardUtilitiesGtk.cpp:
        (WebCore::dragOperationToGdkDragAction): Added.
        (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
        * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
        * platform/gtk/PasteboardHelper.cpp:
        Add new target atom and rename the markup target type to match the others.
        Add a method which fills a data object from drop data.
        (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
        (WebCore::selectionDataToUTF8String): Added this helper.
        (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
        (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
        (WebCore::PasteboardHelper::dropAtoms): Added.
        * platform/gtk/PasteboardHelper.h: Add declarations of new methods.

2010-07-10  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        Enhance content attribute reflection for URL attributes, including adding a non-empty option
        https://bugs.webkit.org/show_bug.cgi?id=42040

        Test: fast/dom/URL-attribute-reflection.html

        Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
        a new option, NonEmpty, which implements the non-empty URL concept from the
        HTML5 specification.

        * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
        extended attributes to come in separately. The URL one simply means "the string
        of this attribute is a URL", since we don't have a distinct type for URL. Also
        added a new NonEmpty extended attribute.

        * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
        and the fix I made to the reflectedCustomURLAttr test.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
        bindig writes out the keywords into the generated file as comments, so the keyword
        change had a direct efffect on the output file.

        * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
        the new syntax. Added test cases for NonEmpty. Fixed the name of
        reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
        instead; never noticed because we never compile the test output.

        * dom/Element.cpp:
        (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
        by any code that wants to implement the non-empty URL content attribute semantic.
        * dom/Element.h: Ditto.

        * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
        * html/HTMLAreaElement.idl: Ditto.
        * html/HTMLFrameElement.idl: Ditto.
        * html/HTMLImageElement.idl: Ditto.
        * html/HTMLInputElement.idl: Ditto.
        * html/HTMLLinkElement.idl: Ditto.
        * html/HTMLMediaElement.idl: Ditto.
        * html/HTMLObjectElement.idl: Ditto.
        * html/HTMLScriptElement.idl: Ditto.
        * html/HTMLVideoElement.idl: Ditto.

2010-07-10  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Add missing derrived sources to Xcode project
        https://bugs.webkit.org/show_bug.cgi?id=42034

        This allows --web-timing to work with build-webkit on OSX with JSC.
        This should have been done in bug 41442.

        No new tests because no new functionality.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-10  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Don't initialize plug-ins until allowed by the page
        https://bugs.webkit.org/show_bug.cgi?id=42033

        * WebCore.exp.in:
        Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.

2010-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
        isEqualNode should work for DocumentType nodes

        Test: fast/dom/Node/isEqualNode.html

        * dom/Node.cpp:
        (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.

2010-07-10  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
        https://bugs.webkit.org/show_bug.cgi?id=39339

        Moved the enum ReasonForCallingCanExecuteScripts, which was
        defined in both the JSC and V8 ScriptController.h file, into
        a shared file called ScriptControllerBase.h.

        No functionality was changed, so no new tests.

        * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/ScriptControllerBase.h: Added.
        (WebCore::):
        * bindings/js/ScriptController.h: #include ScriptControllerBase.h
        * bindings/v8/ScriptController.h: Ditto.

2010-07-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8153214> Continuation outlines in layers do not paint correctly

        Test: fast/inline/continuation-outlines-with-layers-2.html

        Continuation outlines are normally painted by the containing block. However, when the
        block and the inline are not enclosed by the same self-painting layer, the inline has to
        paint its own outlines. This was handled correctly only for the case where the inline had
        its own self-painting layer, but not when an ancestor inline had the self-painting layer.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
        whether any intermediate box between the inline and the containing block has a self-painting
        layer.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
        * rendering/RenderObject.h:

2010-07-10  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Build fix: syntax and typo issues
        https://bugs.webkit.org/show_bug.cgi?id=41859

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs adjustForeignAttributes support
        https://bugs.webkit.org/show_bug.cgi?id=42022

        To add adjust foreign attributes support I had to add an
        AtomicString (prefixed name) to QualifiedName hash.  Once I had
        done that, I decided it would be best for the other "adjust" functions
        to share the same hash logic, so I moved them to using the same
        AtomicString -> QualifiedName hash as well.

        Tested by html5lib/runner.html

        * dom/Attribute.h:
        (WebCore::Attribute::parserSetName):
        * html/HTMLTreeBuilder.cpp:

2010-07-10  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41978
        Remove namespace prefixes from idl files

        No new tests, idl syntax fixes.

        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSVariablesRule.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGColor.idl:
        * svg/SVGDocument.idl:
        * svg/SVGLangSpace.idl:
        * svg/SVGSVGElement.idl:
        * svg/SVGStringList.idl:
        * svg/SVGStylable.idl:
        * svg/SVGStyleElement.idl:
        * svg/SVGTests.idl:
        * svg/SVGZoomEvent.idl:
        * xml/XPathEvaluator.idl:

2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, GTK build fix.

        * bindings/gobject/GObjectEventListener.h:

2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Adler.

        Remove unnecessary includes in header files in WebCore/dom.
        https://bugs.webkit.org/show_bug.cgi?id=41941

        * css/StyleMedia.h:
        * dom/BeforeLoadEvent.h:
        * dom/CustomEvent.h:
        * dom/DOMStringMap.h:
        * dom/DeviceOrientationEvent.h:
        * dom/EventListener.h:
        * dom/MessagePort.h:
        * dom/Node.cpp:
        * dom/NodeFilter.h:
        * dom/NodeRareData.h:
        * dom/RegisteredEventListener.h:
        * dom/SelectorNodeList.cpp:
        * dom/SelectorNodeList.h:
        * dom/StyleElement.h:
        * dom/Traversal.h:

2010-07-09  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
        https://bugs.webkit.org/show_bug.cgi?id=38231

        Test: editing/execCommand/indent-pre.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::countParagraphs):
        (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
                                                       so moveParagraph doesn't get confused.
        (WebCore::IndentOutdentCommand::splitTextNodes):
        * editing/IndentOutdentCommand.h:

2010-07-09  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
        https://bugs.webkit.org/show_bug.cgi?id=41496

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
        * css/CSSProperty.h:
        * css/CSSStyleSelector.cpp: Use helper function.
        (WebCore::CSSStyleSelector::applyProperty):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 tree builder should pass some LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=41991

        Before this patch, we weren't attaching text nodes to the render tree,
        which turns out to be important.  :)

        This patch fixes more than 10,000 LayoutTests.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite):

2010-07-09  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        [WINCE] Buildfix for TextEncodingRegistry
        https://bugs.webkit.org/show_bug.cgi?id=41992

        Renamed TextCodecWince to TextCodecWinCE.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):

2010-07-09  Leon Clarke  <leonclarke@google.com>

        Reviewed by Adam Barth.

        add support for link prefetching
        https://bugs.webkit.org/show_bug.cgi?id=3652

        Test: fast/dom/HTMLLinkElement/prefetch.html

        * Configurations/FeatureDefines.xcconfig:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
        (WebCore::HTMLLinkElement::process):
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
        * loader/Cache.cpp:
        (WebCore::createResource):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::data):
        (WebCore::CachedResource::didAddClient):
        * loader/CachedResource.h:
        (WebCore::CachedResource::):
        (WebCore::CachedResource::error):
        (WebCore::CachedResource::isPrefetch):
        (WebCore::CachedResource::schedule):
        * loader/CachedScript.cpp:
        * loader/CachedScript.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestLinkPrefetch):
        (WebCore::DocLoader::canRequest):
        (WebCore::DocLoader::incrementRequestCount):
        (WebCore::DocLoader::decrementRequestCount):
        * loader/DocLoader.h:
        * loader/loader.cpp:
        (WebCore::cachedResourceTypeToTargetType):
        (WebCore::Loader::determinePriority):
        (WebCore::Loader::load):
        (WebCore::Loader::Host::servePendingRequests):
        (WebCore::Loader::Host::didFinishLoading):
        (WebCore::Loader::Host::didFail):
        (WebCore::Loader::Host::didReceiveResponse):
        (WebCore::Loader::Host::cancelPendingRequests):
        * loader/loader.h:
        (WebCore::Loader::):
        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::):

2010-07-09  James Robinson  <jamesr@chromium.org>

        Unreviewed build fix.  Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.

        * html/HTMLCanvasElement.cpp:

2010-07-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Adler.

        Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
        https://bugs.webkit.org/show_bug.cgi?id=42005

        http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
        The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas.  However,
        there is no OffscreenCanvas and there's unlikely to be one soon.  Additionally CanvasSurface breaks
        encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)".  Until an abstraction is
        really needed we should just use HTMLCanvasElement when we want to talk about a canvas.

        This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
        to be a bit more logical.

        Refactor with no behavior change, thus no new tests.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/CanvasSurface.cpp: Removed.
        * dom/CanvasSurface.h: Removed.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::willDraw):
        (WebCore::HTMLCanvasElement::setSurfaceSize):
        (WebCore::HTMLCanvasElement::toDataURL):
        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
        (WebCore::HTMLCanvasElement::securityOrigin):
        (WebCore::HTMLCanvasElement::styleSelector):
        (WebCore::HTMLCanvasElement::createImageBuffer):
        (WebCore::HTMLCanvasElement::drawingContext):
        (WebCore::HTMLCanvasElement::buffer):
        (WebCore::HTMLCanvasElement::baseTransform):
        * html/HTMLCanvasElement.h:
        (WebCore::HTMLCanvasElement::setObserver):
        (WebCore::HTMLCanvasElement::width):
        (WebCore::HTMLCanvasElement::height):
        (WebCore::HTMLCanvasElement::size):
        (WebCore::HTMLCanvasElement::toDataURL):
        (WebCore::HTMLCanvasElement::setOriginTainted):
        (WebCore::HTMLCanvasElement::originClean):
        (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):

2010-07-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Calling layoutTestController.layerTreeAsText() should update layout
        https://bugs.webkit.org/show_bug.cgi?id=41818
        
        Need to call updateLayout() before we check for any layers, not after,
        since layout will update compositing, and may create layers.

        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):

2010-07-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        bufferSubData causes crash in WebGLBuffer::associateBufferSubData
        https://bugs.webkit.org/show_bug.cgi?id=42004

        Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::associateBufferData):
         - Allocate m_elementArrayBuffer for entry point taking only size.
           Guard against allocation failures of m_elementArrayBuffer.
        (WebCore::WebGLBuffer::associateBufferSubData):
         - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.

2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, but pre-approved by Eric Seidel.

        Remove unnecessary includes in header files in WebCore/css.
        https://bugs.webkit.org/show_bug.cgi?id=41941

        * css/CSSComputedStyleDeclaration.h:
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        * css/CSSPrimitiveValueMappings.h:
        * css/StyleMedia.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Get rid of manual case maps in HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=42000

        No functional change, thus no tests.

        * html/HTMLTreeBuilder.cpp:

2010-07-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement performance.timing.navigationStart
        https://bugs.webkit.org/show_bug.cgi?id=41815

        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadWithDocumentLoader):
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/Timing.cpp:
        (WebCore::Timing::navigationStart):

2010-07-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
        https://bugs.webkit.org/show_bug.cgi?id=41954

        Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
        implementation of GraphicsLayerQt::syncCompositingState and which targets
        the current layer only.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
        * platform/graphics/qt/GraphicsLayerQt.h:

2010-07-09  David Kozub  <zub@linux.fjfi.cvut.cz>

        Reviewed by Darin Adler.

        Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.

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

        No functional changes, thus no tests.

        * CMakeLists.txt:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix SVG tag name casing for HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41998

        Tested by html5lib/runner.html

        * html/HTMLTreeBuilder.cpp:
        (WebCore::):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement SVG attribute case mapping for HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41949

        Tested by html5lib/runner.html.

        * html/HTMLTreeBuilder.cpp:

2010-07-09  Andy Estes  <aestes@apple.com>

        Reviewed by Adele Peterson.

        Remove the workaround for a Core Animation bug on platforms where the
        bug has been fixed.
        https://bugs.webkit.org/show_bug.cgi?id=41927
        <rdar://problem/7920153>

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
        a compile-time check for platforms that have a Core Animation bug that
        needs working around.

2010-07-08  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Nate Chapin.

        Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
        https://bugs.webkit.org/show_bug.cgi?id=41332

        Test: fast/dom/webtiming.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::frameLoadTimeline):
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):
        * page/Timing.cpp:
        (WebCore::Timing::navigationStart):
        (WebCore::Timing::unloadEventEnd):
        (WebCore::Timing::loadEventStart):
        (WebCore::Timing::loadEventEnd):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, but pre-approved by Eric Seidel.

        Remove all unnecessary includes from the header files in WebCore/accessibility/.
        https://bugs.webkit.org/show_bug.cgi?id=41941

        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityListBox.cpp:
        * accessibility/AccessibilityListBox.h:
        * accessibility/AccessibilityMenuList.h:
        * accessibility/mac/AccessibilityObjectWrapper.h:

2010-07-09  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for EventHandlerWin
        https://bugs.webkit.org/show_bug.cgi?id=41909

        Use Clipboard.h instead of ClipboardWin.h on WinCE.

        * page/win/EventHandlerWin.cpp:

2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r62946.
        http://trac.webkit.org/changeset/62946
        https://bugs.webkit.org/show_bug.cgi?id=41965

        AppCache inspector support should be enabled in WebKit ToT.
        (Requested by pfeldman_ on #webkit).

        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Implement MathML mathcolor & mathbackground attributes
        https://bugs.webkit.org/show_bug.cgi?id=41895

        Test: mathml/presentation/attributes.xhtml

        * dom/MappedAttributeEntry.h:
        (WebCore::):
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::MathMLElement):
        (WebCore::MathMLElement::mapToEntry):
        (WebCore::MathMLElement::parseMappedAttribute):
        * mathml/MathMLElement.h:
        * mathml/mathattrs.in:

2010-07-09  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Fix characters with unicode-bidi-mirror property are not correctly
        mirrored in Linux.
        https://bugs.webkit.org/show_bug.cgi?id=41305

        Since harfbuzz does not do mirroring, chromium should iterate each
        character in the string and mirror it if needed before passing the
        string to harfbuzz for shaping.

        Test: fast/text/international/bidi-mirror-he-ar.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::mirrorCharacters):


2010-07-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Simon Fraser.

        Instantiate Netscape plug-ins, pass geometry information to Plugin
        https://bugs.webkit.org/show_bug.cgi?id=41960

        * WebCore.exp.in:
        Export ScrollView::contentsToWindow.

2010-07-09  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for FrameWince after r47440
        https://bugs.webkit.org/show_bug.cgi?id=41904

        * page/wince/FrameWince.cpp: Added property svn:eol-style.
        (WebCore::computePageRectsForFrame):
        (WebCore::imageFromSelection):

2010-07-09  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Call JS gc in a fresh context to avoid retaining the current one.
        https://bugs.webkit.org/show_bug.cgi?id=41963
        http://crbug.com/46571

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::collectGarbage):

2010-07-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Crash with uniform array test
        https://bugs.webkit.org/show_bug.cgi?id=36028

        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):
         - Fixed type tests and casting of incoming arrays.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform):
         - Fixed crash when null WebGLUniform is passed to getUniform.

2010-07-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX:  text editing not spoken by VO on web view contenteditable textbox
        https://bugs.webkit.org/show_bug.cgi?id=41912

        Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderObjectIsObservable):

2010-07-09  Michael Nordman  <michaeln@google.com>

        Reviewed by Dumitru Daniliuc.

        Use class ProgressEvent when raising appcache related progress events and
        set the 'total', 'loaded', and 'lengthComputable' attributes.
        Also raise the final progress event with the 'total' and 'loaded' attribute
        values are equal to one another to keep pace with the spec for this feature.
        https://bugs.webkit.org/show_bug.cgi?id=37602

        Test: http/tests/appcache/progress-counter.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
        (WebCore::ApplicationCacheHost::stopDeferringEvents):
        (WebCore::ApplicationCacheHost::dispatchDOMEvent):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):

2010-07-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        Reviewed by Gustavo Noronha Silva.

        Bug 41340 - [GStreamer] Subtle race condition during seeks
        https://bugs.webkit.org/show_bug.cgi?id=41340

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStop):
        (webKitWebSrcNeedDataMainCb):
        (webKitWebSrcNeedDataCb):
        (webKitWebSrcEnoughDataMainCb):
        (webKitWebSrcEnoughDataCb):
        (webKitWebSrcSeekDataCb):
        (StreamingClient::didFinishLoading):
        Fix two subtle race conditions that can happen during seeks:
        - The timeout callback could be called before the callback ID is
          assigned to the instance private data. This causes the ID to
          be set after the callback has finished and breaks all future
          processing.
        - The source must not go EOS while a seek is pending because
          this confuses appsrc due to the different threads involved here.

2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Removed hard-coded enabled default of video support

        Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.

        * WebCore.pri:

2010-07-09  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        [Arm] Missing NaN check in XPath substring function
        https://bugs.webkit.org/show_bug.cgi?id=41862

        Test: fast/xpath/substring-nan-position.html

        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunSubstring::evaluate): Add an isnan()
            to the value returned from evaluating the position
            argument and early out and return the empty string.

2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Prospective build fix.

        Moved the media element detection from WebCore.pro into WebCore.pri, where
        all the features are detected. This is also used by build-webkit to determine
        the defaults, which may be the reason for the build breakage.

        * WebCore.pri:
        * WebCore.pro:

2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Re-enable support for QtMultimediaKit as backend for the media elements

        Experimental support is re-enabled if QtMobility is available and the Qt
        version is 4.7 or above.

        * WebCore.pro:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::totalBytes):

2010-07-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not show default tooltip when detailed network info is available.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.showResource):
        (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
        (WebInspector.ResourcesPanel.prototype._showPopover):
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):

2010-07-09  François Sausset  <sausset@gmail.com>

        Reviewed by Beth Dakin.

        Correct the default font variant of mtext (regular instead of italic).
        https://bugs.webkit.org/show_bug.cgi?id=41626

        Add test to be sure that only <mi> elements use italic fonts by default.
        Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).

        * css/mathml.css:
        (mi):

2010-07-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement performance.navigation.type
        https://bugs.webkit.org/show_bug.cgi?id=41564

        Tests: fast/dom/navigation-type-back-forward.html
               fast/dom/navigation-type-navigate.html
               fast/dom/navigation-type-reload.html

        * page/Navigation.cpp:
        (WebCore::Navigation::type):
        * page/Navigation.h:
        (WebCore::Navigation::):
        * page/Navigation.idl:

2010-07-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: hide AppCache until implemented.

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

        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Set the good default behaviour for the columalign attribute on MathML mtable element
        https://bugs.webkit.org/show_bug.cgi?id=41631

        Test update: mathml/tables.xhtml

        * css/mathml.css:
        (math):

2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r62937.
        http://trac.webkit.org/changeset/62937
        https://bugs.webkit.org/show_bug.cgi?id=41955

        Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
        /xslt-relative-path.xml, with assertion in
        XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
        #webkit).

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::docLoaderFunc):
        (WebCore::setXSLTLoadCallBack):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-09  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        NotificationPresenter needs a cancelRequestPermission API
        https://bugs.webkit.org/show_bug.cgi?id=41783

        Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
        Added new API NotificationPresenter::cancelRequestsForPermision
        The new API will be implemented and a test will be added in a followup patch.

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::checkPermission):
        (WebCore::NotificationCenter::requestPermission):
        (WebCore::NotificationCenter::disconnectFrame):
        * notifications/NotificationCenter.h:
        * notifications/NotificationPresenter.h:

2010-07-09  Andreas Wictor  <andreas.wictor@xcerion.com>

        Reviewed by Alexey Proskuryakov.

        Remove global variables from XSLTProcessorLibxslt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41348

        Remove the globalProcessor and globalDocLoader global variables
        by using the _private field that exists on most libxml structs.

        No new tests, existing tests covers this.

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::sourceNode):
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::registeredXSLTProcessors):
        (WebCore::registeredXSLStyleSheets):
        (WebCore::docLoaderFunc):
        (WebCore::clearSavedStyleSheetPointers):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Unreviewed build fix.

        We recently taught the HTMLTokenizer to recognize self-closing tags,
        <http://trac.webkit.org/changeset/62926>, but that confused the
        LegacyHTMLTreeBuilder.  It turns out that it's much happier if we never
        say a tag is self-closing.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::convertToOldStyle):

2010-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
        https://bugs.webkit.org/show_bug.cgi?id=41931

        Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
        The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.

        Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::recalcStyle):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
        (WebCore::SVGUseElement::invalidateShadowTree):
        * svg/SVGUseElement.h:
        (WebCore::SVGUseElement::setUpdatesBlocked):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Skip leading newlines in <textarea>
        https://bugs.webkit.org/show_bug.cgi?id=41947

        We would have caught this earlier with the ASSERT.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-07-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Provide detailed network info in the resources panel.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/InspectorResource.h:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
        (WebInspector.ResourcesPanel.prototype._showPopover):
        (WebInspector.ResourcesPanel.prototype.hide):
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
        (WebInspector.ResourceGraph):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * platform/network/ResourceLoadTiming.h:
        (WebCore::ResourceLoadTiming::create):
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::reportLoadTiming):
        (WebCore::ResourceRequestBase::setReportLoadTiming):
        (WebCore::ResourceRequestBase::ResourceRequestBase):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::connectionID):
        (WebCore::ResourceResponseBase::setConnectionID):
        * platform/network/ResourceResponseBase.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement self closing start tag state in the tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=41946

        Amazingly we got this far w/o needing self closing.
        The LegacyHTMLTreeBuilder clearly uses the self-closing
        state, but the fact that we never exposed it seems to
        not have caused any test failures.  Sad.

        The new HTMLTreeBuilder only needs the self closing state
        for foreign content mode (and a few parse error cases).

        * html/HTMLToken.h:
        (WebCore::HTMLToken::setSelfClosing):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic "in foreign content" support to the TreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41943

        This is covered by numerous tests in html5lib/runner.html.

        "in foreign content" mode requires us to be able to process
        tokens using the "secondary insertion mode".  We have to set
        a fake insertion mode to do that, so much of this code is enabling
        setting of fake insertion modes, and then later restoration of the
        insertion mode after execution.

        There is a lot more of foreign content mode to implement, but this is
        a good start resulting in huge test progressions.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
         - Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
         - No need to include HTMLElementFactory in this file.
        * html/HTMLConstructionSite.h:
         - RedirectToFosterParentGuard does not need to be a friend class.
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::setInsertionMode):
        (WebCore::HTMLTreeBuilder::isFakeInsertionMode):
        (WebCore::HTMLTreeBuilder::setFakeInsertionMode):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Coalesce text nodes when foster parenting
        https://bugs.webkit.org/show_bug.cgi?id=41921

        Introduces the notion of an AttachmentSite to the overall
        HTMLConstructionSite.  Maybe we should rename HTMLConstructionSite to
        HTMLConstructionArea since we construct things all over the tree?  :)

        There's something wrong in the internal layering in this class, but I
        can't quite see what it is.  I added a FIXME for the some of the
        symptoms.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::findFosterSite):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:

2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        RenderSVGRoot does not include border/padding while repainting
        https://bugs.webkit.org/show_bug.cgi?id=41854

        RenderSVGRoot does not include border/padding in the repaint rect.
        clippedOverflowRectForRepaint() was missing. Affects all DRT results,
        as <svg> now gets properly sized.

        Test: svg/custom/repaint-moving-svg-and-div.xhtml

        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
        * rendering/RenderSVGRoot.h:

2010-07-09  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880

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

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
                Add in timeRangesEnabled() implementation.
        * bindings/generic/RuntimeEnabledFeatures.h:
                Add in timeRangesEnabled() declaration.


2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add setInsertionMode setter in preparation for "in foreign content" mode
        https://bugs.webkit.org/show_bug.cgi?id=41942

        "in foreign content" mode needs to be able to use a fake
        insertion mode for processing.  We need to be able to save the
        original insertion mode, set a fake one, and then restore the original
        if it wasn't changed.  To detect changes, we need all callsites to
        use a setInsertionMode accessor instead of m_insertionMode =

        No functional changes, thus no tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add insertForeignElement in preparation for adding "in foreign content" support
        https://bugs.webkit.org/show_bug.cgi?id=41940

        No functional changes, thus no tests.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertForeignElement):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/HTMLConstructionSite.h:

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implementing pending table characters
        https://bugs.webkit.org/show_bug.cgi?id=41916

        This turned out to not be as scary as I thought it would be.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
        * html/HTMLTreeBuilder.h:

2010-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Handle whitespace correctly
        https://bugs.webkit.org/show_bug.cgi?id=41907

        This patch introduces an extra memcpy in the character token pipeline.
        I'll remove the memcpy in a future patch.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertTextNode):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        * html/HTMLTreeBuilder.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move more mode handling into functions for later re-use
        https://bugs.webkit.org/show_bug.cgi?id=41939

        No functional changes, thus no tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add new popUntilPopped functions to clean up code
        https://bugs.webkit.org/show_bug.cgi?id=41936

        Pretty self explanatory.  Much awesome code reduction.

        No functional changes, thus no tests.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popUntilPopped):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just renaming (discussed with Adam Barth).

        Rename createElement* to createHTMLElement* to better reflect
        behavior.  This is in preparation for adding foreign content support.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just renaming (discussed with Adam Barth).

        Rename insertElement to insertHTMLElement and
        insertSelfClosingElement to insertSelfClosingHTMLElement
        to better reflect what they actually do.  This is in preparation
        for adding foreign content support.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertFormattingElement):
        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):

2010-07-08  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        Implement SVGSVGElement.getElementById
        https://bugs.webkit.org/show_bug.cgi?id=41655

        Implement getElementById for SVGSVGElement by trying to
        reuse Document.getElementById. If that fails to find an
        SVG element in the document fragent do a subtree search.

        Test: svg/custom/svg-getelementid.xhtml

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::getElementById):
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl:

2010-07-08  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Unwrap a few || blocks for easier readability
        https://bugs.webkit.org/show_bug.cgi?id=41838

        No functional change, thus no tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::adjustedLexerState):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

2010-07-08  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Simon Hausmann.

        [Qt] for debugging purposes nice I'm contributing back my FPS
        counter in the AnimationQtBase
        https://bugs.webkit.org/show_bug.cgi?id=40381

        Simply start a timer and count frames in the AnimationQtBase and
        spit out the FPS count at the end of a single animation.

        No new tests: this is a simple debugging aid.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::AnimationQt::updateState):
        (WebCore::AnimationQt::updateCurrentTime):
        (WebCore::TransformAnimationQt::updateState):
        (WebCore::OpacityAnimationQt::updateState):

2010-07-08  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Simon Hausmann.

        [Qt] instance objects created for QObjects are somtimes GC'd
        https://bugs.webkit.org/show_bug.cgi?id=40352

        In markAggregate loop over all the current fields and for any that
        still have a dynamic property or a child, mark them as
        well. Otherwise the proxy instance will go away and the JS that
        was bound to it will be lost.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getQtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        (JSC::Bindings::QtInstance::getPropertyNames):

2010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: migrate InspectorDOMAgent to the generated version of
        InspectorFrontend interface. This is the next step on the way to
        Remote Debugging.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        (WebCore::eventListenerHandlerLocation):
        * bindings/js/ScriptEventListener.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        (WebCore::eventListenerHandlerLocation):
        * bindings/v8/ScriptEventListener.h:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorFrontend2):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::setDocument):
        (WebCore::InspectorDOMAgent::handleEvent):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
        (WebCore::InspectorDOMAgent::getInlineStyle):
        (WebCore::InspectorDOMAgent::getComputedStyle):
        (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        (WebCore::InspectorDOMAgent::toArray):
        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontend2.idl:
        * inspector/front-end/inspector.js:
        (WebInspector.dispatchMessageFromBackend):

2010-07-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        compositing/iframes/iframe-resize.html displays incorrectly after the resize
        https://bugs.webkit.org/show_bug.cgi?id=41794
        
        The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
        from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
        layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
        call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
        and scroll layers of the iframe's content RenderLayerCompositor.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
        * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().

2010-07-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Calling layoutTestController.layerTreeAsText() should update layout
        https://bugs.webkit.org/show_bug.cgi?id=41818

        Call updateLayout() on the document before obtaining the layer tree.
        This will update compositing layers.
        
        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):

2010-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Get my head wrapped around processCharacter
        https://bugs.webkit.org/show_bug.cgi?id=41812

        The bulk of the patch is just stubbing out functions to document what
        the spec tells us to do.  I'll implement these functions in subsequent
        patches.

        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
        (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):

2010-07-08  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
        https://bugs.webkit.org/show_bug.cgi?id=30116
        Fixing the crash causes text insertions on hidden elements to get ignored
        (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342

        Test: editing/inserting/return-key-in-hidden-textarea.html

        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

2010-07-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
        TimeRanges should expose a JS constructor

        * html/TimeRanges.idl: Remove [OmitConstructor].
        * page/DOMWindow.idl: Add constructor.

2010-07-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        Add missing padding-end and margin-end CSS properties.
        https://bugs.webkit.org/show_bug.cgi?id=25761

        Tests: fast/css/margin-start-end.html
               fast/css/padding-start-end.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):

2010-07-08  Aaron Boodman  <aa@chromium.org>

        Reviewed by Timothy Hatcher.

        Add the ability for user scripts and user styles to affect just the top frame.

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

        Tests: userscripts/user-script-all-frames.html
               userscripts/user-script-top-frame-only.html
               userscripts/user-style-all-frames.html
               userscripts/user-style-top-frame-only.html

        * WebCore.base.exp: Update PageGroup method signatures.
        * dom/Document.cpp:
        (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
        * page/Frame.cpp:
        (WebCore::Frame::injectUserScriptsForWorld): Ditto.
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserScriptToWorld):
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        * page/PageGroup.h:
        * page/UserScript.h:
        (WebCore::UserScript::UserScript):
        (WebCore::UserScript::injectedFrames):
        * page/UserScriptTypes.h:
        (WebCore::):
        * page/UserStyleSheet.h:
        (WebCore::UserStyleSheet::UserStyleSheet):
        (WebCore::UserStyleSheet::injectedFrames):

2010-07-08  Adele Peterson  <adele@apple.com>

        Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
        <rdar://problem/8158561> Missing plug-in indicator should have a pressed state

        Test: plugins/clicking-missing-plugin-fires-delegate.html

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
        (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
        (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::isCapturingMouseEvents):
        (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::replacementTextRoundedRectPressedColor):
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
        (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added.  Causes a repaint when the state changes.
        (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
        (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
        (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
        * rendering/RenderEmbeddedObject.h:

2010-07-08  James Robinson  <jamesr@google.com>

        Reviewed by Darin Fisher.

        Allow resizing and getting the texture id from an offscreen GLES2Context
        https://bugs.webkit.org/show_bug.cgi?id=41828

        When using an offscreen GLES2Context the caller needs to be able to resize the backing store
        managed by the embedder and get access to a texture id to pass to the compositor.  WebGL
        does these actions in an indirect way, it will be refactored to use this path.

        * platform/chromium/GLES2Context.h:

2010-07-02  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        Crash in RenderObject::containingBlock when clearing selection in a display:none node.
        https://bugs.webkit.org/show_bug.cgi?id=41523

        updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
        m_selectionStart and m_selectionEnd in RenderView point to garbage object.
        This fixes the crash because updateStyleIfNeeded clears the selection before
        clobbering nodes that contain the selection.

        Test: editing/selection/crash-on-clear-selection.html

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

2010-07-08  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Xan Lopez.

        Correct a mistake in calculating squiggle extents.  The entire
        quantity was being divided by two, rather than just the unitWidth.
        This error caused the squiggle to be about half the expected length.

        * platform/graphics/cairo/DrawErrorUnderline.h:
        (drawErrorUnderline):

2010-07-08  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Navigation policy doesn't play nicely with pepper plugins
        https://bugs.webkit.org/show_bug.cgi?id=41864

        * bindings/v8/V8Utilities.cpp:
        (WebCore::callingOrEnteredFrame):
        (WebCore::shouldAllowNavigation):
        (WebCore::navigateIfAllowed):

2010-07-08  Jon Honeycutt  <jhoneycutt@apple.com>

        Missing plug-ins may cause an assertion failure.
        https://bugs.webkit.org/show_bug.cgi?id=41900

        Reviewed by Adele Peterson.

        Test: plugins/missing-plugin.html

        * plugins/PluginView.cpp:
        (WebCore::PluginView::~PluginView):
        Check whether m_instance is null before trying to remove it from the
        map. Trying to remove a null instance results in an assertion failure.
        (WebCore::PluginView::PluginView):
        Initialize m_instance to 0, because there is an early return that may
        skip its being assigned its proper value.

2010-07-08  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Fix a test failure seen only on the Leopard bot.

        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        If SharedWorker::create returns an exception, don't try to create a wrapper
        for its return value, which can be 0.

2010-07-08  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed, build break fix for chromium.

        A new MediaControlElementType enum was added which caused a warning in
        the Chromium build.

        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
            Add MediaVolumeSliderMuteButton enumartion entry.

2010-07-08  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
        https://bugs.webkit.org/show_bug.cgi?id=41878

        This is practically a rollback of http://trac.webkit.org/changeset/50477.

        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Navigator.cpp:
        * page/Navigator.h:
        * page/Navigator.idl:

2010-07-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Darin Adler.

        Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
        https://bugs.webkit.org/show_bug.cgi?id=41823

        Create the ResourceHandle manually for now instead of calling
        ::create, since that methods does a few extra checks that make us
        fail a couple of HTTP tests.

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

2010-07-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=41886
        Shorten access control failure explanation messages

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::passesAccessControlCheck):
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
        Removed "response header field" parts from error text - it's long, but doesn't add much
        to header field name.

        * platform/network/ResourceErrorBase.cpp:
        * platform/network/ResourceErrorBase.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFail):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::preflightFailure):
        Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
        clients, because it can't create a platform error, and cannot load a localized string.
        We don't treat cross origin access check failures as true loading failures, so we don't tell
        clients about these.

2010-07-08  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Mac OS X media controls should have a way to adjust volume incrementally
        https://bugs.webkit.org/show_bug.cgi?id=41718
        <rdar://problem/5679472>

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.

        * css/CSSSelector.cpp: 
        (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
        (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
        (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.

        * css/CSSSelector.h:
        (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.

        * css/CSSValueKeywords.in: Define media-volume-slider-mute-button.

        * css/mediaControls.css: 
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.

        * css/mediaControlsQuickTime.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" 
        so volume slider pop-up will be visible.

        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make 
        mute button 14x12 instead of 15x14 so it matches the size in the volume slider.

        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 
        New.

        * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation 
        parameter both mute buttons can be created.
        (WebCore::MediaControlMuteButtonElement::create): Ditto.

        * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.

        * rendering/RenderMedia.cpp: 
        (WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
        (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
        (WebCore::RenderMedia::createVolumeSliderMuteButton): New.
        (WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
        (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
        the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
        (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
        * rendering/RenderMedia.h:

        * rendering/RenderTheme.cpp: 
        (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
        coded in RenderMedia::updateVolumeSliderContainer.
        * rendering/RenderTheme.h:

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
        (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function 
        for this button.
        (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
        (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
        (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
        using the new controller UI for a movie that has audio.
        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider 
        directly above the mute button.

        * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.

2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed complementary fix for r62815

        One last time change made me blind to a "!" in a if statment.

        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):

2010-07-07  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
        https://bugs.webkit.org/show_bug.cgi?id=32605

        Only have selections be non-directional when they are set via the mouse.
        Otherwise, all selections are directional.

        Test: editing/selection/extend-forward-after-set-base-and-extent.html

        * WebCore.base.exp:
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        * editing/SelectionController.h:
        (WebCore::SelectionController::setSelection):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::updateSelectionForMouseDrag):

2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Ojan Vafai.

        Refactor platform dependent editing behavior code out of Settings (part II)
        https://bugs.webkit.org/show_bug.cgi?id=39854

        Mac port is currently the only port relying on a style to be present on the start
        of a selection to consider the style as applied or not. All other ports
        have to have the style present in all text node of the selection for such.

        Patch makes situations that depend on this check like this to be controlled by
        the EditingBehavior class.

        Refactoring, so no new tests needed.

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):

2010-07-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add stubbed out PluginView class
        https://bugs.webkit.org/show_bug.cgi?id=41879

        Export functions needed by WebKit2.

        * WebCore.exp.in:

2010-07-08  Ben Murdoch  <benm@google.com>

        Reviewed by Pavel Feldman.

        Fix build break in V8ConsoleCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=40825

        No new tests as just fixing a build break.

        * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
            appropriately.

2010-07-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Pass Page to BackForwardControllerClient::createBackForwardList since it
        may be called before implementations of BackForwardControllerClient have
        access to a Page.

        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        * history/BackForwardControllerClient.h:

2010-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r62778.
        http://trac.webkit.org/changeset/62778
        https://bugs.webkit.org/show_bug.cgi?id=41866

        Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
        by pfeldman on #webkit).

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):

2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        Fix adoptRef usage violation in IDBObjectStoreRequest
        https://bugs.webkit.org/show_bug.cgi?id=41869

        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):

2010-07-08  Sam Weinig  <sam@webkit.org>

        Another chromium build fix.

        * history/BackForwardListChromium.cpp:
        (WebCore::BackForwardListImpl::goBack):
        (WebCore::BackForwardListImpl::goForward):
        (WebCore::BackForwardListImpl::backListWithLimit):
        (WebCore::BackForwardListImpl::forwardListWithLimit):
        (WebCore::BackForwardListImpl::containsItem):
        (WebCore::BackForwardListImpl::removeItem):

2010-07-08  Sam Weinig  <sam@webkit.org>

        Fix Chromium build.

        * WebCore.gyp/WebCore.gyp:

2010-07-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
        Convert BackForwardList to an abstract base class and add BackForwardListImpl
        as the concrete implementation of it.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        * history/BackForwardController.h:
        * history/BackForwardList.cpp: Removed.
        * history/BackForwardList.h:
        (WebCore::BackForwardList::~BackForwardList):
        (WebCore::BackForwardList::isBackForwardListImpl):
        (WebCore::BackForwardList::BackForwardList):
        * history/BackForwardListChromium.cpp:
        * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
        * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
        (WebCore::BackForwardListImpl::isBackForwardListImpl):

2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        Fix adoptRef usage violations (mostly in chromium)
        https://bugs.webkit.org/show_bug.cgi?id=41863

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
        * bindings/v8/V8NodeFilterCondition.h:
        (WebCore::V8NodeFilterCondition::create):
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::V8HTMLFormElement::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::V8HTMLSelectElement::namedPropertyGetter):
        * bindings/v8/custom/V8NamedNodesCollection.h:
        (WebCore::V8NamedNodesCollection::create):
        (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):

2010-07-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Silence a few noisy build rules.

        * GNUmakefile.am:

2010-07-08  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Canvas putImageData() resets painter state
        https://bugs.webkit.org/show_bug.cgi?id=41827

        Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=

        Test: fast/canvas/canvas-state-intact-after-putImageData.html

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::putImageData):

2010-07-08  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
        into an input field.
        https://bugs.webkit.org/show_bug.cgi?id=41760

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2010-07-08  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for EventHandler
        https://bugs.webkit.org/show_bug.cgi?id=41829

        SM_MENUDROPALIGNMENT isn't supported on WinCE.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):

2010-07-08  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Fix characters with unicode-bidi-mirror property are not correctly
        mirrored in Linux.
        https://bugs.webkit.org/show_bug.cgi?id=41305

        Since harfbuzz does not do mirroring, chromium should iterate each
        character in the string and mirror it if needed before passing the
        string to harfbuzz for shaping.

        Test: fast/text/international/bidi-mirror-he-ar.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):

2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis & Dirk Schulze.

        SVG text transformed incorrectly when a transform and gradient applied
        https://bugs.webkit.org/show_bug.cgi?id=41563

        When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
        renders the text into the image, and then clips the current context against that image buffer,
        and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
        try to compute the right transformation matrix (which failed), but extract it directly from the
        GraphicsContext and apply this transformation to the mask image context.

        Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
        Only affects CoreGraphics platforms.

        Test: svg/custom/text-rotated-gradient.svg

        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::absoluteTransformFromContext):
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):

2010-07-07  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Crash when re-entering message loop
        https://bugs.webkit.org/show_bug.cgi?id=41697

        A Chromium-specific test case will be submitted into Chromium shortly.

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        * page/PageGroupLoadDeferrer.h:
        (WebCore::PageGroupLoadDeferrer::nextDeferrer):

2010-07-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: skip breakpoints when script is already paused
        https://bugs.webkit.org/show_bug.cgi?id=41768

        Test: inspector/debugger-no-nested-pause.html

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

2010-07-08  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
        https://bugs.webkit.org/show_bug.cgi?id=41807

        Wow.  This was an awful bug.  We were always taking the slow case
        every time we parsed a URL.  This is about a 10% speedup on our
        parsing benchmark, and might cause as much as a 1% speedup for Apple's
        PLT (even though I can't run that).

        We still spend a lot of time in deprecatedParseURL.  We might consider
        inlining it if its being kept around much longer.

        No behavioral change, just fixing a broken optimization.

        * css/CSSHelper.cpp:
        (WebCore::deprecatedParseURL):
         - We only need to strip characters <= '\r', not >.

2010-07-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: factor out common part of debugger tests
        https://bugs.webkit.org/show_bug.cgi?id=41836

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.

2010-07-08  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
        https://bugs.webkit.org/show_bug.cgi?id=41803

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):

2010-07-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Nate Chapin.

        [V8] Fix document wrapper memory leak in bindings.
        https://bugs.webkit.org/show_bug.cgi?id=41771

        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
        to shadowConstructor because it keeps the first context alive forever.

2010-07-07  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Enable smooth pixmap transforms by default
        https://bugs.webkit.org/show_bug.cgi?id=41774

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

2010-07-07  Jesus Sanchez-Palencia  <jesus@webkit.org>

        Reviewed by Antti Koivisto.

        [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41767

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include

2010-07-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
        https://bugs.webkit.org/show_bug.cgi?id=41755

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-07-07  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Dimitri Glazkov.
        https://bugs.webkit.org/show_bug.cgi?id=41580

        Fix rendering of radial gradients in skia if both points of the
        gradient are the same and r0 > 0.

        Test: fast/gradients/radial-centered.html

        * platform/graphics/skia/GradientSkia.cpp:
        (WebCore::Gradient::platformGradient):

2010-06-18  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        https://bugs.webkit.org/show_bug.cgi?id=26526
        Add support for input events (oninput) to contentEditable elements
        
        Made a default event handler on the Node to dispatch an input event when
        webkitEditableContentChanged arrived.
        
        Test: fast/events/event-input-contentEditable.html

        * dom/Node.cpp:
        (WebCore::Node::defaultEventHandler):

2010-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
        https://bugs.webkit.org/show_bug.cgi?id=41823

        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
        of allocating an object on the stack.
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
        allocating an object on the stack.

2010-07-07  Joseph Pecoraro  <joepeck@webkit.org>

        Rubber-stamped by Pavel Feldman.

        Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
        https://bugs.webkit.org/show_bug.cgi?id=41759

        * inspector/CodeGeneratorInspector.pm:

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
        https://bugs.webkit.org/show_bug.cgi?id=41810

        Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
        https://bugs.webkit.org/show_bug.cgi?id=41806

        Test: platform/mac/accessibility/table-with-row-col-of-headers.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
        when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Fix the MathML build.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.

2010-07-07  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Dimitri Glazkov.

        Move setSuggestedValue() and suggestedValue() back to public as it's
        now used by WebInputElement.
        https://bugs.webkit.org/show_bug.cgi?id=41785

        No new tests, as the method is only being used by Chromium's WebKit
        API.

        * html/HTMLInputElement.h:

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Clean up the project file slightly.

        Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-07  James Robinson  <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>

        Reviewed by Dimitri Glazkov.

        WebCore::GLES2Context should allow creating onscreen and offscreen contexts
        https://bugs.webkit.org/show_bug.cgi?id=41492

        You should be able to create a GLES2Context for rendering both on screen
        and off screen (to a texture).  Chromium's layer renderer (used for compositing)
        does the former.  Currently WebGL does the latter by side stepping the
        WebCore::GLES2Context API completely.  Longer term it should move over to using this.

        * platform/chromium/GLES2Context.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initGL):

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

        Reviewed by Dan Bernstein.

        Document::ownerElement() should return an HTMLFrameOwnerElement
        https://bugs.webkit.org/show_bug.cgi?id=41789

        Change return type of RenderLayerCompositor::enclosingIFrameElement() to
        HTMLFrameOwnerElement*. No behavioral changes.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
        (WebCore::RenderLayerCompositor::enclosingIFrameElement):
        * rendering/RenderLayerCompositor.h:

2010-07-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Add reverseFind to Vector and deploy in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=41778

        This patch moves reverseFind from begin an
        HTMLFormattingElementList-specific concept to begin a general Vector
        concept.  Also, instead of using Entry as the type for operator==, we
        now use elements directly.  The old code compiled because the Entry
        constructor wasn't explicit, which means we were churning refs on every
        comparison!

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::find):
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::insertAt):
        (WebCore::HTMLFormattingElementList::remove):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Entry::operator==):
        (WebCore::HTMLFormattingElementList::Entry::operator!=):

2010-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Turn on adoptRef assertion for RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=41547

        The WebCore part of this fixes all the assertions I saw in testing.

        * html/FileReader.cpp:
        (WebCore::FileReader::readAsBinaryString): Added null checks.
        Callers from JavaScript can pass the wrong type, which becomes null.
        (WebCore::FileReader::readAsText): Ditto.
        (WebCore::FileReader::readAsDataURL): Ditto.

        * html/FileStreamClient.h: Removed unneeded include.

        * html/FileStreamProxy.cpp:
        (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
        some of the code, including the ref, into the create function.
        (WebCore::FileStreamProxy::create): Moved some of the code from
        the constructor here. It's safe to ref once the object has been
        created and adopted.

        * html/FileStreamProxy.h: Changed create function to no longer be
        inlined. Also removed an unneeded include.

        * page/EventSource.cpp:
        (WebCore::EventSource::EventSource): Made inline, changed arguments
        and moved code that involves the need to ref this object into the
        create function. Also moved failure handling out there since it's
        cleaner to have a function that fails than a constructor. For
        example, the function can return 0.
        (WebCore::EventSource::create): Moved some of the code from the
        constructor here.

        * page/EventSource.h: Removed unneeded includes. Made the
        creation function non-inline. Changed the arguments to the constructor.

        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
        code that requires ref'ing this object out to the create function.
        (WebCore::StorageAreaSync::create): Moved some of the code from the
        constructor here.

        * storage/StorageAreaSync.h: Removed unneeded includes. Changed
        the type of one of the constructor arguments from String to
        const String&.

        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
        the setup code out of here into the create function.
        (WebCore::SharedWorker::create): Moved the code here.

        * workers/SharedWorker.h: Removed unneeded includes. Made the
        create function non-inline. Marked the toSharedWorker override private
        to catch people doing an unnecessary virtual function call if they
        already have a SharedWorker*.

        * workers/Worker.cpp:
        (WebCore::Worker::Worker): Made inline. Moved most of the setup code
        out of here into the create function.
        (WebCore::Worker::create): Moved the code here.

        * workers/Worker.h: Made the create function non-inline. Changed
        the arguments to the constructor.

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: when a node's role changes, the AX tree might need to be updated
        https://bugs.webkit.org/show_bug.cgi?id=41784

        Test: platform/mac/accessibility/update-children-when-aria-role-changes.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
        https://bugs.webkit.org/show_bug.cgi?id=41780

        Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
           Fallback to textUnderElement() if text() does not return any explicitly set text.
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 
           Remove erroneous check to ignore text elements that didn't have a explicit text value.

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

        Reviewed by Darin Adler.

        Document::ownerElement() should return an HTMLFrameOwnerElement
        https://bugs.webkit.org/show_bug.cgi?id=41789

        Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
        type checking. No behavioral changes.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        * dom/Document.cpp:
        (WebCore::Document::ownerElement):
        * dom/Document.h:
        * editing/SelectionController.cpp:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderView.cpp:

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

        Reviewed by Dan Bernstein.

        REGRESSION: GMail becomes blank after closing other tabs
        https://bugs.webkit.org/show_bug.cgi?id=40421

        RenderLayerCompositor's attach/detachRootPlatformLayer methods use
        setNeedsStyleRecalc() in order to trigger acclerated compositing layers
        to be hooked together across iframe boundaries. However, it was possible
        for these to get called while inside of Document::recalcStyle(), which
        is bad because it can cause the recalc to fail to get processed.
        
        Fix this by using the existing queuePostAttachCallback() functionality
        to delay the call to setNeedsStyleRecalc() if post-attach callbacks 
        are suspended (indicating that we're inside recalcStyle()).
        
        No new tests because I wasn't able to make a test that shows the problem.

        * dom/ContainerNode.h: Make queuePostAttachCallback() public.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
        whether s_attachDepth is non-zero.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
        instead of setNeedsStyleRecalc().
        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
        (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
        (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
        * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().

2010-07-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect compositing order with negative z-index
        https://bugs.webkit.org/show_bug.cgi?id=38959
        
        When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
        (indicating that they are used for the background of elements with negative z-index children),
        we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
        they appear behind composited negative-z-order descendants.

        Test: compositing/z-order/negative-z-index.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):

2010-07-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect compositing order with negative z-index
        https://bugs.webkit.org/show_bug.cgi?id=38959

        Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
        No behavioral changes.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):

2010-07-07  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Fix ASSERT in Eric's previous patch.  I think he tested his patch in
        Release and not Debug.

        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Entry::Entry):
        (WebCore::HTMLFormattingElementList::findIndex):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Grease the TreeBuilder's lightning
        https://bugs.webkit.org/show_bug.cgi?id=41756

        Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
        This makes performance comparable to the old parser.

        We have not begun to fight!  There is so much fat left on these bones.

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::find):
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::insertAt):
        (WebCore::HTMLFormattingElementList::remove):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::findIndex):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder is way too slow
        https://bugs.webkit.org/show_bug.cgi?id=41754

        This takes us from 14s to 7s on our parsing benchmark.
        That's still much slower than the old tree builder, but there
        is a huge amount of fat left to trim.

        Vector<T> wasn't able to inline all the Entry functions when
        they were buried in the cpp.  Turns out the active formatting elements
        list is very hot.

        I'm not sure Vector<T> is going to be the right data structure for us
        in the end, but it has done alright for bring-up.

        * html/HTMLFormattingElementList.cpp:
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Entry::Entry):
        (WebCore::HTMLFormattingElementList::Entry::~Entry):
        (WebCore::HTMLFormattingElementList::Entry::isMarker):
        (WebCore::HTMLFormattingElementList::Entry::element):
        (WebCore::HTMLFormattingElementList::Entry::replaceElement):
        (WebCore::HTMLFormattingElementList::Entry::operator==):
        (WebCore::HTMLFormattingElementList::Entry::operator!=):

2010-07-06  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        More OwnPtr work, including making clear set the pointer to 0 before deletion
        https://bugs.webkit.org/show_bug.cgi?id=41727

        * WebCore.exp.in: Updated.

        * css/CSSSelector.h:
        (WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
        (WebCore::CSSSelector::createRareData): Ditto.
        * dom/SpaceSplitString.h:
        (WebCore::SpaceSplitString::SpaceSplitString): Ditto.
        (WebCore::SpaceSplitString::set): Ditto.
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): Ditto.
        (WebCore::CachedFrame::setCachedFramePlatformData): Ditto.

        * history/CachedFrame.h: Use PassOwnPtr.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::CallCacheListenerTask::create): Use adoptPtr.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
        * platform/PurgeableBuffer.h:
        (WebCore::PurgeableBuffer::create): Ditto.
        * platform/graphics/GlyphMetricsMap.h:
        (WebCore::::locatePageSlowCase): Ditto.
        * platform/graphics/GraphicsLayer.h:
        (WebCore::AnimationValue::AnimationValue): Ditto.
        (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayer::create): Ditto.
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::boundsForGlyph): Ditto.
        * platform/mac/PurgeableBufferMac.cpp:
        (WebCore::PurgeableBuffer::create): Ditto.
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
        (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::floats): Ditto.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::inheritAnimations): Ditto.
        (WebCore::InheritedFlags::inheritTransitions): Ditto.

        * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.

2010-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
        Add basic piping for BackForwardControllerClient.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        * history/BackForwardControllerClient.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-07-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix after r62577.

        [EFL] build fix after r62577
        https://bugs.webkit.org/show_bug.cgi?id=41764

        No new functionality so no new tests.

2010-07-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Scrollbars sometimes go dead and stop scrolling the view
        https://bugs.webkit.org/show_bug.cgi?id=41711

        Rework the setGtkAdjustment function slightly, make it have an
        early return, and be more readable.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setGtkAdjustments):

2010-07-07  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Updating Android to use the UserGestureIndicator class instead of Android specific code.
        The rest of the changes are in parts of the Android port which are yet to be upstreamed.

        No change in behavior, so no new test.

        * platform/network/android/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):

2010-07-07  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        Allow a beforeload listener to prevent loading of images in <object> tags.
        https://bugs.webkit.org/show_bug.cgi?id=41027
        <rdar://problem/8120596>

        Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
               fast/dom/beforeload/image-object-before-load.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::attach): Do not call
        RenderImage::setCachedImage() at the end of attach(). Instead, allow
        this to happen conditionally after beforeload is dispatched.
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
        content if an object's load was cancelled.

2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        <use> on <font-face> causes crashes, if SVGUseElement gets detached
        https://bugs.webkit.org/show_bug.cgi?id=41621

        Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
        as that can potentially cause the element to be reattached while destructing.

        In order to fix the crash in the testcase, the order of calling the base-class detach
        method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
        matching the order in removedFromDocument().

        Test: svg/custom/use-font-face-crash.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.

2010-07-07  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        document.createEvent() should support DeviceOrientationEvent
        https://bugs.webkit.org/show_bug.cgi?id=41618

        Tests: fast/dom/DeviceOrientation/create-event.html

        * dom/Document.cpp:
        (WebCore::Document::createEvent):

2010-07-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: show functions from internal browser scripts on the call stack if they
        are there.
        https://bugs.webkit.org/show_bug.cgi?id=41762

        * English.lproj/localizedStrings.js:
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update):

2010-07-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: All RefPtr arguments and return values should be
        changed to PassRefPtr whenever it is possible according to common practice.
        https://bugs.webkit.org/show_bug.cgi?id=41759

        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        (WebCore::TimelineRecordFactory::createGCEventData):
        (WebCore::TimelineRecordFactory::createFunctionCallData):
        (WebCore::TimelineRecordFactory::createEventDispatchData):
        (WebCore::TimelineRecordFactory::createGenericTimerData):
        (WebCore::TimelineRecordFactory::createTimerInstallData):
        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
        (WebCore::TimelineRecordFactory::createXHRLoadData):
        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
        (WebCore::TimelineRecordFactory::createMarkTimelineData):
        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        (WebCore::TimelineRecordFactory::createReceiveResourceData):
        (WebCore::TimelineRecordFactory::createPaintData):
        (WebCore::TimelineRecordFactory::createParseHTMLData):
        * inspector/TimelineRecordFactory.h:

2010-07-07  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.
        
        [Qt] Initial WebKit2 implementation
        https://bugs.webkit.org/show_bug.cgi?id=40233

        Export some event conversion functions needed for WebKit2.

        * platform/PlatformKeyboardEvent.h:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):

2010-07-06  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
        https://bugs.webkit.org/show_bug.cgi?id=41685

        Test: fast/dom/Window/window-properties-device-orientation.html
              fast/dom/DeviceOrientation/window-property.txt

        * page/DOMWindow.idl:

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

        Unreviewed, rolling out r62645.
        http://trac.webkit.org/changeset/62645
        https://bugs.webkit.org/show_bug.cgi?id=41757

        "Broken inspector tests on several platforms" (Requested by
        eseidel on #webkit).

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-07  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
        https://bugs.webkit.org/show_bug.cgi?id=41516

        This change is required to help prevent the Java virtual machine from
        running out of local references. The Java virtual machine supports only
        a limited number of local references. Normally, local references are
        cleared when the native method returns.

        This change adds calls to PushLocalFrame() and PopLocalFrame() around
        each invocation of a method on JavaInstance. These calls instruct the
        virtual machine to clear local references when the frame is popped.
        This means that in the case where many calls to JavaInstance methods
        are made within the same native call, local references are cleared as
        soon as they are no longer needed, thus conserving references.

        This change mirrors exactly JavaInstanceJSC.

        No new tests.

        * bridge/jni/v8/JavaInstanceV8.cpp:
        (JavaInstance::virtualBegin):
        (JavaInstance::virtualEnd):
        * bridge/jni/v8/JavaInstanceV8.h:

2010-07-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Inspector should remember the size of sidebars set by the user
        https://bugs.webkit.org/show_bug.cgi?id=19207

        * inspector/front-end/AbstractTimelinePanel.js:
        (WebInspector.AbstractTimelinePanel):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        (WebInspector.Panel.prototype.get toolbarItemClass):
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.createSidebar):
        (WebInspector.Panel.prototype.get _sidebarWidthSettingName):
        (WebInspector.Panel.prototype._endSidebarDragging):
        (WebInspector.Panel.prototype.updateSidebarWidth):
        (WebInspector.Panel.prototype.restoreSidebarWidth):
        (WebInspector.Panel.prototype.saveSidebarWidth):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
        (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
        (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
        * inspector/front-end/Settings.js:
        (WebInspector.populateApplicationSettings):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):

2010-07-05  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        DeviceOrientation should be renamed to DeviceOrientationController
        https://bugs.webkit.org/show_bug.cgi?id=41608

        No new tests, renaming only.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceOrientation.cpp: Removed.
        * dom/DeviceOrientation.h: Removed.
        * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
        (WebCore::DeviceOrientationController::DeviceOrientationController):
        (WebCore::DeviceOrientationController::onDeviceOrientationChange):
        * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::deviceOrientationController):

2010-07-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not activate all breakpoints on page reload
        https://bugs.webkit.org/show_bug.cgi?id=41461

        Test: inspector/debugger-breakpoints-not-activated-on-reload.html

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix </html> handling in before head mode
        https://bugs.webkit.org/show_bug.cgi?id=41752

        Covered by html5lib/runner.html.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        </div> pops too many <div> elements in body
        https://bugs.webkit.org/show_bug.cgi?id=41751

        Another missing return!

        While tracking this down I added some debugging code to both the
        open elements stack and the active formatting elements list.

        I also unwrapped a very long || chain to make it more readable.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::show):
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::show):
        * html/HTMLFormattingElementList.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs to handle <table><input>
        https://bugs.webkit.org/show_bug.cgi?id=41744

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach HTMLTreeBuilder how to handle <button><button>
        https://bugs.webkit.org/show_bug.cgi?id=41743

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach TreeBuilder how to handle <form><form>
        https://bugs.webkit.org/show_bug.cgi?id=41741

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        <table> should auto-close <p> when not in quirks mode
        https://bugs.webkit.org/show_bug.cgi?id=41740

        This is already covered by multiple tests in html5lib/runner.html

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make "in body" character handling reconstruct active formatting elements
        https://bugs.webkit.org/show_bug.cgi?id=41739

        This fixes a bunch of tests, and due to some other bug in our
        formatting code, regresses two.  I'll fix that bug in a separate
        patch.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):

2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Darin Adler.

        <use> on <font-face> causes crashes, if SVGUseElement gets detached
        https://bugs.webkit.org/show_bug.cgi?id=41621

        Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
        cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
        which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.

        The crash is reproducable when using <use> on <font-face>.

        Test: svg/custom/use-font-face-crash.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):

2010-07-07  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Rolling out 'page-break-inside:avoid' part of the r54929.
        Rebased the related layout tests, which are now expected to fail, as well.

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

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

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Fix failures in a handful of Java-related tests.

        * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
        evalutes to true when we expect it to.

2010-07-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: provide line numbers for inline styles.

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

        Test: inspector/styles-source-lines-inline.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSheet):
        * css/CSSParser.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::parseString):
        (WebCore::CSSStyleSheet::parseStringAtLine):
        * css/CSSStyleSheet.h:
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::process):
        (WebCore::StyleElement::createSheet):
        * dom/StyleElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::finishParsingChildren):
        * html/HTMLStyleElement.h:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.else.linkifyUncopyable):
        (WebInspector.StylePropertiesSection):

2010-07-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Jon Honeycutt.

        <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key

        No change in behavior, so no new test.

        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
        as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Fix production builds on Mac OS X.

        * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
        It's not useful until much later in the build process, and it's not possible to generate it until
        after the tool has been compiled anyway.
        * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
        works in production builds once more.

2010-07-06  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Simon Fraser.

        Expose URL matching from WebUserContentURLPattern
        https://bugs.webkit.org/show_bug.cgi?id=41726
        <rdar://problem/7910144>

        * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix <nobr><nobr> case in HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41735

        We were both not handling <nobr> correctly, as well as
        never hitting the <nobr> case because our formatting
        elements check was overzealous.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement start table tag in table mode
        https://bugs.webkit.org/show_bug.cgi?id=41736

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        * html/HTMLTreeBuilder.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement "act as if the banana has been peeled" (for lack of a better term)
        https://bugs.webkit.org/show_bug.cgi?id=41734

        The spec has a tricky passage that says "whenever a node would be
        inserted into the current node, it must instead be foster parented."
        This patch attempts to implement that requirement.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        * html/HTMLTreeBuilder.h:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix </optgroup> in "in select" mode
        https://bugs.webkit.org/show_bug.cgi?id=41733

        I had to add a oneBelowTop() accessor.
        I added some ASSERTs after looking at the fragment case
        documentation.  I'm now convinced that top() and oneBeforeTop()
        should never be NULL, so we just ASSERT they aren't.

        This is a very obscure corner of the HTML spec, but at least
        we have a test for it.  This makes one more html5lib test pass.

        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::oneBelowTop):
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::topRecord):
        (WebCore::HTMLElementStack::top):
        (WebCore::HTMLElementStack::oneBelowTop):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix "in row" "Anything else" handling of end tags
        https://bugs.webkit.org/show_bug.cgi?id=41731

        I also fixed </br> handling to follow the spec more closely
        since it implementation was old and didn't use all our
        new processFake* hotness.

        This is already covered by 3 tests, however we don't
        pass them yet, due to lack of table foster parenting
        code (which Adam is working on as we speak).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Fix clean builds on Mac OS X.

        Since "Copy Forwarding and ICU Headers" was split in to a separate target
        from the WebCore framework it no longer had automatica access to the
        PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
        files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
        its correct value and ensuring that the path exists.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-06  Sam Weinig  <sam@webkit.org>

        Fix Gtk build.

        * GNUmakefile.am:

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Tiger build fix.

        Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        "In cell" does not correctly handle <td><tr> or <td><td>
        https://bugs.webkit.org/show_bug.cgi?id=41729

        This change is mostly cleanup to try and prevent forgetting
        tag name checks in the future by using inlines to reduce
        copy/paste code.

        3 little bugs in InCellMode:
         - Missing trTag from the long or statement (reason for the cleanup)
         - Used || instead of &&
         - Forgot to reprocess the tag after closeTheCell()

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move fosterParent to HTMLConstructionSite
        https://bugs.webkit.org/show_bug.cgi?id=41728

        This paves the way for handling the default case of InTableMode
        properly.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move HTMLConstructionSite to its own file.  No behavior change.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
        (WebCore::HTMLNames::hasImpliedEndTag):
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::~HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
        * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
        * html/HTMLTreeBuilder.cpp:
        * html/HTMLTreeBuilder.h:

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Build fix.

        The path to the generated file needs to be relative to the built product directory,
        not to the project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans

        Change how the exports file is generated. Rather than having the logic for which symbols
        to include be encoded in a Makefile that concatenated separate files, the logic is now
        encoded as #if's in the base exports file. This ensures that the exact same preprocessor
        settings are used when determining which symbols to export as when compiling the code that
        defines the symbols.

        * DerivedSources.make: Remove logic that determines which export files to concatenate.
        Replace with an invocation of WebCoreExportFileGenerator.
        * WebCore.3DRendering.exp: Removed.
        * WebCore.AcceleratedCompositing.exp: Removed.
        * WebCore.ClientBasedGeolocation.exp: Removed.
        * WebCore.ContextMenus.exp: Removed.
        * WebCore.DashboardSupport.exp: Removed.
        * WebCore.DragSupport.exp: Removed.
        * WebCore.Geolocation.exp: Removed.
        * WebCore.Inspector.exp: Removed.
        * WebCore.JNI.exp: Removed.
        * WebCore.NPAPI.exp: Removed.
        * WebCore.OrientationEvents.exp: Removed.
        * WebCore.PluginHostProcess.exp: Removed.
        * WebCore.ProtectionSpaceAuthCallback.exp: Removed.
        * WebCore.SVG.Animation.exp: Removed.
        * WebCore.SVG.Filters.exp: Removed.
        * WebCore.SVG.ForeignObject.exp: Removed.
        * WebCore.SVG.exp: Removed.
        * WebCore.Tiger.exp: Removed.
        * WebCore.Video.exp: Removed.
        * WebCore.VideoProxy.exp: Removed.
        * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
        files in, wrapping the appropriate parts with the necessary #if's.
        * WebCore.xcodeproj/project.pbxproj:
        * make-exports-file-generator: Added.

2010-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41723
        Add BackForwardController class

        - Add BackForwardController which currently only forwards to the existing
          BackForwardList implementation. This is a first step toward allowing
          for a proxying BackForwardList implementation.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardController.cpp: Added.
        (WebCore::BackForwardController::BackForwardController):
        (WebCore::BackForwardController::~BackForwardController):
        * history/BackForwardController.h: Added.
        (WebCore::BackForwardController::client):
        (WebCore::BackForwardController::list):
        * history/BackForwardControllerClient.h: Added.
        (WebCore::BackForwardControllerClient::~BackForwardControllerClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        (WebCore::Page::backForwardList):
        (WebCore::Page::goBack):
        (WebCore::Page::goForward):
        (WebCore::Page::canGoBackOrForward):
        (WebCore::Page::goBackOrForward):
        (WebCore::Page::getHistoryLength):
        * page/Page.h:

2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed.

        Fixes regression on API test by disabling the scrollbars before
        configuring the adjustments.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setGtkAdjustments):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add support for <li>, <dd> and <dt> nested tag closing
        https://bugs.webkit.org/show_bug.cgi?id=41720

        li, dd, and dt have nearly identical logic in HTML5, so I
        attempted to make them share as much code as possible.

        This fixes a bunch of subtests for html5lib/runner.html

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
        * html/HTMLTreeBuilder.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Factor HTMLConstructionSite out of HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41716

        The HTMLContructionSite is the model object on which the
        HTMLTreeBuilder (a controller) acts.

        No behavior change.  I'll move this class into its own file in a
        followup patch.

        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::at):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::closeTheCell):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
        (WebCore::HTMLTreeBuilder::findFosterParentFor):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLConstructionSite::insertDoctype):
        (WebCore::HTMLConstructionSite::insertComment):
        (WebCore::HTMLConstructionSite::insertCommentOnDocument):
        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::createElementAndAttachToCurrent):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingElement):
        (WebCore::HTMLConstructionSite::insertFormattingElement):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLConstructionSite::currentElement):
        (WebCore::HTMLConstructionSite::openElements):
        (WebCore::HTMLConstructionSite::activeFormattingElements):
        (WebCore::HTMLConstructionSite::head):
        (WebCore::HTMLConstructionSite::form):
        (WebCore::HTMLConstructionSite::releaseForm):
        (WebCore::HTMLConstructionSite::setForm):
        (WebCore::HTMLConstructionSite::fragmentScriptingPermission):
        (WebCore::HTMLConstructionSite::attach):

2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Scrollbars sometimes go dead and stop scrolling the view
        https://bugs.webkit.org/show_bug.cgi?id=41711

        Fixes GtkScrolledWindow scrollbars not actually scrolling the page
        in certain conditions. No tests because it is hard to reproduce,
        and depends on interaction with a widget that is outside of the
        WebView, which is tricky.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setGtkAdjustments):

2010-07-06  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Simplify access to element attribute map, removing unneeded functions
        https://bugs.webkit.org/show_bug.cgi?id=41703

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the
        attributeMap function instead of the mappedAttributes function.
        (WebCore::CSSStyleSelector::styleForElement): Ditto.

        * dom/Element.cpp:
        (WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap.
        (WebCore::Element::removeAttribute): Ditto.
        (WebCore::Element::getAttribute): Ditto.
        (WebCore::Element::setAttribute): Ditto.
        (WebCore::Element::setAttributeMap): Ditto.
        (WebCore::Element::hasAttributes): Ditto.
        (WebCore::Element::createAttributeMap): Ditto.
        (WebCore::Element::insertedIntoDocument): Ditto.
        (WebCore::Element::removedFromDocument): Ditto.
        (WebCore::Element::getURLAttribute): Ditto.

        * dom/Element.h: Removed unneeded virtual attributes function.
        Made read-only argument to attributes function default to false.
        (Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap
        and made it private instead of protected.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged): Use attributeMap function
        instead of namedAttrMap data member or mappedAttributes function.
        (WebCore::StyledElement::classAttributeChanged): Ditto.
        (WebCore::StyledElement::parseMappedAttribute): Ditto.

        * dom/StyledElement.h: Removed mappedAttributes function and changed
        callers to use attributeMap function instead.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType): Use attributeMap instead of
        mappedAttributes.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray.

        * DerivedSources.make:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Make the remaining insertion modes explicit.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-06  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed, fixing a simple copy/paste mistake.

        https://bugs.webkit.org/show_bug.cgi?id=41156
        Cross origin XMLHttpRequest should log the reason why connection failed

        Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly
        copy/pasted header field name.

2010-07-06  Xan Lopez  <xlopez@igalia.com>

        GTK+ fixes for the DOM plug-in renaming Apocalypse.

        * GNUmakefile.am:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Yet another Windows build fix.

        * DerivedSources.cpp:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        More build fixes.

        * WebCore.gypi:
        * WebCore.pro:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Try to fix Qt build.

        * WebCore.pro:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Attempt to fix GTK+ build.

        * GNUmakefile.am:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671

        Deploy isTableBodyContextTag where possible.  No behavior change.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Build fixes.

        * WebCore.gypi:
        * bindings/js/JSBindingsAllInOne.cpp:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        DOM plug-in related renames
        https://bugs.webkit.org/show_bug.cgi?id=41709

        This is in preparation for using "Plugin" for something other than a DOM object.

        MimeType => DOMMimeType
        MimeTypeArray => DOMMimeTypeArray
        Plugin => DOMPlugin
        PluginArray => DOMPluginArray

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added.
        (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
        (WebCore::JSDOMMimeTypeArray::nameGetter):
        * bindings/js/JSDOMPluginArrayCustom.cpp: Added.
        (WebCore::JSDOMPluginArray::canGetItemsForName):
        (WebCore::JSDOMPluginArray::nameGetter):
        * bindings/js/JSDOMPluginCustom.cpp: Added.
        (WebCore::JSDOMPlugin::canGetItemsForName):
        (WebCore::JSDOMPlugin::nameGetter):
        * bindings/js/JSMimeTypeArrayCustom.cpp: Removed.
        * bindings/js/JSPluginArrayCustom.cpp: Removed.
        * bindings/js/JSPluginCustom.cpp: Removed.
        * bindings/scripts/CodeGeneratorJS.pm:
        * page/DOMWindow.idl:
        * page/Navigator.cpp:
        (WebCore::Navigator::plugins):
        (WebCore::Navigator::mimeTypes):
        * page/Navigator.h:
        * page/Navigator.idl:
        * plugins/DOMMimeType.cpp: Added.
        (WebCore::DOMMimeType::DOMMimeType):
        (WebCore::DOMMimeType::~DOMMimeType):
        (WebCore::DOMMimeType::type):
        (WebCore::DOMMimeType::suffixes):
        (WebCore::DOMMimeType::description):
        (WebCore::DOMMimeType::enabledPlugin):
        * plugins/DOMMimeType.h: Added.
        (WebCore::DOMMimeType::create):
        (WebCore::DOMMimeType::mimeClassInfo):
        * plugins/DOMMimeType.idl: Added.
        * plugins/DOMMimeTypeArray.cpp: Added.
        (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
        (WebCore::DOMMimeTypeArray::~DOMMimeTypeArray):
        (WebCore::DOMMimeTypeArray::length):
        (WebCore::DOMMimeTypeArray::item):
        (WebCore::DOMMimeTypeArray::canGetItemsForName):
        (WebCore::DOMMimeTypeArray::namedItem):
        (WebCore::DOMMimeTypeArray::getPluginData):
        * plugins/DOMMimeTypeArray.h: Added.
        (WebCore::DOMMimeTypeArray::create):
        (WebCore::DOMMimeTypeArray::disconnectFrame):
        * plugins/DOMMimeTypeArray.idl: Added.
        * plugins/DOMPlugin.cpp: Added.
        (WebCore::DOMPlugin::DOMPlugin):
        (WebCore::DOMPlugin::~DOMPlugin):
        (WebCore::DOMPlugin::name):
        (WebCore::DOMPlugin::filename):
        (WebCore::DOMPlugin::description):
        (WebCore::DOMPlugin::length):
        (WebCore::DOMPlugin::item):
        (WebCore::DOMPlugin::canGetItemsForName):
        (WebCore::DOMPlugin::namedItem):
        * plugins/DOMPlugin.h: Added.
        (WebCore::DOMPlugin::create):
        (WebCore::DOMPlugin::pluginInfo):
        * plugins/DOMPlugin.idl: Added.
        * plugins/DOMPluginArray.cpp: Added.
        (WebCore::DOMPluginArray::DOMPluginArray):
        (WebCore::DOMPluginArray::~DOMPluginArray):
        (WebCore::DOMPluginArray::length):
        (WebCore::DOMPluginArray::item):
        (WebCore::DOMPluginArray::canGetItemsForName):
        (WebCore::DOMPluginArray::namedItem):
        (WebCore::DOMPluginArray::refresh):
        (WebCore::DOMPluginArray::pluginData):
        * plugins/DOMPluginArray.h: Added.
        (WebCore::DOMPluginArray::create):
        (WebCore::DOMPluginArray::disconnectFrame):
        * plugins/DOMPluginArray.idl: Added.
        * plugins/MimeType.cpp: Removed.
        * plugins/MimeType.h: Removed.
        * plugins/MimeType.idl: Removed.
        * plugins/MimeTypeArray.cpp: Removed.
        * plugins/MimeTypeArray.h: Removed.
        * plugins/MimeTypeArray.idl: Removed.
        * plugins/Plugin.cpp: Removed.
        * plugins/Plugin.h: Removed.
        * plugins/Plugin.idl: Removed.
        * plugins/PluginArray.cpp: Removed.
        * plugins/PluginArray.h: Removed.
        * plugins/PluginArray.idl: Removed.

2010-07-06  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41156
        Cross origin XMLHttpRequest should log the reason why connection failed

        Covered by multiple existing tests.

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::passesAccessControlCheck):
        * loader/CrossOriginAccessControl.h:
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::parse):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
        * loader/CrossOriginPreflightResultCache.h:
        Functions that check requests now take a string argument for error explanation.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error
        if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere,
        since XMLHttpRequest is the only client that logs from didFail(), and it of course supports
        cross origin requests.
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative
        error when trying to e.g. send a cross origin XMLHttpRequest to ftp://.
        (WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross
        origin access control code.
        (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.

        * loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments.

        * platform/network/ResourceErrorBase.cpp:
        * platform/network/ResourceErrorBase.h:
        Added a constant for WebKit error domain.

        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console.
        One day we'll be able to also provide script file and line number here, so it's best to
        pass error all the way down to XHR for reporting.

2010-07-06  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=41696

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InTableBodyMode
        https://bugs.webkit.org/show_bug.cgi?id=41671

        In the process of implementing this patch, Eric and I discussed some of
        the high-level organization of the HTMLTreeBuilder class.  We'd like to
        split it up into smaller pieces.  In the meantime, I've reordered some
        of the declarations in the header to make the relations between the
        different kinds of functions clearer.

        * html/HTMLElementStack.cpp:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * html/HTMLTreeBuilder.h:

2010-07-06  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed build fix.

        [EFL] Generate code for RemoteInspector.

        * CMakeLists.txt:

2010-07-06  Varun Jain  <varunjain@chromium.org>

        Reviewed by Oliver Hunt.

        Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently,
        curves specified in relative cordinates such as using createCurvetoCubicRel()
        javascript function are not displayed.

        SVG CurvetoCubic Path not implemented for relative cordinates
        https://bugs.webkit.org/show_bug.cgi?id=41294

        Test: svg/custom/svg-curve-with-relative-cordinates.html

        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::toPathData):

2010-07-06  Alexey Proskuryakov  <ap@apple.com>

        Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables
        from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot.

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::xslStylesheet):
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::docLoaderFunc):
        (WebCore::setXSLTLoadCallBack):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add processing for "in cell" mode and end tag processing for "in row"
        https://bugs.webkit.org/show_bug.cgi?id=41688

        I added several new table tests, not all of which pass yet.
        Remaining failures exist due to lack of full "in table body" mode
        support, which Adam has an outstanding patch for.
        I believe all of the various branches added by this change are
        covered now by our tests.

        * html/HTMLElementStack.cpp:
         - Added QualifiedName versions of inScope functions.
           Using tagName.localName() is wrong for non-HTML elements,
           in preparation for supporting foreign content we should centralize
           our handling of QualifiedName in these functions instead of
           sprinkling more .localName() calls around the code.
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::inListItemScope):
        (WebCore::HTMLElementStack::inTableScope):
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::Entry::operator==):
        (WebCore::HTMLFormattingElementList::Entry::operator!=):
         - Calling element() on markers will assert, so use m_element.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::closeTheCell):
         - Implemented per the spec.
        (WebCore::HTMLTreeBuilder::processStartTag):
         - Use isTableBodyContextTag where possible.
         - Add InCellMode.
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
         - Use isTableBodyContextTag where possible.
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
         - This code is needed from at least two callsites.
        (WebCore::HTMLTreeBuilder::processEndTag):
         - Add InCellMode and InRowMode
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * html/HTMLTreeBuilder.h:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make <a> auto-close any parent <a> tag
        https://bugs.webkit.org/show_bug.cgi?id=41684

        I first fixed <a> to auto-close surrounding <a> tags.
        That caused about 3 more test passes and one new test failure.
        The test failure was due to <marque> not adding a marker
        to the active formatting elements.

        So I made a one-line change to fix <marque>.  However that hit an
        ASSERT due to a bug in indexOfFirstUnopenFormattingElement.
        Fixing indexOfFirstUnopenFormattingElement fixed another bunch of
        Adoption Agency related tests (clearly this was the second typo
        which was causing all the adoption agency failures).
        
        However fixing <marque> and indexOfFirstUnopenFormattingElement,
        added yet another failure due to missing support for </p>
        automatically adding an implicit <p> tag.  Fixing </p> finally
        got the tests to a stable (all improving) state.

        In the end, these 4 minor (and very well tested) tweaks fixed a total
        of 9 subtests in html5lib/runner.html.
        Another subtest progressed, but did not fully pass due to missing
        <table> foster-parenting support.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):

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

        Reviewed by Xan Lopez

        [GStreamer] can't seek past maxTimeLoaded value
        https://bugs.webkit.org/show_bug.cgi?id=40526

        Extended the seekable range to the whole media. This allows video
        played with progressive download to be seeked past the current
        buffered position.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateGStreamer::updateStates):

2010-07-06  Andreas Wictor  <andreas.wictor@xcerion.com>

        Reviewed by Alexey Proskuryakov.

        Remove global variables from XSLTProcessorLibxslt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41348

        Remove the globalProcessor and globalDocLoader global variables
        by using the _private field that exists on most libxml structs.

        No new tests, existing tests covers this.

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::sourceNode):
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::registredXSLTProcessors):
        (WebCore::registredXSLStyleSheets):
        (WebCore::docLoaderFunc):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-06  Darin Adler  <darin@apple.com>

        Fix Cairo build.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release
        in code that passes a PassOwnPtr to another PassOwnPtr.

2010-07-06  Darin Adler  <darin@apple.com>

        Fix Chromium build.

        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::scratchContext): Use leakPtr instead of release.

2010-07-06  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix after r62549.

        * GNUmakefile.am: Generate RemoteInspector files by manually listing
        them instead of building them into libWebCoreJS.la.

2010-07-06  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=41320

        Made code changes required because of the change to the release function.
        The equivalent to the old release function is now named leakPtr and
        should be used sparingly. The new release function returns a PassOwnPtr.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Changed code to call
        leakPtr instead of release.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addProperty): Ditto.

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type
        casting. Not sure why this changed the type to FontData* and then
        casted back to SimpleFontData*.

        * css/MediaQuery.cpp:
        (WebCore::MediaQuery::MediaQuery): Removed call to release on a
        PassOwnPtr, since the data member is now an OwnPtr.
        (WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete.
        * css/MediaQuery.h: Changed m_expressions to be an OwnPtr.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead
        of the set function since there are no raw pointers involved.
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::makePurgeable): Ditto.

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCache::appendEntry): Use
        leakPtr instead of release, and also add FIXME about deleting the
        old value if the original and URL are already in the map. I
        believe dealing with this FIXME may fix a storage leak.

        * loader/CrossOriginPreflightResultCache.h: Change the argument
        to be PassOwnPtr instead of a raw pointer, since this function
        does take ownership.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        Use assignment instead of the set function since there are no raw
        pointers involved.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::startIconLoader): Ditto.
        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::decode): Ditto.
        (WebCore::TextResourceDecoder::flush): Ditto.

        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit
        delete.

        * platform/CrossThreadCopier.h: Removed explicit code that tried
        to copy PassOwnPtr in a complicated way. It did nothing different
        from just returning the PassOwnPtr. This presumably was done because
        PassRefPtr has issues when copied cross-thread, but there are no
        similar issues for PassOwnPtr. Someone with more experience than I
        might be able to remove the specialization altogether, because
        CrossThreadCopierPassThrough does the right thing in this case.

        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to
        be a PassOwnPtr.
        (WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to
        be a PassOwnPtr.
        * platform/SharedBuffer.h: Updated for changes above.

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource): Changed one site
        to use assignment instead of the set function since there are no raw
        pointers involved. Changed another site to use leakPtr instead
        of release.

        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): Use assignment
        instead of the set function since there are no raw pointers involved.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setContent): Use leakPtr instead of release.
        (WebCore::RenderStyle::setBoxShadow): Ditto.

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        Removed unneeded call to release function in a code path that passes
        a PassOwnPtr to a function that takes a PassOwnPtr.

        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr.
        (WebCore::WorkerContext::setInterval): Ditto.
        * workers/WorkerContext.h: Updated for changes above.

        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
        Removed unneeded call to release function in code paths that pass
        a PassOwnPtr to a function that takes a PassOwnPtr.

2010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: generator part of the patch for bug 40675.
        On the way to Remote Debugging we want to support JSON serialization
        on both sides of WebInspector transport.
        As far as InspectorFrontend class is a simple proxy to WebInspector
        it would be better to generate it from an IDL file.
        We have generator infrastructure for binding and will reuse it for
        new generator.
        https://bugs.webkit.org/show_bug.cgi?id=41692


        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/IDLParser.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm: Added.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::startTimelineProfiler):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontend2.idl: Added.
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        * inspector/InspectorTimelineAgent.h:

2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        [GTK] Crashes when going back with page cache in unknown circunstances
        https://bugs.webkit.org/show_bug.cgi?id=41710

        Also NULL-check document, in hopes of fixing this hard to
        reproduce crash that we are getting reported quite a bit.

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

2010-07-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: On the way to Remote Debuging we want to support JSON
        serialization on both sides of WebInspector transport. As far as
        InspectorFrontend class is a simple proxy to WebInspector it would
        be better to generate it from an IDL file. We have generator
        infostructure for binding and will reuse it for new generator.
        https://bugs.webkit.org/show_bug.cgi?id=40675

        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStack.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptCallStack.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addRecordToTimeline):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::willCallFunction):
        (WebCore::InspectorTimelineAgent::willDispatchEvent):
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
        (WebCore::InspectorTimelineAgent::willPaint):
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::willFireTimer):
        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::willLoadXHR):
        (WebCore::InspectorTimelineAgent::willEvaluateScript):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        (WebCore::TimelineRecordFactory::createGCEventData):
        (WebCore::TimelineRecordFactory::createFunctionCallData):
        (WebCore::TimelineRecordFactory::createEventDispatchData):
        (WebCore::TimelineRecordFactory::createGenericTimerData):
        (WebCore::TimelineRecordFactory::createTimerInstallData):
        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
        (WebCore::TimelineRecordFactory::createXHRLoadData):
        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
        (WebCore::TimelineRecordFactory::createMarkTimelineData):
        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        (WebCore::TimelineRecordFactory::createReceiveResourceData):
        (WebCore::TimelineRecordFactory::createPaintData):
        (WebCore::TimelineRecordFactory::createParseHTMLData):
        * inspector/TimelineRecordFactory.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InColgroupMode
        https://bugs.webkit.org/show_bug.cgi?id=41663

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * html/HTMLTreeBuilder.h:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement bookmarking for HTML5 Adoption Agency algorithm
        https://bugs.webkit.org/show_bug.cgi?id=41659

        Was easier than I expected it to be.
        Fixes a bunch of html5lib/runner.html tests.

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::insertAt):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
        (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
        (WebCore::HTMLFormattingElementList::Bookmark::elementBefore):
        (WebCore::HTMLFormattingElementList::Bookmark::elementAfter):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement more of InTableMode
        https://bugs.webkit.org/show_bug.cgi?id=41652

        By the time we got around to landing this patch, it turns out to be
        just a bit of cleanup (the functional changes where landed already.)

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Unreviewed, rolling out r62529.
        http://trac.webkit.org/changeset/62529
        https://bugs.webkit.org/show_bug.cgi?id=41661

        http/tests/inspector/resource-har-conversion.html is broken
        (Requested by yutak on #webkit).

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource):
        (WebCore::InspectorController::removeResource):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::create):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        * websockets/WebSocketChannel.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InCaptionMode
        https://bugs.webkit.org/show_bug.cgi?id=41660

        Implementing this mode also turned up a subtle bug in the adoption
        agency code.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
            - We're supposed to reutrn the first *unopened* formatting element.
              The old code returned the first *opened* formatting element.
        * html/HTMLTreeBuilder.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement defaut cases for InTableMode
        https://bugs.webkit.org/show_bug.cgi?id=41656

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGRenderContainer forces too many kids to relayout
        https://bugs.webkit.org/show_bug.cgi?id=15391

        Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change.
        The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes.
        This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values.

        Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change.
        Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): Fix some style issues.
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed.
        (WebCore::RenderSVGContainer::drawsContents): Ditto.
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false.
        (WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout.
        (WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case.
        * rendering/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes.
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject.
        (WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the
                                                                       hasRelativeLengths() information is always up2date.
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty.

2010-07-05  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas
        https://bugs.webkit.org/show_bug.cgi?id=41509

        Test: fast/css/font-face-multiple-ranges-for-unicode-range.html

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

2010-07-05  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Add WebSocket resource type to Web Inspector.

        When a new WebSocket connection is established, a line for that connection
        will appear in Web Inspector's Resources tab. If the resource name is
        clicked, the details of handshake request and response will be shown.

        Web Inspector: WebSocket in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=40768

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource): WebSocket resource does not
        have an associated loader, thus frame might be null. Need to check it.
        (WebCore::InspectorController::removeResource): Ditto.
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
        because WebSocket does not have a loader and we need to allow null for
        these variables.
        (WebCore::createReadableStringFromBinary):
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::create): Factory function of
        regular (non-WebSocket) resources.
        (WebCore::InspectorResource::createWebSocket): Factory function of
        WebSocket resources.
        (WebCore::InspectorResource::updateWebSocketRequest):
        (WebCore::InspectorResource::updateWebSocketResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::markWebSocket):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-websockets, .resources-category-other):
        (.resources-category-websockets .resources-graph-bar):
        (.resources-category-websockets.resource-cached .resources-graph-bar):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::identifier):
        * websockets/WebSocketChannel.h:

2010-07-05  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Chromium build.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::fillResourceList):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Move processStartTagForInBody to its own function.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.cpp.orig: Added.
        * html/HTMLTreeBuilder.h:

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix one more notImplemented in h1-h6 start tag handling
        https://bugs.webkit.org/show_bug.cgi?id=41654

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-05  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just fixing proess to process.
        Clearly Adam and I can't spell.  Thankfully MikeSmith can.

        Add <isindex> support, per HTML5
        https://bugs.webkit.org/show_bug.cgi?id=41650

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::processFakeEndTag):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add <isindex> support, per HTML5
        https://bugs.webkit.org/show_bug.cgi?id=41650

        Covered by html5lib/runner.html including a new
        isindex.dat test suite.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
         - Support passing attributes to the constructor.
        (WebCore::AtomicHTMLToken::name):
        (WebCore::AtomicHTMLToken::setName):
        (WebCore::AtomicHTMLToken::getAttributeItem):
        (WebCore::AtomicHTMLToken::attributes):
        (WebCore::AtomicHTMLToken::takeAtributes):
         - Reduces ref-churn, and makes it possible for callers
           to modify attributes w/o affecting future uses of the attributes.
        (WebCore::AtomicHTMLToken::usesName):
         - Used by ASSERTS.
        (WebCore::AtomicHTMLToken::usesAttributes):
         - Used by ASSERTS.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::convertToOldStyle):
         - Can't be const, now that we use takeAttributes()
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::proesssFakeStartTag):
         - New function.  I'm not sure this is the perfect design
          (I'd kinda like AtomicHTMLToken to be copyable so we can
           have create functions for it), but this makes the callsites
           using fake tokens much more readable.
        (WebCore::HTMLTreeBuilder::proesssFakeEndTag):
        (WebCore::HTMLTreeBuilder::processFakeCharacters):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
         - Use takeAttributes() for less ref-churn.
        (WebCore::HTMLTreeBuilder::createElement): ditto
        (WebCore::HTMLTreeBuilder::finished):
         - Remove bogus use of AtomicHTMLToken constructor which
           wasn't even being used now that we support emitting EOF tokens
           from the Tokenizer directly.
        * html/HTMLTreeBuilder.h:

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        ASSERT that we're processing the correct type of token
        https://bugs.webkit.org/show_bug.cgi?id=41647

        Making these asserts work required a small (non-observable) tweak to
        some old code.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement in select in table
        https://bugs.webkit.org/show_bug.cgi?id=41646

        This mode is mostly a fall-through to the InSelectMode.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement basic text node coalescing
        https://bugs.webkit.org/show_bug.cgi?id=41623

        This patch isn't the end-all, be-all of text node coalescing, but it's
        a good start.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        * dom/CharacterData.h:
            - Added a new method to dance around mutation events.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertTextNode):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InSelectMode
        https://bugs.webkit.org/show_bug.cgi?id=41627

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-05  Fady Samuel  <fsamuel@chromium.org>

        Reviewed by Darin Adler.

        Fixed a svg crash when setting class of an svg ellipse object.

        Altering the CSS class of an attached SVG element causes WebKit to crash
        https://bugs.webkit.org/show_bug.cgi?id=40857

        Test: svg/css/svg-ellipse-render-crash.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):

2010-07-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Reproducible crash with Optimize Legibility extension
        https://bugs.webkit.org/show_bug.cgi?id=41585

        Test: fast/css/text-rendering-priority.html

        Moved the text-rendering CSS property to the “high priority” group, because applying it
        during style selection invalidates the font.

        * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.

2010-07-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        optimizeLegibility doesn't play nice with fonts that do not have a space glyph
        https://bugs.webkit.org/show_bug.cgi?id=41599

        No test because none of the fonts available to DumpRenderTree are missing a space glyph.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
        to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
        initialized with the width of a space as measured by the Font rather than with the cached
        space width.

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTML5's "reset insertion mode appropriately"
        https://bugs.webkit.org/show_bug.cgi?id=41628

        This has some minimal testing.  One from my previous
        </table> patch, and a few from the main suite.

        Mostly resetInsertionModeAppropriately isn't used yet
        but we're about to add a bunch of states which do use it
        and our test coverage will expand further as we do.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        * html/HTMLTreeBuilder.h:

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add </table> support for "in table" insertion mode
        https://bugs.webkit.org/show_bug.cgi?id=41591

        resetInsertionModeAppropriately isn't implemented yet, however
        I've added a test for the usage I added.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Chromium missing method. Filed bug 41632 to track.

        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::applicationCache):

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Missed GTK's build file.

        * GNUmakefile.am:

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Pass a blank ResourceResponse instead of passing 0.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Forward declare ApplicationCache for Chromium.

        * loader/appcache/ApplicationCacheHost.h:

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
        https://bugs.webkit.org/show_bug.cgi?id=24529

        Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.

        Part 2: Pulling ApplicationCache Resources to Display in the Inspector.

          The InspectorApplicationCacheAgent gathers the information it
          needs and forwards it on to the inspector.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
        (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
        (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
        (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
        (WebCore::ApplicationCacheHost::documentLoader): added const.

          The User Interface uses a DataGrid, like Cookies.

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):

          The usual frontend pull workflow, except this goes through
          InspectorApplicationCacheAgent instead of InspectorController.

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getApplicationCaches):
        (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetApplicationCaches):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.hasChildNodes): style fix.
        (WebInspector.DOMAgent.prototype.nodeForId): style fix.
        (WebInspector.ApplicationCache.getApplicationCachesAsync): pull.
        (WebInspector.Cookies.getCookiesAsync):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.updateManifest):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        (WebInspector._addAppCacheDomain):
        (WebInspector.reset):

          Miscellaneous. Localized Strings and fixes.

        * English.lproj/localizedStrings.js: "Type", "%s (%s)"
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::deleteCookie):
        * inspector/InspectorController.h:

2010-07-04  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
        https://bugs.webkit.org/show_bug.cgi?id=24529

        Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status.

        This patch adds an InspectorApplicationCacheAgent to monitor application
        cache changes, starts a UI in the Storage panel, handles the boilerplate
        of adding new files.

          Added an agent to encapsulate and handle the application cache logic.
          This is similar to the timeline agent.

        * inspector/InspectorApplicationCacheAgent.cpp: Added.
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
        (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
        (WebCore::InspectorApplicationCacheAgent::updateNetworkState):
        * inspector/InspectorApplicationCacheAgent.h: Added.

          InspectorController owns an InspectorApplicationCacheAgent. This
          handles its lifetime management.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend): create the agent with a frontend.
        (WebCore::InspectorController::disconnectFrontend): remove the agent when closing.
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        * inspector/InspectorController.h:

          User Interface for ApplicationCache in the StoragePanel. This follows
          very closely to Cookies, it will have a sortable table of items. The
          status bar contains connectivity and application cache status
          indicators which update when backend messages are received. There
          are some stubs which the next part will implement.

        * inspector/front-end/ApplicationCacheItemsView.js: Added.
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status.
        (WebInspector.ApplicationCacheItemsView.prototype.show):
        (WebInspector.ApplicationCacheItemsView.prototype.hide):
        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator.
        (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator.
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype.resize):
        (WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked):
        (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked):

          The usual dispatch flow from the backend, to the frontend, to the
          panel, and then to the visible view. Some slight refactoring to
          eliminate duplicated code.

        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::updateDOMStorage):
        (WebCore::InspectorFrontend::didGetApplicationCaches):
        (WebCore::InspectorFrontend::updateApplicationCacheStatus):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):
        (WebInspector.StoragePanel.prototype.showDatabase):
        (WebInspector.StoragePanel.prototype.showDOMStorage):
        (WebInspector.StoragePanel.prototype.showCookies):
        (WebInspector.StoragePanel.prototype.showApplicationCache):
        (WebInspector.StoragePanel.prototype._genericViewSetup):
        (WebInspector.StoragePanel.prototype.updateApplicationCacheStatus):
        (WebInspector.StoragePanel.prototype.updateNetworkState):
        (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
        (WebInspector.ApplicationCacheSidebarTreeElement):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatch.delayDispatch):
        (WebInspector.dispatch):
        (WebInspector._addAppCacheDomain):
        (WebInspector.addDOMStorage):
        (WebInspector.updateDOMStorage):

          Notify the InspectorApplicationCacheAgent on application cache changes
          or specifics. Notify the InspectorController on generic resource events.
          That is because ApplicationCacheController is a ResourceClient and needs
          to trigger the resource events normally handled by ResourceLoader.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code.
        (WebCore::ApplicationCacheGroup::setNewestCache): status change.
        (WebCore::ApplicationCacheGroup::makeObsolete): status change.
        (WebCore::ApplicationCacheGroup::update): status change.
        (WebCore::ApplicationCacheGroup::createResourceHandle): resource event.
        (WebCore::ApplicationCacheGroup::willSendRequest): resource event.
        (WebCore::ApplicationCacheGroup::didReceiveResponse): resource event.
        (WebCore::ApplicationCacheGroup::didReceiveData): resource event.
        (WebCore::ApplicationCacheGroup::didFinishLoading): resource event.
        (WebCore::ApplicationCacheGroup::didFail): resource event.
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event.
        (WebCore::ApplicationCacheGroup::manifestNotFound): status change.
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change.
        (WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes.
        * loader/appcache/ApplicationCacheGroup.h:
        * page/Page.cpp:
        (WebCore::networkStateChanged): connectivity status change.

          Final inspector details to add the new file, style new elements,
          images, and localized strings.

        * inspector/front-end/inspector.css:
        (.application-cache-sidebar-tree-item .icon):
        (.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity):
        (.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon):
        (.status-bar-divider):
        (.storage-application-cache-status, .storage-application-cache-connectivity):
        * inspector/front-end/inspector.html:
        * inspector/front-end/Images/applicationCache.png: Added.
        * English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline"

          Updated build files.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/front-end/WebKit.qrc:

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic <col> support to the treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=41590

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic "in row" mode to support <td> and <th> insertion
        https://bugs.webkit.org/show_bug.cgi?id=41588

        Also fixed <td> or <th> as a direct child of <table>.

        Most of this was covered by html5lib/runner.html tests,
        but I had to add a new tables01.dat to cover the <th> cases.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isTableRowScopeMarker):
        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Finish implementing "any other end tag" for "in body" mode
        https://bugs.webkit.org/show_bug.cgi?id=41582

        I believe I found a "bug" in the HTML5 spec when writing this:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Add a missing slash to the list of generated sources. This
        was missing from a previous build fix.

        * GNUmakefile.am:

2010-07-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: preserve scroll positions in source frame when switching between panes.

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

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.hide):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.set visible):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.hide):

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

        Reviewed by Dirk Schulze.

        IE SVG test fails
        https://bugs.webkit.org/show_bug.cgi?id=41619

        Make SVGSVGElement.createSVGTransform create a SVGTransform with the
        right type, thereby fixing the IE test.

        Test: svg/custom/svg-createsvgtransform-type.html

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::createSVGTransform):

2010-07-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: computed style pane is not updated when styles pane is collapsed.

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateStyles):

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Logic to track whether elements are using relative lengths is incomplete
        https://bugs.webkit.org/show_bug.cgi?id=41566

        Add logic to all SVG elements which create renderes to expose a method
        "bool selfHasRelativeLengths()", that returns whether the element uses relative
        lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of
        container children, when the bounds have not changed.

        A new method SVGStyledElement::updateRelativeLengthsInformation() is added,
        which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument.
        It will be implemented in a follow-up patch. This patch does not affect any test behaviour related
        to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now
        properly invalidates clients on attribute changes - covered by a new test.

        Tests: svg/custom/relative-sized-inner-svg.xhtml
               svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
               svg/filters/filter-width-update.svg
 
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths.
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): Ditto.
        (WebCore::RenderSVGRoot::calcViewport): Ditto.
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport): Ditto
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::layoutChildren): Ditto.
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes.
        (WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below.
        * svg/SVGCircleElement.h:
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        (WebCore::SVGEllipseElement::selfHasRelativeLengths):
        * svg/SVGEllipseElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::svgAttributeChanged):
        (WebCore::SVGFilterElement::selfHasRelativeLengths):
        * svg/SVGFilterElement.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
        (WebCore::SVGForeignObjectElement::selfHasRelativeLengths):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):
        (WebCore::SVGImageElement::selfHasRelativeLengths):
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged):
        (WebCore::SVGLineElement::selfHasRelativeLengths):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::svgAttributeChanged):
        (WebCore::SVGLinearGradientElement::selfHasRelativeLengths):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::svgAttributeChanged):
        (WebCore::SVGMarkerElement::selfHasRelativeLengths):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::svgAttributeChanged):
        (WebCore::SVGMaskElement::selfHasRelativeLengths):
        * svg/SVGMaskElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::svgAttributeChanged):
        (WebCore::SVGPatternElement::selfHasRelativeLengths):
        * svg/SVGPatternElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
        (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged):
        (WebCore::SVGRectElement::selfHasRelativeLengths):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):
        (WebCore::SVGSVGElement::selfHasRelativeLengths):
        * svg/SVGSVGElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation().
        (WebCore::SVGStyledElement::removedFromDocument): Ditto.
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes.
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch.
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
        (WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues().
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::svgAttributeChanged):
        (WebCore::SVGSymbolElement::selfHasRelativeLengths):
        * svg/SVGSymbolElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::selfHasRelativeLengths):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::svgAttributeChanged):
        (WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before.
        (WebCore::SVGTextPathElement::selfHasRelativeLengths):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
        (WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths.
        (WebCore::SVGTextPositioningElement::selfHasRelativeLengths):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before.
        (WebCore::SVGUseElement::removedFromDocument): Ditto.
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree.
        (WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element.
        * svg/SVGUseElement.h:

2010-07-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Problem with copying a code from Scripts panel.

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

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._getSelection):
        (WebInspector.TextViewer.prototype._selectionToPosition):

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze / Darin Adler.

        Node.cloneNode does not work on SVG nodes
        https://bugs.webkit.org/show_bug.cgi?id=41421

        Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists.
        When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute
        the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM
        attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning.

        Test: svg/custom/clone-element-with-animated-svg-properties.html

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

2010-07-05  Antti Koivisto  <koivisto@iki.fi>

        Revert unplanned project file change.

        * WebCore.pri:
        * WebCore.pro:

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Darin Adler.

        Memory corruption with SVG <use> element
        https://bugs.webkit.org/show_bug.cgi?id=40994

        Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged()
        when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or
        crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints
        datastructure with the points attribute, no matter if there are changes are not. This should be
        furhter optimized, but this fix is sane and fixes the root of the evil races.

        Test: svg/custom/use-property-synchronization-crash.svg

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged):

2010-07-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js
        https://bugs.webkit.org/show_bug.cgi?id=41595

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

2010-07-04  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        SVG polygons should draw polygons up to the first parsing error
        https://bugs.webkit.org/show_bug.cgi?id=41140

        Render polygons up until the first parsing error.

        Test: svg/custom/poly-parsing-error.html

        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::parseMappedAttribute):

2010-07-04  Alice Liu  <alice.liu@apple.com>

        Reviewed by Dan Bernstein.

        Crash reading past end of block in UniscribeController::shapeAndPlaceItem
        https://bugs.webkit.org/show_bug.cgi?id=41554

        Test: platform/win/fast/text/uniscribe-item-boundary-crash.html

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem):
        Don't look one past the end of str. Instead look to the next item, if applicable.

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic "in table body" mode to support <tr> insertion
        https://bugs.webkit.org/show_bug.cgi?id=41587

        This also adds a (currently untestable?)
        popUntilTableBodyScopeMarker code path.
        Any tags which would be between a tbody a <tr> would end up
        foster parented outside the <table>.  I think the spec was
        just being over-cautious with popUntilTableBodyScopeMarker.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isTableScopeMarker):
        (WebCore::HTMLNames::isTableBodyScopeMarker):
        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-04  Anders Carlsson  <andersca@apple.com>

        Fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs an adoption agency
        https://bugs.webkit.org/show_bug.cgi?id=41453

        Fix Qt Minimal build.  SVGNames.h should always
        be generated, even when SVG is off, however that's
        not how things currently work.

        * html/HTMLTreeBuilder.cpp:

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add a very basic InTable insertion mode
        https://bugs.webkit.org/show_bug.cgi?id=41581

        There is still a bunch of low-hanging fruit left for this
        mode, but even this most-basic support lets us pass 6 more tests. :)

        It's a progression, ship it! :)

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isScopeMarker):
        (WebCore::HTMLNames::isListItemScopeMarker):
        (WebCore::HTMLNames::isTableScopeMarker):
        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::appendMarker):
        * html/HTMLFormattingElementList.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.h:

2010-07-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs an adoption agency
        https://bugs.webkit.org/show_bug.cgi?id=41453

        This changes some test results, but only makes the simplest
        adoption agency cases pass.  I think the code is likely
        very close, but further iteration to make this change larger
        seems counter-productive.  I recommend we check in this
        progression and work from here.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChildCommon):
         - Make sure callers don't assume this will reparent.
        (WebCore::ContainerNode::parserAddChild):
         - Update comment to document lack of reparenting behavior.
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
        (WebCore::HTMLElementStack::ElementRecord::~ElementRecord):
        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
        (WebCore::HTMLElementStack::ElementRecord::isAbove):
         - Added for debugging.
        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
        (WebCore::HTMLElementStack::insertAbove):
         - Needed for the adoption agency.
        (WebCore::HTMLElementStack::topRecord):
        (WebCore::HTMLElementStack::bottom):
        (WebCore::HTMLElementStack::removeHTMLHeadElement):
        (WebCore::HTMLElementStack::remove):
        (WebCore::HTMLElementStack::find):
        (WebCore::HTMLElementStack::topmost):
        (WebCore::HTMLElementStack::contains):
        (WebCore::HTMLElementStack::htmlElement):
        (WebCore::HTMLElementStack::headElement):
        (WebCore::HTMLElementStack::bodyElement):
        (WebCore::HTMLElementStack::pushCommon):
        (WebCore::HTMLElementStack::removeNonTopCommon):
         - Fix the name to match top/bottom.
        * html/HTMLElementStack.h:
        (WebCore::HTMLElementStack::ElementRecord::element):
        (WebCore::HTMLElementStack::ElementRecord::next):
        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
        (WebCore::HTMLElementStack::ElementRecord::setNext):
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
        (WebCore::HTMLFormattingElementList::contains):
        (WebCore::HTMLFormattingElementList::find):
        (WebCore::HTMLFormattingElementList::remove):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::isEmpty):
        (WebCore::HTMLFormattingElementList::size):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
         - Part of the Adoption Agency algorithm.
        (WebCore::HTMLTreeBuilder::findFosterParentFor):
         - Used to move mis-nested content out of tables.
           This doesn't seem to work quite right yet.
        (WebCore::HTMLTreeBuilder::reparentChildren):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
         - The ridiculously long/complicated adoption agency algorithm from HTML5.
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-04  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement
        https://bugs.webkit.org/show_bug.cgi?id=41578

        Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866
        No new tests because behavior is not changed.

        * 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/JSHTMLFrameElementCustom.cpp:
        * bindings/js/JSHTMLIFrameElementCustom.cpp: Removed.
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed.
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:

2010-07-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Implement AfterAfterFramesetMode
        https://bugs.webkit.org/show_bug.cgi?id=41561

        This mode is almost unobservable.  The main way to observe it seems to
        be seeing where comment nodes get attached to the DOM.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-03  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit
        https://bugs.webkit.org/show_bug.cgi?id=41572

        * html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code.
        (WebCore::WebGLRenderingContext::vertexAttrib1f):
        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
        (WebCore::WebGLRenderingContext::vertexAttrib2f):
        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
        (WebCore::WebGLRenderingContext::vertexAttrib3f):
        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
        (WebCore::WebGLRenderingContext::vertexAttrib4f):
        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        * html/canvas/WebGLRenderingContext.h: Helper function declaration.

2010-07-03  Jeremy Orlow  <jorlow@chromium.org>

        Ugh.  Have to put the destructor in the .h file since the .ccp isn't compiled yet.

        * storage/IDBKey.h:
        (WebCore::IDBKey::~IDBKey):

2010-07-03  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.  Forgot destructor.

        * storage/IDBKey.cpp:
        (WebCore::IDBKey::~IDBKey):

2010-06-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Support for keys and in-memory storage for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=41252

        It'll take some time to get data persistence working for IndexedDB,
        so until then, we'll just store everything in an in memory tree.
        The tree uses WTF::AVLTree and is a template so that it can be used by
        object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey ->
        IDBKey).  This class will be used in a subsequent patch.

        Also add an IDBKey type that represents one of these keys.  We use a
        custom toJS function in a way similar to IDBAny to convert from WebCore
        to a JS value.  For converting the other way, we have to teach the code
        generators what to do (unfortunately).  This is done in a way similar
        to serialized script value.  Unlike serialized script value, IDBKey is
        in WebCore and only a helper function is JS engine specific.

        This code is not accessable from layout tests.  (Will fix in
        https://bugs.webkit.org/show_bug.cgi?id=41250)  The bindings tests
        show us that the generated bindings are what we expect.

        * ForwardingHeaders/wtf/AVLTree.h: Added.
        * bindings/js/IDBBindingUtilities.cpp: Added.
        (WebCore::createIDBKeyFromValue):
        * bindings/js/IDBBindingUtilities.h: Added.
        * bindings/js/JSIDBKeyCustom.cpp: Added.
        (WebCore::toJS):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::idbKey):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_idb_key):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj idbKey:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::):
        * bindings/v8/IDBBindingUtilities.cpp: Added.
        (WebCore::createIDBKeyFromValue):
        * bindings/v8/IDBBindingUtilities.h: Added.
        * bindings/v8/custom/V8IDBKeyCustom.cpp: Added.
        (WebCore::toV8):
        * storage/IDBCallbacks.h:
        * storage/IDBKey.cpp: Added.
        (WebCore::IDBKey::IDBKey):
        (WebCore::IDBKey::~IDBKey):
        * storage/IDBKey.h: Added.
        (WebCore::IDBKey::create):
        (WebCore::IDBKey::):
        (WebCore::IDBKey::type):
        (WebCore::IDBKey::string):
        (WebCore::IDBKey::number):
        * storage/IDBKey.idl: Added.
        * storage/IDBKeyTree.h: Added.
        (WebCore::IDBKeyTree::create):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_less):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_less):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::null):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node):
        (WebCore::::IDBKeyTree):
        (WebCore::::~IDBKeyTree):
        (WebCore::::AVLTreeAbstractor::compare_key_key):
        (WebCore::::get):
        (WebCore::::insert):
        (WebCore::::remove):

2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>

        The missing plug-in indicator should be clickable

        https://bugs.webkit.org/show_bug.cgi?id=41550
        <rdar://problem/8132162>

        From an original patch by Kevin Decker.

        Reviewed by Darin Adler.

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::defaultEventHandler):
        If the renderer is a RenderEmbeddedWidget showing the missing plug-in
        indicator, and the event is a click even, call the ChromeClient's
        missingPluginButtonClicked() function.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::missingPluginButtonClicked):
        Declare missingPluginButtonClicked(), and stub the default
        implementation.

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
        Initialize m_showsMissingPluginIndicator.
        (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
        Assert that we're not currently showing any replacement text. Set
        m_showsMissingPluginIndicator after setting the replacement text.
        (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
        Add the same assert as above.

        * rendering/RenderEmbeddedObject.h:
        (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
        Getter for m_showsMissingPluginIndicator.

2010-07-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Move BOM handling out of the lexer and parser
        https://bugs.webkit.org/show_bug.cgi?id=41539

        Update WebCore to ensure that SourceProviders don't
        produce strings with BOMs in them.

        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:
        (WebCore::CachedScript::):
          CachedScript now stores decoded data with the BOMs stripped,
          and caches the presence of BOMs across memory purges.

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

        Include DerivedSources/WebCore before DerivedSources/

        Recently DerivedSources generation was changed, with some files no
        longer being generated in the toplevel DerivedSources
        directory. Since that directory is first in the -I flags the build
        can be broken in some cases by including old files unless a 'make
        clean' is done. Change the -I order to fix the build in the 32 bit
        Release bot.

        * GNUmakefile.am:

2010-07-03  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        Fix issue where a contextmenu event was reporting the wrong target if
        the context menu was shown due to pressing the context menu key
        (or Shift+F10).
        
        Split sendContextMenuForEvent into one case for keyboard events and use
        that when the contextmenu event should be dispatched due to a keypress.

        For the keboard case we now use the focused node as the target for the
        event and use the clipped rect to determine the position of the menu.
        
        https://bugs.webkit.org/show_bug.cgi?id=38129

        Use manual test since DRT does not handle context menu keys.

        * manual-tests/win/contextmenu-key.html: Added.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        * page/EventHandler.h:

2010-07-03  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-03  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port Widget
        https://bugs.webkit.org/show_bug.cgi?id=41538

        Make Widget a dummy class. WebKit Brew MP uses the full screen mode
        and does not use the window system introduced in Brew MP.

        * platform/Widget.h:
        * platform/brew/WidgetBrew.cpp: Added.
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::frameRect):
        (WebCore::Widget::setFrameRect):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::paint):
        (WebCore::Widget::setIsSelected):

2010-07-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement AfterFramesetMode
        https://bugs.webkit.org/show_bug.cgi?id=41560

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Reviewed by Eric Seidel.

        Implement InFramesetMode
        https://bugs.webkit.org/show_bug.cgi?id=41559

        Pretty straighforward.  We still don't handle character tokens
        correctly.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Reviewed by Eric Seidel.

        Handle <frameset> InBody
        https://bugs.webkit.org/show_bug.cgi?id=41558

        Handling the <frameset> tag in the InBody mode is somewhat delicate.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popHTMLBodyElement):
        (WebCore::HTMLElementStack::popUntil):
        (WebCore::HTMLElementStack::popCommon):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Reviewed by Eric Seidel.

        Special handling of <rp> and <rt> tags
        https://bugs.webkit.org/show_bug.cgi?id=41557

        So sayeth the spec.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Reviewed by Eric Seidel.

        Implement special optgroup processing
        https://bugs.webkit.org/show_bug.cgi?id=41556

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Reviewed by Eric Seidel.

        Handle <image> in new parser
        https://bugs.webkit.org/show_bug.cgi?id=41555

        This patch is kind of goofy but apparently how the world works.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::setName):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-02  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Alexey Proskuryakov.

        Remove extra semicolon at the end of HTMLTreeBuilder::attach
        https://bugs.webkit.org/show_bug.cgi?id=41546

        This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach
        causes a warning in RVCT.

        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::attach):

2010-07-02  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Performance::disconnectFrame() needs to disconnect its children
        https://bugs.webkit.org/show_bug.cgi?id=41533

        No new tests because no new functionality.

        * page/Performance.cpp:
        (WebCore::Performance::disconnectFrame):

2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Sam Weinig.

        Checking if WTF_USE_JSC is defined before redefining it in config.h
        https://bugs.webkit.org/show_bug.cgi?id=41530

        * config.h:

2010-07-02  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add vendor prefix to window.performance
        https://bugs.webkit.org/show_bug.cgi?id=41525

        No new tests because window.performance tests not landed yet.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitPerformance):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalWebkitPerformance):
        * page/DOMWindow.idl:

2010-07-02  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Oliver Hunt.

        Minor fix: Diffuse constant is float (not integer)
        https://bugs.webkit.org/show_bug.cgi?id=10412

        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix for GTK+. Try to force a rebuild of the HTMLNames.h
        file first by touching HTMLTagNames.in.

        * html/HTMLTagNames.in:

2010-07-02  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        RGB colors should be clamped to the 0-255 range
        https://bugs.webkit.org/show_bug.cgi?id=39482

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#colors

        Test: fast/canvas/canvas-color-clamping.html

        * css/CSSParser.cpp:
        (WebCore::parseColorInt):
        (WebCore::CSSParser::parseColor):
        (WebCore::parseColorIntFromValue):
        (WebCore::CSSParser::parseColorParameters):

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

        Unreviewed, rolling out r62410.
        http://trac.webkit.org/changeset/62410
        https://bugs.webkit.org/show_bug.cgi?id=41549

        accursed last minute changes (Requested by olliej on #webkit).

        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Further Build fix for GTK+. Also include HTMLElementFactory.h in
        the list of dependencies.

        * GNUmakefile.am:

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix for GTK+. *Names.{cpp,h} targets should now include the
        header files. Also adds the header files to the generated sources list.

        * GNUmakefile.am:

2010-07-02  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        DB clean up.
        https://bugs.webkit.org/show_bug.cgi?id=41404

        1. Made all DatabaseTasks internal classes of Database and made
           the Database methods called by those tasks private.
        2. Removed the Database::stop{ed}() methods.
        3. Removed the code that kept track of open databases from
           ScriptExecutionContext (no longer needed).
        4. Made minor changes to Database::closeImmediately() to make it
           possible for DatabaseThread to call that method instead of
           close().
        5. Minor fix to DatabaseTracker: addOpenDatabase() should call
           OriginQuotaManager::addDatabase() if the origin quota manager
           is not tracking this origin.
        6. Removed Database::performPolicyChecks(). We already update the
           DB size after each transaction, and we enforce a max size for
           the DB at the beginning of each transaction.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::hasOpenDatabases):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        * storage/Database.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTask::performTask):
        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::Database::DatabaseOpenTask::doPerformTask):
        (WebCore::Database::DatabaseOpenTask::debugTaskName):
        (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
        (WebCore::Database::DatabaseCloseTask::doPerformTask):
        (WebCore::Database::DatabaseCloseTask::debugTaskName):
        (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
        (WebCore::Database::DatabaseTransactionTask::doPerformTask):
        (WebCore::Database::DatabaseTransactionTask::debugTaskName):
        (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
        (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
        * storage/DatabaseTask.h:
        (WebCore::Database::DatabaseOpenTask::create):
        (WebCore::Database::DatabaseCloseTask::create):
        (WebCore::Database::DatabaseTransactionTask::create):
        (WebCore::Database::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):

2010-07-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Move BOM handling out of the lexer and parser
        https://bugs.webkit.org/show_bug.cgi?id=41539

        Update WebCore to ensure that SourceProviders don't
        produce strings with BOMs in them.

        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:
        (WebCore::CachedScript::):
          CachedScript now stores decoded data with the BOMs stripped,
          and caches the presence of BOMs across memory purges.

2010-07-02  Sam Weinig  <sam@webkit.org>

        Add missing symbol to exports file.

        * WebCore.base.exp:

2010-07-02  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Fisher.

        Remove the extra setFailed() call in JPEG decoder to prevent
        re-using an already freed object.
        https://bugs.webkit.org/show_bug.cgi?id=41487

        Test: fast/images/large-size-image-crash.html

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

2010-07-02  Peter Beverloo  <peter@lvp-media.com>

        Reviewed by Maciej Stachowiak.

        Add the HTML5 <mark> element. Text content of the element will have
        a yellow background color and black text.

        Test: fast/html/mark-element.html
        Tests for <p> closing, phrasing child content and residual style.

        * css/html.css:
        (mark):
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):
        * html/HTMLTagNames.in:
        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::getNode):
        (WebCore::LegacyHTMLTreeBuilder::isInline):
        (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
        https://bugs.webkit.org/show_bug.cgi?id=41473

        * WebCore.gypi: Add CheckedInt.h.
        * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
        * html/canvas/CheckedInt.h: Added support of safe integer operations.
        (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
        (mozilla::CheckedInt_internal::is_unsupported_type::):
        (mozilla::CheckedInt_internal::):
        (mozilla::CheckedInt_internal::integer_traits::):
        (mozilla::CheckedInt_internal::integer_traits::min):
        (mozilla::CheckedInt_internal::integer_traits::max):
        (mozilla::CheckedInt_internal::has_sign_bit):
        (mozilla::CheckedInt_internal::binary_complement):
        (mozilla::CheckedInt_internal::is_in_range):
        (mozilla::CheckedInt_internal::is_add_valid):
        (mozilla::CheckedInt_internal::is_sub_valid):
        (mozilla::CheckedInt_internal::is_mul_valid):
        (mozilla::CheckedInt_internal::is_div_valid):
        (mozilla::CheckedInt::CheckedInt):
        (mozilla::CheckedInt::value):
        (mozilla::CheckedInt::valid):
        (mozilla::CheckedInt::operator -):
        (mozilla::CheckedInt::operator ==):
        (mozilla::CheckedInt::operator !=):
        (mozilla::operator /):
        (mozilla::cast_to_CheckedInt_impl::run):
        (mozilla::):
        (mozilla::cast_to_CheckedInt):
        (mozilla::operator ==):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
        (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
        (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        linkProgram should fail when vertex/fragment shaders are not both present
        https://bugs.webkit.org/show_bug.cgi?id=41380

        Test: fast/canvas/webgl/program-test.html

        * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
        (WebCore::WebGLProgram::WebGLProgram):
        * html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
        (WebCore::WebGLProgram::isLinkFailureFlagSet):
        (WebCore::WebGLProgram::setLinkFailureFlag):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
        (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
        * html/canvas/WebGLShader.cpp: Cache shader type.
        (WebCore::WebGLShader::WebGLShader):
        * html/canvas/WebGLShader.h: Ditto.
        (WebCore::WebGLShader::getType):

2010-07-02  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt]  Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html

        Support negative width and height in canvas image draw

        * platform/graphics/FloatRect.h:
        * platform/graphics/qt/FloatRectQt.cpp:
        (WebCore::FloatRect::normalized):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):

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

        Reviewed by Alexey Proskuryakov.

        REGRESSION: Enter does not trigger submit of forms when focus is on select.
        https://bugs.webkit.org/show_bug.cgi?id=39532

        Restore behavior where hitting "Enter" on a select element attempts to submit
        form implicitly.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
            and attempting to submit implicitly.
        (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
        (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
        * dom/SelectElement.h: Added htmlForm argument to method declaration.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
            as the argument.

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

        Reviewed by Darin Fisher.

        [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
        https://bugs.webkit.org/show_bug.cgi?id=41508

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
          Use dedicated images for indeterminate states.
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineClassicState):
          Do not use DFCS_CHECKED in a case of indeterminate state in
          order to have consistent appearance of indeterminate checkbox.

2010-07-02  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Gustavo Noronha Silva.

        Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
        Provides an implementation of the 'squiggle' used for
        bad grammar or spelling, based on the Pango logic used
        by the GTK builds.

        No new tests. Covered by LayoutTests/editing/spelling

        * WebCore.vcproj/WebCore.vcproj: Add new file holding underline
        implementation, set to build only for WinCairo port.
        * platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
        (drawErrorUnderline): New file containing the squiggle drawing
        logic based on the Pango implementation.  Placed in its own file
        to isolate licenses.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        Have WinCairo build call new 'drawErrorUnderline' implementation.

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Separate DerivedSources per-project
        https://bugs.webkit.org/show_bug.cgi?id=41109

        Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.

        * GNUmakefile.am:

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Implement OpenGL ES 2.0 semantics for vertex attribute 0
        https://bugs.webkit.org/show_bug.cgi?id=41300

        Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
              fast/canvas/webgl/gl-vertex-attrib.html

        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::numActiveAttribLocations): const.
        (WebCore::WebGLProgram::getActiveAttribLocation): const.
        (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
        * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
        (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
        (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
        (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
        (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
        (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
        (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
        (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Need to validate the size of the incoming arrays for uniform* functions
        https://bugs.webkit.org/show_bug.cgi?id=41383

        * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::validateUniformParameters):
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
        * html/canvas/WebGLRenderingContext.h: Add helper functions.

2010-07-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear

        The implementation of PathQt's addArcTo() was not float-safe and also had
        a case where it drew an 'infinite' line, which is not part of the spec.

        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto

        We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
        also had the same problem, and was refactored a bit in the process of fixing
        the bug.

        Initial patch by Andreas Kling.

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

        * platform/graphics/qt/PathQt.cpp:

2010-07-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
        https://bugs.webkit.org/show_bug.cgi?id=41511

        Tests: fast/events/popup-blocked-from-fake-user-gesture.html
               http/tests/inspector/change-iframe-src.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
        from the call stack. Get event directly from hidden property to avoid unnecessary checks.
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::eventAccessorGetter):
        (WebCore::V8DOMWindow::eventAccessorSetter):

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

        Reviewed by Eric Seidel.

        Fix tokenization of <!----->
        https://bugs.webkit.org/show_bug.cgi?id=41505

        I noticed this error when browsing through the HTML5lib failures.
        We're adding an extra character to the comment token, contrary to what
        the spec says to do.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

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

        Reviewed by Eric Seidel.

        Implement processFakePEndTagIfPInScope
        https://bugs.webkit.org/show_bug.cgi?id=41503

        This is a common idiom because <p> likes to close itself.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        Implement AfterAfterBodyMode
        https://bugs.webkit.org/show_bug.cgi?id=41501

        In implementing this mode, I noticed a bug in the character processing
        of the AfterBodyMode, which I fixed by adding a break statement.  Also,
        to get one of the new tests to pass, I needed to implement one
        notImplemented() in the InBody insertion mode.  Yay for testing.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Unreviewed, rolling out r62371.
        http://trac.webkit.org/changeset/62371
        https://bugs.webkit.org/show_bug.cgi?id=41515

        "Breaks media/controls-drag-timebar.html on 32-Bit Release"
        (Requested by philn-tp on #webkit).

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateGStreamer::updateStates):

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

        Reviewed by Xan Lopez.

        [GStreamer] can't seek past maxTimeLoaded value
        https://bugs.webkit.org/show_bug.cgi?id=40526

        Extended the seekable range to the whole media. This allows video
        played with progressive download to be seeked past the current
        buffered position.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateGStreamer::updateStates):

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

        Reviewed by Eric Seidel.

        Implement AfterBodyMode for HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41500

        In the coarse of implementing this state, I ran into an ASSERT in how
        </br> tags where handled, which I fixed.  Technically, that could be a
        separate patch, but it seemed harmless to include it here (with tests).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
        * html/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        Handle <base> and friends in AfterHeadMode
        https://bugs.webkit.org/show_bug.cgi?id=41502

        Implement notImplemented() per spec.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-01  Oliver Hunt  <oliver@apple.com>

        Build fix

        * dom/Document.h:

2010-07-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Add a FixedArray template to encapsulate fixed length arrays
        https://bugs.webkit.org/show_bug.cgi?id=41506

        Add forwarding header, and replace a few fixed length arrays
        with the new FixedArray type.

        * ForwardingHeaders/wtf/FixedArray.h: Added.
        * dom/Document.h:
        * platform/graphics/GlyphMetricsMap.h:

2010-07-01  Simon Fraser  <simon.fraser@apple.com>

        No review.

        Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().

        * WebCore.AcceleratedCompositing.exp:

2010-07-01  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add window.performance.navigation namespace
        https://bugs.webkit.org/show_bug.cgi?id=41442

        Adds window.performance.navigation namespace consisting of ".type"
        and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
        to just "Timing" to avoid confusion.

        No new tests because tests will be added in a subsequent patch when
        functionality is added.

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Navigation.cpp: Added.
        (WebCore::Navigation::Navigation):
        (WebCore::Navigation::frame):
        (WebCore::Navigation::disconnectFrame):
        (WebCore::Navigation::type):
        (WebCore::Navigation::redirectCount):
        * page/Navigation.h: Added.
        (WebCore::Navigation::create):
        * page/Navigation.idl: Added.
        * page/NavigationTiming.cpp: Removed.
        * page/NavigationTiming.h: Removed.
        * page/NavigationTiming.idl: Removed.
        * page/Performance.cpp:
        (WebCore::Performance::navigation):
        (WebCore::Performance::timing):
        * page/Performance.h:
        * page/Performance.idl:
        * page/Timing.cpp: Added.
        (WebCore::Timing::Timing):
        (WebCore::Timing::frame):
        (WebCore::Timing::disconnectFrame):
        (WebCore::Timing::navigationStart):
        * page/Timing.h: Added.
        (WebCore::Timing::create):
        * page/Timing.idl: Added.

2010-07-01  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Jian Li.

        [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
        https://bugs.webkit.org/show_bug.cgi?id=41493

        ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
        be non-empty if url is valid.

        No new tests.

        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::writeURL):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Clamp color stops passed to QGradient to 1.0
        [https://bugs.webkit.org/show_bug.cgi?id=41484

        Fixes an issue where color stops would be silently dropped from radial gradients.

        * platform/graphics/qt/GradientQt.cpp:
        (WebCore::Gradient::platformGradient):

2010-07-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTokenizer should ASSERT that it never emits a null character
        https://bugs.webkit.org/show_bug.cgi?id=41448

        No functional change, thus no tests.  These ASSERTs would have
        caught the coding error which caused the trouble in bug 41436
        (which was fixed by bug 41439).

        * html/HTMLToken.h:
        (WebCore::HTMLToken::beginStartTag):
        (WebCore::HTMLToken::beginCharacter):
        (WebCore::HTMLToken::beginDOCTYPE):
        (WebCore::HTMLToken::appendToName):
        (WebCore::HTMLToken::appendToComment):
        (WebCore::HTMLToken::appendToAttributeName):
        (WebCore::HTMLToken::appendToAttributeValue):
        (WebCore::HTMLToken::appendToPublicIdentifier):
        (WebCore::HTMLToken::appendToSystemIdentifier):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Canvas: Don't paint with empty radial gradients
        https://bugs.webkit.org/show_bug.cgi?id=41190

        If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect):
        * platform/graphics/Gradient.h:
        (WebCore::Gradient::isZeroSize):

2010-07-01  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Add interface for network platform to pass up timing information
        https://bugs.webkit.org/show_bug.cgi?id=41437

        The Web Timing feature requires the network platform to expose detailed
        timing information for the main resource. This patch adds that data to
        the ResourceResponseBase. Since the 82 bytes of information is only
        needed for the main resource, it is a RefPtr to avoid using the memory
        for other resource types.

        No new tests because no new functionality.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/ResourceLoadTiming.h: Added.
        (WebCore::ResourceLoadTiming::create):
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::operator!=):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::copyData):
        (WebCore::ResourceResponseBase::resourceLoadTiming):
        (WebCore::ResourceResponseBase::setResourceLoadTiming):
        (WebCore::ResourceResponseBase::compare):
        * platform/network/ResourceResponseBase.h:

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

        Unreviewed, rolling out r62321.
        http://trac.webkit.org/changeset/62321
        https://bugs.webkit.org/show_bug.cgi?id=41494

        Broke the non-win builds. (Requested by dumi on #webkit).

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::addOpenDatabase):
        (WebCore::ScriptExecutionContext::removeOpenDatabase):
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::ContextRemoveOpenDatabaseTask::create):
        (WebCore::ContextRemoveOpenDatabaseTask::performTask):
        (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
        (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        (WebCore::Database::stop):
        (WebCore::Database::performPolicyChecks):
        * storage/Database.h:
        (WebCore::Database::):
        (WebCore::Database::stopped):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTask::performTask):
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        (WebCore::DatabaseOpenTask::debugTaskName):
        (WebCore::DatabaseCloseTask::DatabaseCloseTask):
        (WebCore::DatabaseCloseTask::doPerformTask):
        (WebCore::DatabaseCloseTask::debugTaskName):
        (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
        (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
        (WebCore::DatabaseTransactionTask::doPerformTask):
        (WebCore::DatabaseTransactionTask::debugTaskName):
        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::DatabaseTableNamesTask::doPerformTask):
        (WebCore::DatabaseTableNamesTask::debugTaskName):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):
        (WebCore::DatabaseCloseTask::create):
        (WebCore::DatabaseTransactionTask::create):
        (WebCore::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):

2010-07-01  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Stop using GdkRegion in 3.x mode
        https://bugs.webkit.org/show_bug.cgi?id=41463

        Make us compile without using GdkRegion, since it's gone from GTK+
        3.x.

        * platform/graphics/IntRect.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::cairo_region_shrink):
        (WebCore::Font::drawComplexText):
        * platform/gtk/GtkPluginWidget.cpp:
        (WebCore::GtkPluginWidget::paint):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/ScrollbarGtk.cpp:
        (ScrollbarGtk::paint):

2010-06-30  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        DB clean up.
        https://bugs.webkit.org/show_bug.cgi?id=41404

        1. Made all DatabaseTasks internal classes of Database and made
           the Database methods called by those tasks private.
        2. Removed the Database::stop{ed}() methods.
        3. Removed the code that kept track of open databases from
           ScriptExecutionContext (no longer needed).
        4. Made minor changes to Database::closeImmediately() to make it
           possible for DatabaseThread to call that method instead of
           close().
        5. Minor fix to DatabaseTracker: addOpenDatabase() should call
           OriginQuotaManager::addDatabase() if the origin quota manager
           is not tracking this origin.
        6. Removed Database::performPolicyChecks(). We already update the
           DB size after each transaction, and we enforce a max size for
           the DB at the beginning of each transaction.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::hasOpenDatabases):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        * storage/Database.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTask::performTask):
        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::Database::DatabaseOpenTask::doPerformTask):
        (WebCore::Database::DatabaseOpenTask::debugTaskName):
        (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
        (WebCore::Database::DatabaseCloseTask::doPerformTask):
        (WebCore::Database::DatabaseCloseTask::debugTaskName):
        (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
        (WebCore::Database::DatabaseTransactionTask::doPerformTask):
        (WebCore::Database::DatabaseTransactionTask::debugTaskName):
        (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
        (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
        * storage/DatabaseTask.h:
        (WebCore::Database::DatabaseOpenTask::create):
        (WebCore::Database::DatabaseCloseTask::create):
        (WebCore::Database::DatabaseTransactionTask::create):
        (WebCore::Database::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):

2010-07-01  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Support indeterminate checkbox for Windows
        https://bugs.webkit.org/show_bug.cgi?id=41444

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineState):
         Check isIndeterminate() and set an appropriate flag value.

2010-07-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=41488
        <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor

        Test: plugins/js-from-destroy.html

        * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
        document loader.

2010-07-01  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8113003> Correctly fire beforeload events for images
        added to the DOM using .innerHTML.
        https://bugs.webkit.org/show_bug.cgi?id=40919

        Test: fast/dom/beforeload/image-before-load-innerHTML.html

        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
        image beforeload events immediately after parsing a document fragment.
        Let the events fire later, giving the fragment time to potentially be
        inserted into the document.

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
        https://bugs.webkit.org/show_bug.cgi?id=41192

        If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
        move to the (first) control point before adding the curve.

        Spec links:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
        (WebCore::CanvasRenderingContext2D::bezierCurveTo):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
        https://bugs.webkit.org/show_bug.cgi?id=39149

        If assigned a negative value, it should default to 300 for width and 150 for height.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width

        Test: fast/canvas/canvas-negative-size.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):

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

        Reviewed by Steve Falkenburg.

        Turn on adoptRef assertion for TreeShared.

        * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
        Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
        removing them all now.

        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
        storage leak before, probably recently introduced r61324.
        (WebCore::ShadowInputElement::create): Ditto.

2010-07-01  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Only include the geolocation IDL in the GObject DOM bindings set
        if geolocation is enabled.

        * GNUmakefile.am:

2010-07-01  Timothy Hatcher  <timothy@apple.com>

        Provide a WebView preference to disable DNS prefetching.

        https://bugs.webkit.org/show_bug.cgi?id=28825
        rdar://problem/7181249

        Reviewed by Darin Adler.

        * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
        * dom/Document.cpp:
        (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
        (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
        * page/Settings.h:
        (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.

2010-07-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Get accelerated compositing working with webkit2
        https://bugs.webkit.org/show_bug.cgi?id=41084

        Step 2: add a  method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
        batched changes non-recursively. This allows us to use GraphicsLayer in places where we
        don't want to kick off a recursive commit of the entire tree.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
        * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.

2010-07-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Get accelerated compositing working with webkit2
        https://bugs.webkit.org/show_bug.cgi?id=41084

        Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
        is defined.
        
        Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.

        * DerivedSources.make:
        * WebCore.AcceleratedCompositing.exp: Added.
        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:

2010-07-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
        REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction

        Test: plugins/write-xssauditor-from-destroy.html

        Fix specific known cases that also crash in same process case. I don't know if there is
        any rule for when documentLoader should be checked for being null, it looks like a mess.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::referrer):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
        https://bugs.webkit.org/show_bug.cgi?id=40271

        Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        [Qt] Canvas: clip() should use non-zero winding rule
        https://bugs.webkit.org/show_bug.cgi?id=41466

        Use non-zero winding number rule when clipping a GraphicsContext from canvas.
        Fixes appearance of the "pill" in the web inspector.

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

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

        Unreviewed, rolling out r62246.
        http://trac.webkit.org/changeset/62246
        https://bugs.webkit.org/show_bug.cgi?id=41470

        "Worker tests are broken in Chromium" (Requested by yurys on
        #webkit).

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::eventAccessorGetter):
        (WebCore::V8DOMWindow::eventAccessorSetter):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Canvas: Exception erroneously thrown for drawImage() when image.complete=false
        https://bugs.webkit.org/show_bug.cgi?id=33968

        Do nothing in drawImage() if called with an image whose 'complete'
        attribute is false, or a video whose readyState is either HAVE_NOTHING
        or HAVE_METADATA.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage

        Test: fast/canvas/canvas-drawImage-incomplete.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2010-07-01  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dan Bernstein.

        Prevent crash on counter destruction
        https://bugs.webkit.org/show_bug.cgi?id=40032

        Added counter destruction to RenderWidget::destroy()

        Test: fast/css/counters/destroy-counter-crash.html

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

2010-07-01  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix after r62215.

        No new functionality, so no new tests.

        * CMakeLists.txt: Add missing files and re-sort.

2010-07-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove an unneeded assert.

        This assert is triggered for example while showing the falling leaves demo.
        GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
        pointer is null. Looking at the uses of this method it seems like
        it is expected to return null if a null pointer is given to it.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::toGraphicsLayerQtImpl):

2010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix qmake vcproj generation for QtWebKit.

        qmake use TARGET=/LIBS+= -lTARGET to create dependencies
        between projects in a subdir template.

        Since when compiling outside of Qt we hijack the target name of
        QtWebKit to add the configuration and version suffix to the binary
        filename, qmake can't establish the WebCore project as a dependency
        to QtTestBrowser.

        This patch makes sure that the target is not hijacked on the
        first of the three passes where the dependencies are determined.

        * WebCore.pro:

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

        Reviewed by Dirk Schulze.

        SVGRenderStyle::diff() is missing
        https://bugs.webkit.org/show_bug.cgi?id=41455

        Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
        Figure out when to repaint, and as last resort do a relayout.

        Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):
        * rendering/style/SVGRenderStyle.h:

2010-07-01  Antti Koivisto  <koivisto@iki.fi>

        Revert accidental commit.

        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):

2010-07-01  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
        https://bugs.webkit.org/show_bug.cgi?id=40984

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::finishRenderSVGContent):

2010-07-04  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Dirk Schulze.

        Buildfix for !ENABLE(FILTERS) after r62238.
        https://bugs.webkit.org/show_bug.cgi?id=41456

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):

2010-07-01  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix.

        * rendering/RenderInputSpeech.cpp:
        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
        * rendering/RenderInputSpeech.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintInputFieldSpeechButton):
        * rendering/RenderTheme.h:

2010-07-01  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Rendering the speech button in input elements.
        https://bugs.webkit.org/show_bug.cgi?id=40984

        The button currently has only one state and rendered as an image on all platforms. Subsequent
        patches will add user input handling and more states + rendering code to the button. The
        button's appearance can be customized by individual ports in their RenderTheme implementation
        if required.

        Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
               platform/mac/fast/forms/input-appearance-searchandspeech.html
               platform/mac/fast/forms/input-appearance-speechbutton.html

        * GNUmakefile.am:
        * Resources/inputSpeech.png: Added.
        * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.qrc:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap): Load the speech button images for Qt port.
        * rendering/RenderInputSpeech.cpp: Added.
        (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
        * rendering/RenderInputSpeech.h: Added.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
        (WebCore::RenderTheme::paintInputFieldSpeechButton):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
        speech button when enabled.

2010-07-01  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41447

        Extra null check added.

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

2010-07-01  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
        https://bugs.webkit.org/show_bug.cgi?id=41350

        Tests: fast/events/popup-blocked-from-fake-user-gesture.html
               http/tests/inspector/change-iframe-src.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
        from the call stack. Get event directly from hidden property to avoid unnecessary checks.
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::eventAccessorGetter):
        (WebCore::V8DOMWindow::eventAccessorSetter):

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

        Reviewed by Dirk Schulze.

        RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
        https://bugs.webkit.org/show_bug.cgi?id=41450

        strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
        instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
        which has a resource applied and contains a children which also has a resource applied.

        Doesn't affect any test results.

        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::objectBoundingBox):
        (WebCore::RenderSVGContainer::strokeBoundingBox):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
        (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        * rendering/RenderSVGRoot.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBox):
        * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.

2010-07-01  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Implementing feConvolveMatrix svg filter
        https://bugs.webkit.org/show_bug.cgi?id=5861

        The implementation is optimized for speed, and uses
        multiple algorithms for different parts of the image.
        See SVGFEConvolveMatrixElement.cpp for a detailed
        description.

        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::clampRGBAValue):
        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
        (WebCore::FEConvolveMatrix::getPixelValue):
        (WebCore::FEConvolveMatrix::fastSetOuterPixels):
        (WebCore::FEConvolveMatrix::setInteriorPixels):
        (WebCore::FEConvolveMatrix::setOuterPixels):
        (WebCore::FEConvolveMatrix::apply):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):

2010-07-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Abstract 'a'-'z' checks into a function
        https://bugs.webkit.org/show_bug.cgi?id=41438

        Hopefully this version is more readable.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-07-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
        https://bugs.webkit.org/show_bug.cgi?id=41345

        Apparently whether an HTML entity requires a trailing semicolon varies
        depending on the entity.  The full table is in the spec:

        http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references

        I believe branch added in this patch is accurate.  At some point, I'll
        add a full test suite for all the named entities.

        * html/HTMLEntityParser.cpp:
        (WebCore::consumeHTMLEntity):

2010-07-01  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Fix paste-o in Gtk build file.

        Split out HTMLFormattingElementList into its own file
        https://bugs.webkit.org/show_bug.cgi?id=41440

        * GNUmakefile.am:

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

        Reviewed by Eric Seidel & Dirk Schulze.

        Performance regression for setting content of <text> in SVG
        https://bugs.webkit.org/show_bug.cgi?id=36564

        Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
        Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
        Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
        And as RenderSVGRoot never carries shadow or opacity it was completly useless.

        RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
        These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
        the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.

        50 runs without the patch: ~ 520.8ms
        50 runs with the patch   : ~ 501.8ms

        The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
        element withs clippers applied, is very cheap now.

        Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
        of the cache - just like all other resources are handled, simplifying the code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
        (WebCore::SVGRenderSupport::finishRenderSVGContent):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):

2010-07-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split out HTMLFormattingElementList into its own file
        https://bugs.webkit.org/show_bug.cgi?id=41440

        No functional changes, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-07-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        BogusCommentState should come in from the cold
        https://bugs.webkit.org/show_bug.cgi?id=41439

        The BogusCommentState has always been wrong.  The proximate issue is
        that it didn't handle resuming correctly when parsing a partial input
        stream.  Now that we have EOF working properly, we can actually
        implement this state correctly.

        We need to distinguish when we enter this state from when we continue
        in this state.  We could do that with a branch for each character, but
        it seemed easier to split the state in two, even though that leaves us
        with one more state in our tokenizer than we have in the HTML5 spec.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::):

2010-06-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTokenizer's whitespace checks are very redundant
        https://bugs.webkit.org/show_bug.cgi?id=41434

        This patch adds isTokenizerWhitespace, which replaces a lot of
        redundant logic in nextToken.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-06-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Crash when uploading document to Google Docs
        https://bugs.webkit.org/show_bug.cgi?id=40795

        Fix bug where the local file wasn't opened (for POSTing)
        if it were the first element in the form.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::FormDataIODevice::FormDataIODevice):
        (WebCore::FormDataIODevice::moveToNextElement):
        (WebCore::FormDataIODevice::openFileForCurrentElement):
        * platform/network/qt/QNetworkReplyHandler.h:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement generateImpliedEndTags and deploy to steps which were blocked on it
        https://bugs.webkit.org/show_bug.cgi?id=41432

        This fixes one subtest in html5lib/runner.html and positively
        effects a couple others.

        More code sharing will be needed here.  For the moment
        we're using copy/paste code, but that will soon be shared.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
        * html/HTMLTreeBuilder.h:

2010-06-30  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r62196 and r62214.

        * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of 
        !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.

2010-06-30  Sam Weinig  <sam@webkit.org>

        Really fix the windows build.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Another Chromium build fix.

        * page/DOMWindow.idl:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Fix Chromium build.

        * WebCore.gyp/WebCore.gyp:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Fix Gtk build.

        * GNUmakefile.am:

2010-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
        <rdar://problem/8126069>
        Implement the .dataset DOM property

        Tests: fast/dom/dataset-xhtml.xhtml
               fast/dom/dataset.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMStringMapCustom.cpp: Added.
        (WebCore::JSDOMStringMap::canGetItemsForName):
        (WebCore::JSDOMStringMap::nameGetter):
        (WebCore::JSDOMStringMap::getOwnPropertyNames):
        (WebCore::JSDOMStringMap::deleteProperty):
        (WebCore::JSDOMStringMap::putDelegate):
        * bindings/js/JSDOMStringMapCustom.h: Added.
        * dom/DOMStringMap.cpp: Added.
        (WebCore::DOMStringMap::~DOMStringMap):
        * dom/DOMStringMap.h: Added.
        (WebCore::DOMStringMap::DOMStringMap):
        * dom/DOMStringMap.idl: Added.
        * dom/DatasetDOMStringMap.cpp: Added.
        (WebCore::isValidAttributeName):
        (WebCore::convertAttributeNameToPropertyName):
        (WebCore::propertyNameMatchesAttributeName):
        (WebCore::isValidPropertyName):
        (WebCore::convertPropertyNameToAttributeName):
        (WebCore::DatasetDOMStringMap::ref):
        (WebCore::DatasetDOMStringMap::deref):
        (WebCore::DatasetDOMStringMap::getNames):
        (WebCore::DatasetDOMStringMap::item):
        (WebCore::DatasetDOMStringMap::contains):
        (WebCore::DatasetDOMStringMap::setItem):
        (WebCore::DatasetDOMStringMap::deleteItem):
        * dom/DatasetDOMStringMap.h: Added.
        (WebCore::DatasetDOMStringMap::create):
        (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
        * dom/Element.cpp:
        (WebCore::Element::dataset):
        * dom/Element.h:
        * dom/Element.idl:
        * dom/ElementRareData.h:
        * page/DOMWindow.idl:

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

        More Qt build fix.

        * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
        include of SVGNames.h too.

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

        Reviewed by Adam Barth.

        Add assertion, off by default, for when you forget to do adoptRef
        https://bugs.webkit.org/show_bug.cgi?id=41422

        * platform/TreeShared.h: Added code to require adoption and assert if
        you don't call adoptRef. For now, it is turned off because of the
        LOOSE_TREE_SHARED define in this header. Later we can turn it on
        once we get everything working without asserting. Note also that it
        only works for objects with an initial reference count of 1.

2010-06-30  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
        https://bugs.webkit.org/show_bug.cgi?id=41429

        * html/HTMLElementStack.cpp:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add new popUntil(tagName) function and deploy
        https://bugs.webkit.org/show_bug.cgi?id=41405

        Add a new popUntil function to share some common code
        between states.  There is more code to share here, but this
        is a start.

        I also filled in a couple similar states to these with the
        hope of sharing more code, but decided to wait for a later
        patch.

        No test changes, since this code doesn't do enough yet to
        pass any more subtests.  Lack of generateImpliedEndTags is the main
        blocking issue.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popUntil):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

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

        Reviewed by Gustavo Noronha.

        [GTK] Unit test for DOM insertion methods
        https://bugs.webkit.org/show_bug.cgi?id=40495

        Fix typo in custom function detection method.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTML5 "in scope" algorithm and attempt to use it
        https://bugs.webkit.org/show_bug.cgi?id=41402

        Implemented the 4 needed "in scope" functions for HTML5.
        3 for the different sets of scope markers, and one for
        doing exact element comparisons instead of tag name searches.

        I deployed inScope("body") for </body> and </html> in InBody.

        Adds two new (expected) failures, since we're now
        switching out of InBody to AfterBody when seeing
        </html>.  We don't implement AfterBody yet, so
        the rest of the content after </html> is ignored.

        * html/HTMLElementStack.cpp:
        (WebCore::inScopeCommon):
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::inListItemScope):
        (WebCore::HTMLElementStack::inTableScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split HTMLElementStack out into its own file
        https://bugs.webkit.org/show_bug.cgi?id=41399

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementStack.cpp: Added.
        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
        (WebCore::HTMLElementStack::ElementRecord::element):
        (WebCore::HTMLElementStack::ElementRecord::next):
        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
        (WebCore::HTMLElementStack::ElementRecord::setNext):
        (WebCore::HTMLElementStack::HTMLElementStack):
        (WebCore::HTMLElementStack::~HTMLElementStack):
        (WebCore::HTMLElementStack::popHTMLHeadElement):
        (WebCore::HTMLElementStack::pop):
        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
        (WebCore::HTMLElementStack::pushHTMLHeadElement):
        (WebCore::HTMLElementStack::pushHTMLBodyElement):
        (WebCore::HTMLElementStack::push):
        (WebCore::HTMLElementStack::top):
        (WebCore::HTMLElementStack::removeHTMLHeadElement):
        (WebCore::HTMLElementStack::remove):
        (WebCore::HTMLElementStack::contains):
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::htmlElement):
        (WebCore::HTMLElementStack::headElement):
        (WebCore::HTMLElementStack::bodyElement):
        (WebCore::HTMLElementStack::pushCommon):
        (WebCore::HTMLElementStack::popCommon):
        (WebCore::HTMLElementStack::removeNonFirstCommon):
        * html/HTMLElementStack.h: Added.
        * html/HTMLTreeBuilder.h:

2010-06-30  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
        https://bugs.webkit.org/show_bug.cgi?id=38040

        Changed custom ArrayBufferView constructors to create a
        fully-initialized, zero-length array when called with zero
        arguments. This is the simplest fix which works identically in
        both the JSC and V8 bindings.

        Test: fast/canvas/webgl/array-buffer-view-crash.html

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):

2010-06-30  Victor Wang  <victorw@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] update webcore gyp to use v8 dll for chromium multi dll build.

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

        * WebCore.gyp/WebCore.gyp:

2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.

        On OS X, with font management software installed. Fonts
        can reside in an arbitrary path on disk which is blocked by
        Chromium's sandbox.

        This change adds hooks to FontPlaformData which allow cross-process
        font loading in case of need.

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

        Not possible to test - requires sandboxing which DRT doesn't support.

        * WebCore.gypi:
        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::setFont):
        (WebCore::FontPlatformData::roundsGlyphAdvances):
        (WebCore::FontPlatformData::allowsLigatures):
        (WebCore::FontPlatformData::description):

2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dan Bernstein.

        Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm

        * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
        * Fix a typo in FontPlatformDataMac.mm

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

        No behavior changes so no new tests.

        * platform/graphics/mac/FontPlatformDataMac.mm:
        (WebCore::FontPlatformData::description):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::copyFontTableForTag):

2010-06-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
        https://bugs.webkit.org/show_bug.cgi?id=41407

        Only disallow calling SetWindow more than once if we're using Flash 9 or older.
        This fixes resizing of YouTube videos via the player's own button.

        Removed copy-pasted logic in PluginViewGtk since the issue only exists
        when running Flash with a non-Gtk toolkit.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):
        * plugins/PluginQuirkSet.h:
        (WebCore::):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2010-06-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antti Koivisto.

        [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
        https://bugs.webkit.org/show_bug.cgi?id=41406

        NPRect has right/bottom instead of width/height.
        This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2010-06-30  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
        https://bugs.webkit.org/show_bug.cgi?id=41160

        Patch addresses the problem of spatial navigation not work properly with nested
        inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
        if a give node is descendant of a given document or any parent of it.

        Test: fast/events/spatial-navigation/snav-iframe-nested.html

        * page/FocusController.cpp:
        (WebCore::FocusController::deepFindFocusableNodeInDirection):
        * page/SpatialNavigation.cpp:
        (WebCore::isNodeDeepDescendantOfDocument):
        * page/SpatialNavigation.h:

2010-06-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTokenizer should use fewer macros
        https://bugs.webkit.org/show_bug.cgi?id=41397

        Macros are sadness.  Inline functions are the new hotness.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processEntity):
        (WebCore::HTMLTokenizer::emitAndResumeIn):
        (WebCore::HTMLTokenizer::emitAndReconsumeIn):
        (WebCore::HTMLTokenizer::emitEndOfFile):
        (WebCore::HTMLTokenizer::flushBufferedEndTag):
        (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::bufferCharacter):
        (WebCore::HTMLTokenizer::bufferCodePoint):
        (WebCore::HTMLTokenizer::bufferParseError):
        (WebCore::HTMLTokenizer::bufferCurrentToken):
        (WebCore::HTMLTokenizer::bufferEndOfFile):
        * html/HTMLTokenizer.h:

2010-06-30  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Remove dead binding code
        https://bugs.webkit.org/show_bug.cgi?id=41388

        Removed BindingElement because it was obsoleted by r59866.

        * WebCore.gypi:
        * bindings/generic/BindingElement.h: Removed.
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/V8Binding.h:
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTokenizer needs EndOfFile support
        https://bugs.webkit.org/show_bug.cgi?id=41344

        EndOfFile support uncovered a bug in our implementation of finish().
        finish() may be called more than once if the first call does not
        result in end() being called (and parsing thus actually stopping).

        SegmentedString::close() should have ASSERTed that it was not already
        closed when close() is called.  I've added such an assert now.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finish):
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::close):
        * platform/text/SegmentedString.h:

2010-06-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTokenizer needs EndOfFile support
        https://bugs.webkit.org/show_bug.cgi?id=41344

        We're using \0 as the EndOfFile marker as HTML5 replaces
        all other \0 with \0xFFFD.  Added some special case logic
        to InputStreamPreprocessor::peek not to replace \0 when
        its being used at the end of a stream.

        This fixed 60 subtests in html5lib/runner.html.

        There are still at least two states (BogusCommentState and
        CDATASectionState) which do not have proper EOF support.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::finishWasCalled):
        * html/HTMLInputStream.h:
        (WebCore::HTMLInputStream::markEndOfFile):
        (WebCore::HTMLInputStream::haveSeenEndOfFile):
        * html/HTMLToken.h:
        (WebCore::HTMLToken::makeEndOfFile):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::emitEndOfFile):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
        https://bugs.webkit.org/show_bug.cgi?id=41337

        Had to teach ElementStack to store pointers to html, head, and body
        elements.

        This fixed a few tests in LayoutTests/html5lib.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
        (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
        (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
        (WebCore::HTMLTreeBuilder::insertElement):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
        (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
        (WebCore::HTMLTreeBuilder::ElementStack::push):
        (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::ElementStack::remove):
        (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
        (WebCore::HTMLTreeBuilder::ElementStack::headElement):
        (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
        (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
        (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):

2010-06-30  José Millán Soto  <jmillan@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Text attributes not exposed
        https://bugs.webkit.org/show_bug.cgi?id=25528

        Implemented the get_run_attributes and get_default_attributes
        functions for the ATK_TEXT role.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getAttributeSetForAccessibilityObject):
        (compareAttribute):
        (attributeSetDifference):
        (accessibilityObjectLength):
        (getAccessibilityObjectForOffset):
        (getRunAttributesFromAccesibilityObject):
        (webkit_accessible_text_get_run_attributes):
        (webkit_accessible_text_get_default_attributes):

2010-06-30  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix Sec-WebSocketKey{1,2} headers.

        According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
        should not start or end with a space.

        WebSocket: Malformed handshake headers in a worker due to rand_s failing
        https://bugs.webkit.org/show_bug.cgi?id=41327

        No new tests. ASSERT should catch the problem.

        * websockets/WebSocketHandshake.cpp:
        (WebCore::generateSecWebSocketKey):

2010-06-30  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 41339 - unicode-range property only with a descending range
        causes a crash

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

        Test: fast/css/font-face-descending-unicode-range.html

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

2010-06-29  Abhinav Mithal <abhinav.mithal@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
        https://bugs.webkit.org/show_bug.cgi?id=37303

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::platformDestroy):

2010-06-29  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Implement getAttachedShaders
        https://bugs.webkit.org/show_bug.cgi?id=31172

        * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
        (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
        * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
        * html/canvas/WebGLRenderingContext.idl: Ditto.
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().

2010-06-29  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        REGRESSION: [Chromium] <progress> appearance on windows looks not good
        https://bugs.webkit.org/show_bug.cgi?id=41343
        
        RenderThemeChromiumWin::paintProgressBar() should return false,
        which indicates the widget is painted.
        
        Test: fast/dom/HTMLProgressElement/progress-element.html
              * rebaselined with a wrong expectation.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-29  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Fix http/tests/local/blob/send-data-blob.html on Windows
        https://bugs.webkit.org/show_bug.cgi?id=41228

        Fix a regression bug in the line-conversion code.
        Rewrite the line-conversion function with simpler functions to
        make it less error prone.

        No new tests as this is for bug fixes.

        * platform/BlobItem.cpp:
        (WebCore::StringBlobItem::convertToCString):

2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        Implementing DatabaseSync::openDatabaseSync().
        https://bugs.webkit.org/show_bug.cgi?id=40607

        1. Moved some common code from Database to AbstractDatabase.
        2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
           need to interact with DatabaseThread.
        3. Removed the m_creationCallback field, since it's only needed in
           the openDatabase{Sync} methods.

        * storage/AbstractDatabase.cpp:
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::guidMutex):
        (WebCore::guidToVersionMap):
        (WebCore::updateGuidVersionMap):
        (WebCore::guidToDatabaseMap):
        (WebCore::guidForOriginAndName):
        (WebCore::AbstractDatabase::databaseInfoTableName):
        (WebCore::AbstractDatabase::AbstractDatabase):
        (WebCore::AbstractDatabase::closeDatabase):
        (WebCore::AbstractDatabase::version):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::scriptExecutionContext):
        (WebCore::AbstractDatabase::securityOrigin):
        (WebCore::AbstractDatabase::stringIdentifier):
        (WebCore::AbstractDatabase::displayName):
        (WebCore::AbstractDatabase::estimatedSize):
        (WebCore::AbstractDatabase::fileName):
        (WebCore::AbstractDatabase::databaseVersionKey):
        (WebCore::AbstractDatabase::getVersionFromDatabase):
        (WebCore::AbstractDatabase::setVersionInDatabase):
        (WebCore::AbstractDatabase::versionMatchesExpected):
        (WebCore::AbstractDatabase::setExpectedVersion):
        (WebCore::AbstractDatabase::disableAuthorizer):
        (WebCore::AbstractDatabase::enableAuthorizer):
        (WebCore::AbstractDatabase::setAuthorizerReadOnly):
        (WebCore::AbstractDatabase::lastActionChangedDatabase):
        (WebCore::AbstractDatabase::lastActionWasInsert):
        (WebCore::AbstractDatabase::resetDeletes):
        (WebCore::AbstractDatabase::hadDeletes):
        (WebCore::AbstractDatabase::resetAuthorizer):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::opened):
        (WebCore::AbstractDatabase::isNew):
        (WebCore::AbstractDatabase::databaseDebugName):
        * storage/Database.cpp:
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DatabaseCreationCallbackTask::performTask):
        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::version):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::close):
        (WebCore::Database::stop):
        (WebCore::Database::performOpenAndVerify):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::create):
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::~DatabaseSync):
        (WebCore::DatabaseSync::markAsDeletedAndClose):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
        (WebCore::DatabaseSync::closeImmediately):
        * storage/DatabaseSync.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):

2010-06-29  François Sausset  <sausset@gmail.com>

        Reviewed by Darin Adler.

        Fix a bug when a msubsup element is inside a mrow element
        https://bugs.webkit.org/show_bug.cgi?id=36525

        Test: mathml/presentation/subsup.xhtml

        * mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::stretchToHeight):

2010-06-29  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        uniformmatrix* should generate INVALID_VALUE with transpose = true
        https://bugs.webkit.org/show_bug.cgi?id=41235

        Test: fast/canvas/webgl/gl-uniformmatrix4fv.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
        (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
        (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
        * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().

2010-06-29  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
        https://bugs.webkit.org/show_bug.cgi?id=40398

        Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
        parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
        More cleanly separated the unpacking and packing phases of user-supplied pixel data
        in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
        of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
        validation of the amount of data passed to texImage2D and texSubImage2D. Modified
        fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
        tests for relevant source formats; added new test which exercises all combinations
        of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
        store parameters.

        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractImageData):
        (WebCore::GraphicsContext3D::extractTextureData):
        (WebCore::GraphicsContext3D::flipVertically):
        (WebCore::doUnpackingAndPacking):
        (WebCore::computeIncrementParameters):
        (WebCore::doPacking):
        (WebCore::GraphicsContext3D::packPixels):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-06-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Dirk Schulze.

        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
        https://bugs.webkit.org/show_bug.cgi?id=41367

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).

2010-06-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Buildfix after r62118.
        https://bugs.webkit.org/show_bug.cgi?id=41365

        * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.

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

        Unreviewed, rolling out r62052.
        http://trac.webkit.org/changeset/62052
        https://bugs.webkit.org/show_bug.cgi?id=41357

        Causes crashes in JSLazyEventListener::initializeFunction (see
        bug 41352) (Requested by aroben on #webkit).

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/js/ScriptEventListener.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptEventListener.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute):

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

        Unreviewed, rolling out r62129.
        http://trac.webkit.org/changeset/62129
        https://bugs.webkit.org/show_bug.cgi?id=41362

        Needed to roll out r62052 (see bug 41357) (Requested by aroben
        on #webkit).

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createWindowAttributeEventListener):

2010-06-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] 
        2300+ crashes in Safari at com.apple.WebCore: 
        WebCore::FrameView::scheduleRelayout + 352

        Unfortunately, we don't have a reproducible case for this bug, and 
        therefore, we do not have a layout test either. It is pretty clear 
        from the logs that m_frame->settings() is null in 
        FrameView::scheduleRelayout() in the crashing case. 
        m_frame->settings() is null whenever page is null. Everywhere else 
        in FrameView.cpp we null-check either page or settings before using 
        settings. It seems plausible to me that scheduleRelayout could be 
        called when page is null, so the fix is just to add null-checks. 

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

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

        Reviewed by Darin Adler.

        <rdar://problem/7975842> Certain text is repeated after using splitText()

        Tests: fast/text/setData-dirty-lines.html
               fast/text/splitText-dirty-lines.html

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
        setText(), because only the former correctly dirties line boxes.
        * dom/Text.cpp:
        (WebCore::Text::splitText): Ditto.

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

        Unreviewed, rolling out r62073.
        http://trac.webkit.org/changeset/62073
        https://bugs.webkit.org/show_bug.cgi?id=41359

        Necessary to fix chromium build when r62052 is rolled out.
        (Requested by dave_levin on #webkit).

        * bindings/v8/ScriptEventListener.h:

2010-06-29  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
        methods to set the contents of a GraphicsLayer with a platform specific WebGL
        Layer, and to update the contents of the WebGL Layer when needed.
        https://bugs.webkit.org/show_bug.cgi?id=41243

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToWebGL):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::removeAllSublayers):
          No need to call setNeedsCommit() from here as the previous call to
          layer->removeFromSuperlayer() will have that effect (and we only need
          to notify the owner if there were actually any sublayers removed).
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::create):
        (WebCore::WebGLLayerChromium::updateTextureContents):
        (WebCore::WebGLLayerChromium::setContext):

2010-06-29  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Buildfix for --minimal build after r62052
        https://bugs.webkit.org/show_bug.cgi?id=41338

        * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
        (WebCore::createWindowAttributeEventListener):

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

        Build fix. Not reviewd.

        CGColor is only used for PLATFORM(CG).  Conditionalize include
        to correct build failure for WinCairo.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        Conditionalize use of CGColor.

2010-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Clean up the source lists in the GNUMakefile.am files
        https://bugs.webkit.org/show_bug.cgi?id=41229

        Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
        the source lists.

        * GNUmakefile.am:

2010-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
        https://bugs.webkit.org/show_bug.cgi?id=40307

        Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
        contains all the information necessary to keep track of drops in progress.

        * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
        (WebCore::DragData::asFilenames): Ditto.
        (WebCore::DragData::containsPlainText): Ditto.
        (WebCore::DragData::asPlainText): Ditto.
        (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
        (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
        (WebCore::DragData::containsURL): Ditto.
        (WebCore::DragData::asURL): Ditto.
        (WebCore::DragData::asFragment): Ditto.

2010-06-29  Adam Langley  <agl@chromium.org>

        Build fix. Not reviewd.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):
          The name of the Skia function changed between writing this patch and
          commiting it.

2010-06-29  Adam Langley  <agl@chromium.org>

        Reviewed by Kent Tamura.

        [chromium] Support forced autohinting.

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

        Freetype (the typical font rendering on Linux) includes an 'autohinter':
        an algorithm for hinting glyph shapes without using the embedded hinting
        bytecode in a font.

        Some people prefer the autohinter's results, so we support forcing its
        use.

        This change also fixes a bug where two FontPlatformData structures would
        compare equal, even if their rendering styles were different.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):
          In order to compare FontPlatformData structures we need to make sure
          that they are initialised.
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/chromium/FontRenderStyle.h:
        (WebCore::FontRenderStyle::FontRenderStyle):
        (WebCore::FontRenderStyle::operator==):
          This fixes the case where two FontPlatformData structures, differing
          only by rendering style, would compare equal.

2010-06-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed, Symbian build fix.

        Add more directories to USERINCLUDE so that they get included
        before the Symbian system headers.

        This is a workaround to some toolchain problems; bug 31273 is used to
        find a better solution.

        No new tests as there is no new functionality.

        * WebCore.pro:

2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Cleanup SVGRenderSupport
        https://bugs.webkit.org/show_bug.cgi?id=41347

        Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
        though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
        it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
        RenderSVGInlineText (RenderText inheritance) etc.

        Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
        We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.

        Doesn't affect any test.

        * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
        * rendering/RenderBox.h: Ditto.
        * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderForeignObject::paint):
        (WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
        (WebCore::RenderForeignObject::computeRectForRepaint):
        (WebCore::RenderForeignObject::nodeAtFloatPoint):
        (WebCore::RenderForeignObject::mapLocalToContainer):
        * rendering/RenderPath.cpp:
        (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
        (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderPath::nodeAtFloatPoint): Ditto.
        (WebCore::RenderPath::updateCachedBoundaries): Ditto.
        * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
        (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
        (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
        * rendering/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
        (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. 
        (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
        * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
        (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
        * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
        (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
        * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGResource.cpp:
        (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
        (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
        * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
        (WebCore::clipToTextMask): Ditto.
        (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
        (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
        (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
        * rendering/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
        (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
        * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
        (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed. 
        (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
        * rendering/RenderSVGText.cpp: 
        (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGText::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
        (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
        * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
        (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
        (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
        (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
        (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
        (WebCore::SVGRenderSupport::layoutChildren): Ditto.
        (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
        (WebCore::SVGRenderSupport::pointInClippingArea): Made static.
        (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
        (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
        (WebCore::SVGRenderSupport::findTextRootObject): Ditto.
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
        * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
        * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
        (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
        * svg/SVGStyledElement.cpp: 
        (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.

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

        Reviewed by Xan Lopez.

        [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
        https://bugs.webkit.org/show_bug.cgi?id=40907

        Define a JMPBUF macro to cope with deprecation of the jmpbuf
        attribute in libpng >= 1.4.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::decodingFailed):
        (WebCore::PNGImageReader::decode):
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-29  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.

        * WebCore.pro:

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

        Unreviewed: Chromium Win and Mac build fix.

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):

2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Move PaintInfo/PaintPhase into their own headers, out of RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=41342

        1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
           Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
           Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.

        2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
           and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".

        This changes a common idiom:
        -    info.paintingRoot = paintingRootForChildren(paintInfo);
        +    info.updatePaintingRootForChildren(this);

        We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.

        3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
           and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".

        This changes a common idiom:
        -    if (!shouldPaintWithinRoot(paintInfo))
        +    if (!paintInfo.shouldPaintWithinRoot(this))

        4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
           from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.

        This changes a common idiom:
        -    applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
        +    childPaintInfo.applyTransform(localToParentTransform());

        Add PaintInfo.h / PaintPhase.h to all build systems that list headers.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/android/RenderThemeAndroid.cpp:
        (WebCore::getCanvasFromInfo):
        (WebCore::RenderThemeAndroid::paintCheckbox):
        (WebCore::RenderThemeAndroid::paintButton):
        (WebCore::RenderThemeAndroid::paintRadio):
        (WebCore::RenderThemeAndroid::paintTextField):
        (WebCore::RenderThemeAndroid::paintTextArea):
        (WebCore::RenderThemeAndroid::paintSearchField):
        (WebCore::RenderThemeAndroid::paintCombo):
        (WebCore::RenderThemeAndroid::paintMenuList):
        (WebCore::RenderThemeAndroid::paintMenuListButton):
        * platform/android/RenderThemeAndroid.h:
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):
        (WebCore::RenderThemeEfl::paintCheckbox):
        (WebCore::RenderThemeEfl::paintRadio):
        (WebCore::RenderThemeEfl::paintButton):
        (WebCore::RenderThemeEfl::paintMenuList):
        (WebCore::RenderThemeEfl::paintTextField):
        (WebCore::RenderThemeEfl::paintTextArea):
        (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
        (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
        (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
        (WebCore::RenderThemeEfl::paintSearchField):
        * platform/efl/RenderThemeEfl.h:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintMozillaGtkWidget):
        (WebCore::RenderThemeGtk::paintCheckbox):
        (WebCore::RenderThemeGtk::paintRadio):
        (WebCore::RenderThemeGtk::paintButton):
        (WebCore::RenderThemeGtk::paintMenuList):
        (WebCore::RenderThemeGtk::paintTextField):
        (WebCore::RenderThemeGtk::paintTextArea):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::paintSearchField):
        (WebCore::RenderThemeGtk::paintSliderTrack):
        (WebCore::RenderThemeGtk::paintSliderThumb):
        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
        (WebCore::RenderThemeGtk::paintMediaMuteButton):
        (WebCore::RenderThemeGtk::paintMediaPlayButton):
        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
        (WebCore::RenderThemeGtk::paintProgressBar):
        * platform/gtk/RenderThemeGtk.h:
        * platform/haiku/RenderThemeHaiku.cpp:
        (WebCore::RenderThemeHaiku::paintCheckbox):
        (WebCore::RenderThemeHaiku::paintRadio):
        (WebCore::RenderThemeHaiku::paintMenuList):
        * platform/haiku/RenderThemeHaiku.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::StylePainter::StylePainter):
        (WebCore::RenderThemeQt::paintCheckbox):
        (WebCore::RenderThemeQt::paintRadio):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::paintTextArea):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::paintMenuListButton):
        (WebCore::RenderThemeQt::paintProgressBar):
        (WebCore::RenderThemeQt::paintSliderTrack):
        (WebCore::RenderThemeQt::paintSliderThumb):
        (WebCore::RenderThemeQt::paintSearchField):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        (WebCore::RenderThemeQt::paintSearchFieldDecoration):
        (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaSeekBackButton):
        (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
        (WebCore::RenderThemeQt::paintMediaCurrentTime):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        * platform/qt/RenderThemeQt.h:
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::paintCheckbox):
        (WebCore::RenderThemeWx::paintRadio):
        (WebCore::RenderThemeWx::paintButton):
        (WebCore::RenderThemeWx::paintTextField):
        (WebCore::RenderThemeWx::paintMenuList):
        (WebCore::RenderThemeWx::paintMenuListButton):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::paintFillLayers):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        (WebCore::InlineFlowBox::paintTextDecorations):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/InlineTextBox.h:
        * rendering/PaintInfo.h: Added.
        (WebCore::PaintInfo::PaintInfo):
        (WebCore::PaintInfo::updatePaintingRootForChildren):
        (WebCore::PaintInfo::shouldPaintWithinRoot):
        (WebCore::PaintInfo::applyTransform):
        * rendering/PaintPhase.h: Added.
        (WebCore::):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::clipOutPositionedObjects):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paint):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::paintMask):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::performOverlapTests):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::paintList):
        (WebCore::RenderLayer::paintPaginatedChildLayer):
        (WebCore::RenderLayer::paintChildLayerIntoColumns):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart):
        * rendering/RenderMediaControls.h:
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaMuteButton):
        (WebCore::paintMediaPlayButton):
        (WebCore::paintMediaSlider):
        (WebCore::paintMediaSliderThumb):
        (WebCore::paintMediaVolumeSlider):
        (WebCore::paintMediaVolumeSliderThumb):
        (WebCore::paintMediaTimelineContainer):
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
        * rendering/RenderMediaControlsChromium.h:
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::draw):
        * rendering/RenderSVGResourceMarker.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::paintMeter):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintCapsLockIndicator):
        (WebCore::RenderTheme::paintCheckbox):
        (WebCore::RenderTheme::paintRadio):
        (WebCore::RenderTheme::paintButton):
        (WebCore::RenderTheme::paintInnerSpinButton):
        (WebCore::RenderTheme::paintOuterSpinButton):
        (WebCore::RenderTheme::paintTextField):
        (WebCore::RenderTheme::paintTextArea):
        (WebCore::RenderTheme::paintMenuList):
        (WebCore::RenderTheme::paintMenuListButton):
        (WebCore::RenderTheme::paintProgressBar):
        (WebCore::RenderTheme::paintSliderTrack):
        (WebCore::RenderTheme::paintSliderThumb):
        (WebCore::RenderTheme::paintSearchField):
        (WebCore::RenderTheme::paintSearchFieldCancelButton):
        (WebCore::RenderTheme::paintSearchFieldDecoration):
        (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
        (WebCore::RenderTheme::paintSearchFieldResultsButton):
        (WebCore::RenderTheme::paintMediaFullscreenButton):
        (WebCore::RenderTheme::paintMediaPlayButton):
        (WebCore::RenderTheme::paintMediaMuteButton):
        (WebCore::RenderTheme::paintMediaSeekBackButton):
        (WebCore::RenderTheme::paintMediaSeekForwardButton):
        (WebCore::RenderTheme::paintMediaSliderTrack):
        (WebCore::RenderTheme::paintMediaSliderThumb):
        (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
        (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
        (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
        (WebCore::RenderTheme::paintMediaRewindButton):
        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
        (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
        (WebCore::RenderTheme::paintMediaControlsBackground):
        (WebCore::RenderTheme::paintMediaCurrentTime):
        (WebCore::RenderTheme::paintMediaTimeRemaining):
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::paintRadio):
        (WebCore::paintButtonLike):
        (WebCore::RenderThemeChromiumSkia::paintButton):
        (WebCore::RenderThemeChromiumSkia::paintTextField):
        (WebCore::RenderThemeChromiumSkia::paintTextArea):
        (WebCore::RenderThemeChromiumSkia::paintSearchField):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumSkia::paintMenuList):
        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
        (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintCheckbox):
        (WebCore::RenderThemeChromiumWin::paintRadio):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintTextField):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * rendering/RenderThemeChromiumWin.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::paintCapsLockIndicator):
        (WebCore::RenderThemeMac::paintTextArea):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::paintMeter):
        (WebCore::RenderThemeMac::paintProgressBar):
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintMenuListButton):
        (WebCore::RenderThemeMac::paintSliderTrack):
        (WebCore::RenderThemeMac::paintSliderThumb):
        (WebCore::RenderThemeMac::paintSearchField):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeMac::paintMediaMuteButton):
        (WebCore::RenderThemeMac::paintMediaPlayButton):
        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaSliderThumb):
        (WebCore::RenderThemeMac::paintMediaRewindButton):
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
        (WebCore::RenderThemeMac::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintCheckbox):
        (WebCore::RenderThemeSafari::paintRadio):
        (WebCore::RenderThemeSafari::paintButton):
        (WebCore::RenderThemeSafari::paintTextField):
        (WebCore::RenderThemeSafari::paintCapsLockIndicator):
        (WebCore::RenderThemeSafari::paintTextArea):
        (WebCore::RenderThemeSafari::paintMenuList):
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintMenuListButton):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        (WebCore::RenderThemeSafari::paintSliderThumb):
        (WebCore::RenderThemeSafari::paintSearchField):
        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
        (WebCore::RenderThemeSafari::paintSearchFieldDecoration):
        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
        (WebCore::RenderThemeSafari::paintMediaMuteButton):
        (WebCore::RenderThemeSafari::paintMediaPlayButton):
        (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
        (WebCore::RenderThemeSafari::paintMediaSliderTrack):
        (WebCore::RenderThemeSafari::paintMediaSliderThumb):
        * rendering/RenderThemeSafari.h:
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::paintButton):
        (WebCore::RenderThemeWin::paintTextField):
        (WebCore::RenderThemeWin::paintMenuList):
        (WebCore::RenderThemeWin::paintMenuListButton):
        (WebCore::RenderThemeWin::paintSliderTrack):
        (WebCore::RenderThemeWin::paintSliderThumb):
        (WebCore::RenderThemeWin::paintSearchField):
        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
        (WebCore::RenderThemeWin::paintMediaFullscreenButton):
        (WebCore::RenderThemeWin::paintMediaMuteButton):
        (WebCore::RenderThemeWin::paintMediaPlayButton):
        (WebCore::RenderThemeWin::paintMediaSeekBackButton):
        (WebCore::RenderThemeWin::paintMediaSeekForwardButton):
        (WebCore::RenderThemeWin::paintMediaSliderTrack):
        (WebCore::RenderThemeWin::paintMediaSliderThumb):
        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
        * rendering/RenderThemeWin.h:
        (WebCore::RenderThemeWin::paintCheckbox):
        (WebCore::RenderThemeWin::paintRadio):
        (WebCore::RenderThemeWin::paintTextArea):
        (WebCore::RenderThemeWin::paintSearchFieldDecoration):
        * rendering/RenderThemeWince.cpp:
        (WebCore::RenderThemeWince::paintButton):
        (WebCore::RenderThemeWince::paintTextField):
        (WebCore::RenderThemeWince::paintMenuList):
        (WebCore::RenderThemeWince::paintMenuListButton):
        (WebCore::RenderThemeWince::paintSearchField):
        (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeWince::paintSearchFieldResultsButton):
        (WebCore::RenderThemeWince::paintSliderTrack):
        (WebCore::RenderThemeWince::paintSliderThumb):
        (WebCore::RenderThemeWince::paintMediaFullscreenButton):
        (WebCore::RenderThemeWince::paintMediaMuteButton):
        (WebCore::RenderThemeWince::paintMediaPlayButton):
        (WebCore::RenderThemeWince::paintMediaSeekBackButton):
        (WebCore::RenderThemeWince::paintMediaSeekForwardButton):
        (WebCore::RenderThemeWince::paintMediaSliderTrack):
        (WebCore::RenderThemeWince::paintMediaSliderThumb):
        * rendering/RenderThemeWince.h:
        (WebCore::RenderThemeWince::paintCheckbox):
        (WebCore::RenderThemeWince::paintRadio):
        (WebCore::RenderThemeWince::paintTextArea):
        (WebCore::RenderThemeWince::paintSearchFieldDecoration):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paintEllipsisBox):
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::paint):
        (WebCore::RootInlineBox::fillLineSelectionGap):
        * rendering/RootInlineBox.h:
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/SVGInlineFlowBox.h:
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paint):
        * rendering/SVGInlineTextBox.h:
        * rendering/SVGMarkerLayoutInfo.cpp:
        (WebCore::SVGMarkerLayoutInfo::drawMarkers):
        * rendering/SVGMarkerLayoutInfo.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        (WebCore::SVGRenderBase::finishRenderSVGContent):
        (WebCore::renderSubtreeToImage):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):
        * rendering/SVGRootInlineBox.h:

2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Provide floating-point support for text selection framework
        https://bugs.webkit.org/show_bug.cgi?id=40665

        Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
        Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.

        No functional changes, thus no new tests.

        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::horizontalGlyphStretch):
        (WebCore::TextRun::setHorizontalGlyphStretch):
        (WebCore::TextRun::spacingDisabled):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::offsetForPosition):

2010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        REGRESSION: text-shadow CSS applied to SVG no longer works
        https://bugs.webkit.org/show_bug.cgi?id=40960

        Readd text-shadow support, this time supporting multiple shadows.
        It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.

        Tests: svg/css/text-shadow-multiple.xhtml

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
        (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
        * rendering/InlineTextBox.h: 
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
        (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
        * rendering/SVGInlineTextBox.h:

2010-06-29  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: show actual breakpoint position in UI.
        When user sets breakpoint from UI, javascript engine may actually set
        it on a different line. If so, move breakpoint to the correct position
        in frontend.
        https://bugs.webkit.org/show_bug.cgi?id=40781

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::dispatchDidPause):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::currentCallFrame):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::setBreakpoint):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        (WebCore::InspectorController::didParseSource):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didSetBreakpoint):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpoint):
        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Catch toString() exceptions in all DB-related code.
        https://bugs.webkit.org/show_bug.cgi?id=41297

        * bindings/v8/custom/V8BindingMacros.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):

2010-06-29  Herczeg Zoltan  <zherczeg@webkit.org>

        Rubber-stamped by Nikolas Zimmermann.

        Windows build fix.
        https://bugs.webkit.org/show_bug.cgi?id=5861

        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::build):

2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add ConvolveMatrix SVG filter effect
        https://bugs.webkit.org/show_bug.cgi?id=5861

        The patch was originally started by Dirk Schulze,
        and the .cpp and .h files are mostly his work.
        I updated the build systems and do some minor updates
        to the source files as well. The patch does not contain
        the implementation of the filter: this is intended,
        and will be landed in a follow-up patch.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMSVG.h:
        * page/DOMWindow.idl:
        * svg/SVGAllInOne.cpp:
        * svg/SVGFEConvolveMatrixElement.cpp: Added.
        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
        (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
        (WebCore::SVGFEConvolveMatrixElement::setOrder):
        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/SVGFEConvolveMatrixElement.h: Added.
        * svg/SVGFEConvolveMatrixElement.idl: Added.
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
        (WebCore::FEConvolveMatrix::create):
        (WebCore::FEConvolveMatrix::kernelSize):
        (WebCore::FEConvolveMatrix::setKernelSize):
        (WebCore::FEConvolveMatrix::targetOffset):
        (WebCore::FEConvolveMatrix::setTargetOffset):
        (WebCore::operator<<):
        (WebCore::FEConvolveMatrix::externalRepresentation):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        (WebCore::):
        * svg/svgattrs.in:
        * svg/svgtags.in:

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
        https://bugs.webkit.org/show_bug.cgi?id=41335

        Sketch out the EndTag handling for InBodyMode.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::inScope):
        (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):

2010-06-28  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (chromium build fix).

        * rendering/RenderObject.h: Add missing forward declaration.

2010-06-28  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        I accidently gave up my ref and tried to dereference a null pointer.
        This code is keeping an extra ref that it doesn't need, but that fact
        was somewhat hidden before.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChildCommon):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::ContainerNode::legacyParserAddChild):
        * dom/ContainerNode.h:

2010-06-28  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Refactor common code into addChildCommon
        https://bugs.webkit.org/show_bug.cgi?id=41326

        Eric asked that we share the common code between these codepaths.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChildCommon):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::ContainerNode::addChild):
        * dom/ContainerNode.h:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
        https://bugs.webkit.org/show_bug.cgi?id=41319

        Restructure the code to not use in-band data, which is what
        got us in trouble with a signed/unsigned mismatch before.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-06-28  Daniel Bates  <dbates@rim.com>

        Unreviewed, attempt to fix Qt bots.

        Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
        (https://bugs.webkit.org/show_bug.cgi?id=41324).

        Rename some more call sites that were missed in the initial landing.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):

2010-06-28  Daniel Bates  <dbates@rim.com>

        Unreviewed, build fix.

        Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
        from int to unsigned.

        Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
        (https://bugs.webkit.org/show_bug.cgi?id=41319).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
        https://bugs.webkit.org/show_bug.cgi?id=41324

        A bunch of places in the code were calling ContainerNode::addChild.
        I don't think they actually want to be doing that, as it has special
        form-related handling which is part of LegacyHTMLTreeBuilder.

        No functional changes, thus no tests.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::legacyParserAddChild):
        * dom/ContainerNode.h:
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/Node.cpp:
        (WebCore::Node::legacyParserAddChild):
        * dom/Node.h:
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::legacyParserAddChild):
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::legacyParserAddChild):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::legacyParserAddChild):
        * html/HTMLTableSectionElement.h:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addText):
        (WebCore::HTMLViewSourceDocument::addLink):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
        https://bugs.webkit.org/show_bug.cgi?id=41319

        This is basically a direct transcription of HTML5 TreeBuilder spec:
         http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements

        This code is covered by various tests in html5lib/runner which we
        can't run yet due to other asserts.  Adam and I are working on
        getting rid of those ASSERTS so that this (and other code) will
        be better tested shortly.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertFormatingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::contains):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix ASSERT so we can run more HTML5lib tests
        https://bugs.webkit.org/show_bug.cgi?id=41325

        We can't call Node::addChild because that function contains a bunch of
        logic from the old parser.  Instead, this patch creates a new version
        of addChild that's does less validating (that's the tree builder's
        job).

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::parserAddChild):
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        (WebCore::Node::parserAddChild):
        * dom/Node.h:
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::attach):

2010-06-28  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (chromium build fix).

        * bindings/v8/ScriptEventListener.h: Changed forward declaration
          to correspond to the code change doing in r62052.

2010-06-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Support for https://bugs.webkit.org/show_bug.cgi?id=40484

        In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
        original Node* was, even if it was a window event listener.

        For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
        took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.

        This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
        for later use by the beforeProcess mechanism.

        No new tests. (No change in behavior)

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
          of a Frame*, and figures out the Frame* itself internally.
        * bindings/js/ScriptEventListener.h:

        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
          of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
          pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
        * bindings/v8/ScriptEventListener.h:

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
          should be there.

2010-06-28  John Gregg  <johnnyg@google.com>

        Reviewed by Kent Tamura.

        add ENABLE_DIRECTORY_UPLOAD build support
        https://bugs.webkit.org/show_bug.cgi?id=41100

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Don't use the new tree builder for fragments
        https://bugs.webkit.org/show_bug.cgi?id=41316

        We need to walk before we can run.  After this change, we can run the
        runner.html tests (with the ASSERT caveat).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        The new tree builder should actually finish building the tree
        https://bugs.webkit.org/show_bug.cgi?id=41314

        Again, this patch makes progress on runner.html, but I haven't removed
        the ASSERT yet.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::finished):
        * html/HTMLTreeBuilder.h:

2010-06-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        Fix a race condition that can happen when using DBs in workers.
        https://bugs.webkit.org/show_bug.cgi?id=41105

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/DatabaseTracker.h:

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add text nodes to the DOM
        https://bugs.webkit.org/show_bug.cgi?id=41306

        Actually add some text nodes to the DOM when parsing a document.  We're
        going to need to do something fancier here eventually, but this gets us
        past the error we're seeing currently in runner.html.

        Unfortunately, this patch "regresses" runner.html in the sense that we
        now hit an assert, but it's still an improvement...  I'll update the
        HTML5 expectations once we get past the assert.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::insertTextNode):
        * html/HTMLTreeBuilder.h:

2010-06-28  Beth Dakin  <bdakin@apple.com>

        Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.

        * rendering/RenderBoxModelObject.cpp:

2010-06-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Use HTML5-conformant gradient interpolation mode
        https://bugs.webkit.org/show_bug.cgi?id=41298

        Change the Qt Gradient implementation to use ComponentInterpolation mode.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles

        * platform/graphics/qt/GradientQt.cpp:
        (WebCore::Gradient::platformGradient):

2010-06-28  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders 
        with border-radius and double, groove, or ridge styles should look 
        better

        This patch re-works border radius painting to stroke paths instead 
        of arcs. 

        Added new function clipConvexPolygon(). Added static 
        addConvexPolygonToContext so that code can be shared between 
        drawConvexPolygon() and clipConvexPolygon().
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::addConvexPolygonToContext):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):

        Shells of implementations on non-CG platforms.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):

        This new helper function determines if the inner corners of the 
        border will arch in or meet at a right angle. 
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::borderWillArcInnerEdge):

        This function is re-written so that, for each side of the border, 
        if borderWillArcInnerEdge() is true, we go down a brand new code 
        path of clipping to a convex polygon for the border side and then 
        we paint the side using the new function drawBoxSideFromPath(). If 
        borderWillArcInnerEdge() is false, then we call into the old 
        familiar drawLineForBoxSide() which relies on the rounder clip 
        rects we have set up to arch the outer edge of the border.
        (WebCore::RenderBoxModelObject::paintBorder):

        This new function does the math to figure out the convex polygon 
        to clip to in the case where we need to arch the inner edge of the 
        border. This calls into a new GraphicsContext function that is only 
        implemented on CG at this time. This is the reason we are keeping 
        around an old version of paintBorder() for now.
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        * rendering/RenderBoxModelObject.h:

        borderInnerRect() is a new convenience function called from 
        RenderObject and RenderBoxModelObject to determine the rect of the 
        inside edge of the border.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::borderInnerRect):

        This new function re-works drawArcForBoxSide to draw from Paths 
        when appropriate instead of stroking arcs. 
        (WebCore::RenderObject::drawBoxSideFromPath):

        Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until 
        GraphicsContext::clipConvexPolygon() is implemented.
        (WebCore::RenderObject::drawArcForBoxSide):
        * rendering/RenderObject.h:

        New function 
        RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the 
        inner radius values for a rect. It takes border widths a parameters 
        rather than using the style's border widths so that it can be used 
        in inner radius calculations for double and groove/ridge 
        calculations. The W3C corner constraining rules were moved to a 
        static function that can be called from both getBorderRadiiForRect
        () and getInnerBorderRadiiForRectWithBorderWidths().
        * rendering/style/RenderStyle.cpp:
        (WebCore::constrainCornerRadiiForRect):
        (WebCore::RenderStyle::getBorderRadiiForRect):
        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
        * rendering/style/RenderStyle.h:

2010-06-28  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Add support for the progress bar tag
        https://bugs.webkit.org/show_bug.cgi?id=41014

        Add support for rendering the progress tag for WebKit GTK+.

        * GNUmakefile.am:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
        Added. Currently progress bar animations are disabled. As it looks like
        there may not be a good way to support this with Mozilla's theme drawing code.
        (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
        (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
        (WebCore::RenderThemeGtk::paintProgressBar): Added.
        * platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
        * platform/gtk/gtk2drawing.c: 
        (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
        * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 Regression: Crash in insert()
        https://bugs.webkit.org/show_bug.cgi?id=41281

        We need to call endIfDelayed() outside of the script nesting block
        because endIfDelayed() might call end(), which deletes the
        HTMLDocumentParser.  If we try to exit the script nesting block after
        the HTMLDocumentParser has been deleted, we'll decrement unallocated
        memory, which is bad times.

        Moving endIfDelayed outside of the script nesting block also lets us
        avoid ending if inWrite() is true.  If we're inWrite(), then there's
        folks above us on the stack who will crash of the HTMLDocumentParser is
        deallocated.  Adding this check matches the LegacyHTMLDocumentParser
        and the logic in attemptToEnd, facilitating a small refactoring of the
        common logic for improved readability.

        I don't know of any test case that changes in behavior because of this
        patch, but this bug exists on the same line of code that the reliablity
        tests crashed.  I'm not sure whether this patch will fix that crash,
        but removing bugs (even theoretical ones) seems like a good idea.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::shouldDelayEnd):

2010-06-28  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Sam Weinig.

        MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
        https://bugs.webkit.org/show_bug.cgi?id=41287
        <rdar://problem/8137402>

        No new test because getSupportedTypes is used privately by MediaPlayer.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
        modern types.

2010-06-28  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(53790): Neopets page with mismatched elements misrenders
        https://bugs.webkit.org/show_bug.cgi?id=41181

        Misnested formatting tags require fixup in order to create a valid DOM.  Because this takes
        O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
        of 5 to this algorithm to avoid hangs.  This limit is too low for neopets, but a limit of
        7 is sufficient.  This raises the limit to 10 to have a bit of breathing room.  HTML5
        defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
        but doesn't specify any particular iteration limit.

        * html/LegacyHTMLTreeBuilder.cpp:

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        The new tree builder needs to call attach() on elements it attaches to
        the DOM
        https://bugs.webkit.org/show_bug.cgi?id=41293

        Apparently Nodes expect to have their attach() method called when they
        are attached to the DOM.  The new tree builder is happy to oblige.
        Making this call requires some fancy footwork with RefPtr/PassRefPtr to
        avoid extra ref churn while keeping each function small.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
        (WebCore::HTMLTreeBuilder::insertElement):
        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::attach):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Fix distcheck.

        * GNUmakefile.am:

2010-06-28  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Index validation caches buffer size information too aggressively
        https://bugs.webkit.org/show_bug.cgi?id=41092

        Test: fast/canvas/webgl/index-validation-with-resized-buffer.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateRenderingState):
         - Compute the number of valid elements each time based on the latched buffer.
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
         - Do not cache the buffer size, only the attributes used to
           compute the number of required elements.
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
         - Ditto.

2010-06-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Replace single treat-as-space characters with normal space
        https://bugs.webkit.org/show_bug.cgi?id=41278

        This keeps Qt from attempting glyph substitution and loading a bunch
        of extra fonts when encountering &nbsp; entities.

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

2010-06-28  Robin Cao  <robin.cao@torchmobile.com.cn>

        Reviewed by Dan Bernstein.

        canvas fillText with @font-face crashes
        https://bugs.webkit.org/show_bug.cgi?id=35486

        The font object in CanvasRenderingContext2D may become invalid at some point.
        Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.

        A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::recalcStyle):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::updateFont):
        * html/canvas/CanvasRenderingContext2D.h:

2010-06-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix.

        [EFL] Build fix for latest version of Ecore library.
        Ecore recently changed return type of callbacks from int to Eina_Bool.

        No new functionality, so no new tests.

        * platform/efl/SharedTimerEfl.cpp:
        (WebCore::timerEvent): Return Eina_Bool instead of int.

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Fix build with GTK+ older than 2.18

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::visibleContentRect):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Adam Barth.

        [GTK] Push NULL context on every DOM bindings entry point
        https://bugs.webkit.org/show_bug.cgi?id=39967

        Update GObject DOM bindings to push the NULL context on every API
        entry point, and update bindings test results.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Adam Roben.

        [WinCairo] Text box backgrounds do not render in partially opaque layers
        https://bugs.webkit.org/show_bug.cgi?id=41113

        Tests:
         manual-tests/partially-opaque-text-input.html

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::releaseWindowsContext):
        When restoring a context which does not support alpha blending, manually
        set the alpha channel of the HBITMAP to fully opaque. This will effectively
        ignore the alpha channel of the HBITMAP, which is necessary because GDI
        drawing functions set the alpha value to be fully transparent (0).

2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Adam Roben.

        [WinCairo] Rendering of themed elements on a layer with opacity produces nothing
        https://bugs.webkit.org/show_bug.cgi?id=41111

        Tests:
         manual-tests/partially-opaque-form-elements.html

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::releaseWindowsContext):
        Preform a cairo_save() and a cairo_restore() around code modifying the transformation
        matrix of the Cairo surface. Also set the destination coordinates before adjusting
        the transformation matrix scale, so that the destination coordinates are not scaled
        as well.

2010-06-28  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayerQt delay seems unnecessary.
        https://bugs.webkit.org/show_bug.cgi?id=40846

        Test: compositing/animation/busy-indicator.html

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::recache):
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        (WebCore::GraphicsLayerQt::setContentsToImage):
        (WebCore::GraphicsLayerQt::addAnimation):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Until now we were adding the event listeners for a given object in
        the wrap method, since that's the first moment we have accoss to
        the core WebCore object. The problem is that we only install the
        listeners that the topmost class in the class hierarchy needs (eg,
        HTMLParagrahElement for a P element), when most of the actual
        event attributes are defined in the base classes (Node, Element,
        ...).

        To fix this set the core object as a construct/write-only property
        on the wrapper GObject, and set the eventlisteners in the cGObject
        'construct' method, chaining up through all the class hierarchy
        until the end. This way we'll get all the eventlisteners defined
        in all the superclasses of our object, which is what we want.

        * bindings/gobject/WebKitDOMObject.cpp:
        (webkit_dom_object_get_property):
        (webkit_dom_object_set_property):
        (webkit_dom_object_class_init):
        * bindings/scripts/CodeGeneratorGObject.pm:
        * dom/Node.idl:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Fix GTK+ build.

        * platform/gtk/RenderThemeGtk.cpp:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Does not compile with -DGSEAL_ENABLE
        https://bugs.webkit.org/show_bug.cgi?id=37851

        Fix build with GSEAL enabled.

        * GNUmakefile.am:
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintMozillaGtkWidget):
        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::systemColor):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformRemoveChild):
        (WebCore::ScrollView::visibleContentRect):
        * platform/gtk/gtk2drawing.c:
        (ensure_toggle_button_widget):
        (ensure_combo_box_widgets):
        (ensure_combo_box_entry_widgets):
        (ensure_tree_header_cell_widget):
        (moz_gtk_button_paint):
        (moz_gtk_toggle_paint):
        (calculate_button_inner_rect):
        (calculate_arrow_rect):
        (moz_gtk_scrollbar_button_paint):
        (moz_gtk_scrollbar_trough_paint):
        (moz_gtk_scrollbar_thumb_paint):
        (moz_gtk_spin_paint):
        (moz_gtk_spin_updown_paint):
        (moz_gtk_scale_paint):
        (moz_gtk_scale_thumb_paint):
        (moz_gtk_gripper_paint):
        (moz_gtk_hpaned_paint):
        (moz_gtk_vpaned_paint):
        (moz_gtk_entry_paint):
        (moz_gtk_treeview_paint):
        (moz_gtk_tree_header_sort_arrow_paint):
        (moz_gtk_treeview_expander_paint):
        (moz_gtk_expander_paint):
        (moz_gtk_combo_box_paint):
        (moz_gtk_downarrow_paint):
        (moz_gtk_combo_box_entry_button_paint):
        (moz_gtk_container_paint):
        (moz_gtk_toggle_label_paint):
        (moz_gtk_toolbar_paint):
        (moz_gtk_toolbar_separator_paint):
        (moz_gtk_tooltip_paint):
        (moz_gtk_resizer_paint):
        (moz_gtk_frame_paint):
        (moz_gtk_progressbar_paint):
        (moz_gtk_progress_chunk_paint):
        (moz_gtk_get_tab_thickness):
        (moz_gtk_tab_paint):
        (moz_gtk_tabpanels_paint):
        (moz_gtk_tab_scroll_arrow_paint):
        (moz_gtk_menu_bar_paint):
        (moz_gtk_menu_popup_paint):
        (moz_gtk_menu_separator_paint):
        (moz_gtk_menu_item_paint):
        (moz_gtk_menu_arrow_paint):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for GTK+3
        https://bugs.webkit.org/show_bug.cgi?id=41253

        Adapt build system for 3.x support.

        * GNUmakefile.am:

2010-06-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: properties of scope variables are flattened while on a breakpoint.
        https://bugs.webkit.org/show_bug.cgi?id=41214

        Test: inspector/debugger-proto-property.html

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor): object proxy with non-empty path cannot be scope proxy.

2010-06-28  MORITA Hajime  <morrita@google.com>

        Unreviewed attempt to fix windows build.

        * page/DOMWindow.idl:

2010-06-22  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <progress> should be styled with -webkit-progress-bar-value
        https://bugs.webkit.org/show_bug.cgi?id=40823

        Fixed to peek styles of the shadow node pseudo class to fallback
        to non-styled painting.
        
        * css/html.css: 
        (progress): Added defaul background-color.
        (progress::-webkit-progress-bar-value): Added defaul background-color.
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::shouldHaveParts):
        (WebCore::RenderProgress::updatePartsState):

        Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
        
2010-06-28  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kent Tamura.

        GCC suggest parentheses around && within ||
        https://bugs.webkit.org/show_bug.cgi?id=41245

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

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Don't dump contents of <script> elements in LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=41277

        Apparently we need to tell each element when we start and stop parsing
        its children.  If we don't do this, we see the contents of every script
        and style element in dumpAsText LayoutTests.  (This patch is *well*
        covered by LayoutTests.)

        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::push):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make it possible to test the new HTML5 TreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41276

        Adam was concerned that someone might make their port
        depend on this setting (I guess we had some trouble with that
        with the HTML5Parser setting), so I littered the code with warnings.

        test-html5-parser now tests this code path.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::finished):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setHTML5TreeBuilderEnabled_DO_NOT_USE):
        (WebCore::Settings::html5TreeBuilderEnabled):

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make the html5lib runner.html not assert
        https://bugs.webkit.org/show_bug.cgi?id=41273

        This patch gets us closer to being able to run the parser tests.  We
        still don't get parsing correct, but at least we don't assert.  :)

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
        * html/HTMLTreeBuilder.h:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempt to fix Chromium and Qt builders.

        Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
        https://bugs.webkit.org/show_bug.cgi?id=41141

        No functional changes, thus no tests.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        (WebCore::ScriptController::eventHandlerColumnNumber):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::stopParsing):

2010-06-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add support for parsing attributes
        https://bugs.webkit.org/show_bug.cgi?id=41272

        This patch lets use parse the following document:

        <script src="data:text/javascript,alert('PASS')"></script>

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        (WebCore::HTMLTreeBuilder::createElement):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
        https://bugs.webkit.org/show_bug.cgi?id=41141

        By splitting ScriptableDocumentParser and DecodedDataDocumentParser
        out from DocumentParser we've made the DocumentParser and
        RawDataDocumentParser classes simpler.

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Document.cpp:
        (WebCore::Document::scriptableDocumentParser):
        (WebCore::Document::open):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::implicitClose):
        (WebCore::Document::removePendingSheet):
        * dom/Document.h:
        (WebCore::Document::parser):
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::DocumentParser):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asScriptableDocumentParser):
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::finishWasCalled):
        * dom/ScriptableDocumentParser.cpp: Copied from WebCore/html/HTMLEntityParser.h.
        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
        * dom/ScriptableDocumentParser.h: Added.
        (WebCore::ScriptableDocumentParser::isExecutingScript):
        (WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::ScriptableDocumentParser::xssAuditor):
        (WebCore::ScriptableDocumentParser::setXSSAuditor):
        (WebCore::ScriptableDocumentParser::processingContentWrittenByScript):
        (WebCore::ScriptableDocumentParser::asScriptableDocumentParser):
        * dom/ViewportArguments.cpp:
        (WebCore::parserLineNumber):
        (WebCore::reportViewportWarning):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::parseTag):
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
        * loader/DocumentLoader.cpp:
        * loader/DocumentWriter.cpp:
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::finish):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::parserLineNumber):
        (WebCore::reportMessage):
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):

2010-06-27  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Mark Rowe.

        WebKit2 build exceeds address space on 32-bit Windows builders
        https://bugs.webkit.org/show_bug.cgi?id=41270

        Add all-in-one file for render-related SVG files.
        Clean up other all-in-one files by adding missing files, excluding matching files from the vcproj.
        Reduces release WebCore.lib size by 10% (160MB).

        * DerivedSources.cpp:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * html/HTMLElementsAllInOne.cpp:
        * rendering/RenderSVGAllInOne.cpp: Added.

2010-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out the InBodyMode for the tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41271

        This gives us some basic behavior for the InBodyMode.  I've implemented
        some of the easier logic.  The more complicated logic will be in
        subsequent patches.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::insertFormatingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-06-25  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Improve default value handling for page format properties.

        Default page size and orientation have been hard-coded.
        Instead, pass default page size and margins to
        WebCore::Document::pageSizeAndMarginsInPixels to handle auto page size
        and margins specified as percentages.
        Return margins instead of page rect.

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

        * WebCore.base.exp:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyPageSizeProperty):
        (WebCore::CSSStyleSelector::pageSizeFromName):
        * css/html.css:
        (@page):
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels):
        * dom/Document.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty):
        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
        * page/PrintContext.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::pageSizeType):
        (WebCore::InheritedFlags::setPageSizeType):
        (WebCore::InheritedFlags::resetPageSizeType):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
        (WebCore::):

2010-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Clean up some loose ends in HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41265

        This patch cleans up a few loose ends in HTML5 tree builder.
        Technically, we could do each of these as individual patches, but that
        didn't seem worth while.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
            - Add missing break before default case statement.  I don't think
              this change is observable.
        (WebCore::HTMLTreeBuilder::processComment):
            - Originally I thought that comments had special processing in the
              InHeadNoscriptMode, but it turns out that when you unwind the
              definitions, it amounts to exactly the same thing.
        (WebCore::HTMLTreeBuilder::processEndOfFile):
            - Add missing break before default case statement.  I don't think
              this change is observable.
        (WebCore::HTMLTreeBuilder::insertComment):
            - Eliminate one unnecessary ref/deref pair.
        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
            - When we insert self-closing elements, there's no reason to push
              them onto the stack of open elements just to pop them off again.
              This change saves a malloc/free pair as well as a ref/deref pair.
              Go team.
        * html/HTMLTreeBuilder.h:
            - Remove unused function.

2010-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement remaining StartTag processing for InHeadNoscriptMode
        https://bugs.webkit.org/show_bug.cgi?id=41264

        The InHeadNoscriptMode processes some start tags "as if" the tree
        builder were in the InHeadMode.  This is an idiom we'll see more of
        later.  My approach is this patch is to factor all the logic for
        processing start tags in the InHeadMode into a separate function that
        can be called from both locations.  This seems cleaner than just
        splitting out the parts that are actually used by both modes.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
        * html/HTMLTreeBuilder.h:

2010-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add support for <title> and <style> elements
        https://bugs.webkit.org/show_bug.cgi?id=41263

        These elements use the generic RCDATA and RawText algorithms,
        respectively.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):

2010-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Actually insert Doctype elements
        https://bugs.webkit.org/show_bug.cgi?id=41262

        This code is pretty much the same as in the old tree builder.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::publicIdentifier):
        (WebCore::AtomicHTMLToken::systemIdentifier):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertDoctype):

2010-06-27  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Ignore calls to drawImage() with non-finite parameters
        https://bugs.webkit.org/show_bug.cgi?id=38929

        This also fixes a Qt assert when using the raster graphics system.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#2dcontext

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2010-06-27  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        editing/execCommand/copy-without-selection.html fails on Qt after r61637
        https://bugs.webkit.org/show_bug.cgi?id=41025

        The problem was that when getting data back via Clipboard::getData(),
        the String::String(const char*, int) constructor was called
        with UTF-16 data.

        The solution is to use QMimeData's text() and setText() for "text/plain".

        setText() which makes sure Qt passes the string in proper format to the
        system clipboard. (The previous implementation would convert it to UTF-8)

        text() makes sure that the correct encoding is used (UTF-16) and that
        we get back whatever we originally put in there.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::isTextMimeType):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):

2010-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 tree builder should be able to execute inline scripts
        https://bugs.webkit.org/show_bug.cgi?id=41257

        This patch implements enough machinery so that we can execute inline
        scripts in extremely simple documents such as the following:

        <html>
        <script>
        alert(1);
        </script>

        To get this to work, I had to flesh out a surprising amount of the data
        structures for processing the <head>.  No tests because this is
        already covered by most LayoutTests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::insertComment):
        (WebCore::HTMLTreeBuilder::insertElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementRecord::ElementRecord):
        (WebCore::HTMLTreeBuilder::ElementRecord::element):
        (WebCore::HTMLTreeBuilder::ElementRecord::next):
        (WebCore::HTMLTreeBuilder::ElementRecord::releaseNext):
        (WebCore::HTMLTreeBuilder::ElementRecord::setNext):
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::push):
        (WebCore::HTMLTreeBuilder::ElementStack::top):
        (WebCore::HTMLTreeBuilder::ElementStack::remove):
        (WebCore::HTMLTreeBuilder::currentElement):

2010-06-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        beforeProcess event needs to fire before inline scripts/stylesheets take effect
        <rdar://problem/8084335> and https://bugs.webkit.org/show_bug.cgi?id=40484

        This patch adds the Event, the onBeforeProcess attribute, and hooks the attribute up in a few places.
        Besides that, no change in behavior.

        Layout tests will come with the actual implementations as a followup to this patch.

        Project file nonsense:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        Scaffolding for the event itself:
        * dom/BeforeProcessEvent.cpp: Added.
        (WebCore::BeforeProcessEvent::text):
        (WebCore::BeforeProcessEvent::setText):
        * dom/BeforeProcessEvent.h: Added.
        (WebCore::BeforeProcessEvent::create):
        (WebCore::BeforeProcessEvent::initBeforeProcessEvent):
        (WebCore::BeforeProcessEvent::BeforeProcessEvent):
        * dom/BeforeProcessEvent.idl: Added.

        * dom/EventNames.h:

        Respect the onBeforeProcess attribute:
        * dom/Document.cpp:
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):

        * html/HTMLAttributeNames.in:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseMappedAttribute):

2010-06-26  Darin Adler  <darin@apple.com>

        Try to fix Chromium build by adding back function used only by Chromium WebKit.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultChecked): Added back.
        * html/HTMLInputElement.h: Added defaultChecked function.

        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::httpEquiv): Added back.
        * html/HTMLMetaElement.h: Added httpEquiv function.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::defaultSelected): Added back.
        * html/HTMLOptionElement.h: Added defaultSelected function.

        * rendering/style/StyleRareNonInheritedData.h: Fixed incorrect struct vs. class
        here as seen in warnings on Chromium Windows bot.

2010-06-26  Darin Adler  <darin@apple.com>

        Try to fix Windows build by adding back function used only by Windows WebKit.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::label): Added back.
        * html/HTMLOptionElement.h: Added label function.

2010-06-26  Darin Adler  <darin@apple.com>

        Try to fix Qt build by adding back function used only by Qt WebKit.

        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::content): Added back.
        * html/HTMLMetaElement.h: Added content function.

2010-06-26  Darin Adler  <darin@apple.com>

        * html/HTMLFormElement.h: Removed stray character that got in here before landing.

2010-06-26  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Add more use of reflection, remove unused functions
        https://bugs.webkit.org/show_bug.cgi?id=41255

        Also noticed that HTMLDirectoryElement was missing its create function
        and added that so the element will get the correct class.

        * html/HTMLBaseFontElement.idl: Use reflection for the size attribute
        in the Objective-C code path too.

        * html/HTMLSelectElement.idl: Use reflection for disabled and autofocus
        attributes. Also removed spaces and indenting to match other IDL files.

        * html/HTMLStyleElement.idl: Use reflection for disabled attribute.

        * html/HTMLTableCellElement.idl: Use reflection for noWrap attribute.

        * html/HTMLTextAreaElement.idl: Use reflection for disabled, autofocus,
        readOnly, and required attributes.

        * html/HTMLUListElement.idl: Use reflection for compact attribute.

        * html/HTMLDirectoryElement.cpp:
        (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): Made inline.
        (WebCore::HTMLDirectoryElement::create): Added.
        * html/HTMLDirectoryElement.h:
        Added create, made constructor private, removed unused functions.

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseMappedAttribute): Removed code to
        set unused m_media data member.
        * html/HTMLStyleElement.h:
        Removed unused functions and m_media data member. Also made some
        functions private.

        * html/HTMLAppletElement.cpp:
        * html/HTMLAppletElement.h:
        * html/HTMLAreaElement.cpp:
        * html/HTMLAreaElement.h:
        * html/HTMLBaseFontElement.cpp:
        * html/HTMLBaseFontElement.h:
        * html/HTMLButtonElement.cpp:
        * html/HTMLButtonElement.h:
        * html/HTMLDListElement.cpp:
        * html/HTMLDListElement.h:
        * html/HTMLDivElement.cpp:
        * html/HTMLDivElement.h:
        * html/HTMLFontElement.cpp:
        * html/HTMLFontElement.h:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.cpp: Also removed an incorrect FIXME comment
        here after I did a little research to disprove it.
        * html/HTMLFrameElement.h:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.cpp:
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.cpp:
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.cpp:
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.cpp:
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.cpp:
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.cpp:
        * html/HTMLIsIndexElement.h:
        * html/HTMLLIElement.cpp:
        * html/HTMLLIElement.h:
        * html/HTMLLabelElement.cpp:
        * html/HTMLLabelElement.h:
        * html/HTMLLegendElement.cpp:
        * html/HTMLLegendElement.h:
        * html/HTMLLinkElement.cpp:
        * html/HTMLLinkElement.h:
        * html/HTMLMapElement.cpp:
        * html/HTMLMapElement.h:
        * html/HTMLMenuElement.cpp:
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.cpp:
        * html/HTMLMetaElement.h:
        * html/HTMLModElement.cpp:
        * html/HTMLModElement.h:
        * html/HTMLOListElement.cpp:
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.cpp:
        * html/HTMLObjectElement.h:
        * html/HTMLOptGroupElement.cpp:
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.cpp:
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.cpp:
        * html/HTMLParamElement.h:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.cpp:
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.cpp:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.cpp:
        * html/HTMLScriptElement.h:
        * html/HTMLTableCaptionElement.cpp:
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.cpp:
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        * html/HTMLTableRowElement.h:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextAreaElement.h:
        * html/HTMLUListElement.cpp:
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        * html/HTMLVideoElement.h:
        Removed unused functions.

2010-06-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Exclude line numbers for sources which are not from the network.
        https://bugs.webkit.org/show_bug.cgi?id=41060

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::write):

2010-06-25  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed complementary fix for r61818. It added StaticHashSetListNode.cpp|h to the system,
        but did not added it to chromium build system.

        * WebCore.gypi:

2010-06-26  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: ScripsPanel.prototype.editScriptSource uses old addBreakpoint signature.

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

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/Object.js:
        (WebInspector.Object.prototype.addEventListener):
        (WebInspector.Object.prototype.removeEventListener):
        (WebInspector.Object.prototype.removeAllListeners):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):

2010-06-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a guarded window.performance.timing binding which is disabled by default.
        https://bugs.webkit.org/show_bug.cgi?id=38924

        This is where Web Timing support will be implemented. Web Timing is a
        draft spec for exposing load times to web pages. It will be enabled
        once the spec and implementaiton are solidified. See:
        http://dev.w3.org/2006/webapi/WebTiming/

        No new tests because guarded behind a #DEFINE. Will add tests as
        functionality is landed.

        * Android.mk:
        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::performance):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalPerformance):
        * page/DOMWindow.idl:
        * page/NavigationTiming.cpp: Added.
        (WebCore::NavigationTiming::NavigationTiming):
        (WebCore::NavigationTiming::frame):
        (WebCore::NavigationTiming::disconnectFrame):
        (WebCore::NavigationTiming::navigationStart):
        * page/NavigationTiming.h: Added.
        (WebCore::NavigationTiming::create):
        * page/NavigationTiming.idl: Added.
        * page/Performance.cpp: Added.
        (WebCore::Performance::Performance):
        (WebCore::Performance::frame):
        (WebCore::Performance::disconnectFrame):
        (WebCore::Performance::timing):
        * page/Performance.h: Added.
        (WebCore::Performance::create):
        * page/Performance.idl: Added.

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        activeTexture wrongly generates error with legal input.
        https://bugs.webkit.org/show_bug.cgi?id=41227

        Test: fast/canvas/webgl/texture-active-bind.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::activeTexture): Fix the upper limit test for test units.

2010-06-25  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=41061
        Make sure Chromium's ScriptController::processingUserGesture follows the JSC's behavior.
        Set right value in UserGestureIndicator when handling events in PopupMenuList in chromium.

        Test: fast/events/popup-when-select-change.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::handleMouseDownEvent):
        (WebCore::PopupContainer::handleMouseMoveEvent):
        (WebCore::PopupContainer::handleMouseReleaseEvent):
        (WebCore::PopupContainer::handleWheelEvent):
        (WebCore::PopupContainer::handleKeyEvent):

2010-06-25  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Make PendingScript hold a CachedResourceClient open for its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=40968

        This replaces the mechanism introduced in r61374 with a simpler
        appraoch for preventing unexpected purges: always keep a client open.
        This approach will allow deferred scripts to add a client after
        the resource may have already been loaded without having to worry about
        the buffer being purged in the meantime.

        No new tests because making a CachedResource purse itself is not
        testable from a LayoutTest.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::watchForLoad):
        (WebCore::HTMLDocumentParser::notifyFinished):
        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::isPendingScriptReady):
        (WebCore::HTMLScriptRunner::executePendingScript):
        (WebCore::HTMLScriptRunner::watchForLoad):
        (WebCore::HTMLScriptRunner::stopWatchingForLoad):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTMLScriptRunner::requestScript):
        (WebCore::HTMLScriptRunner::PendingScript::~PendingScript):
        (WebCore::HTMLScriptRunner::PendingScript::releaseElementAndClear):
        (WebCore::HTMLScriptRunner::PendingScript::setCachedScript):
        (WebCore::HTMLScriptRunner::PendingScript::cachedScript):
        * html/HTMLScriptRunner.h:
        (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
        (WebCore::HTMLScriptRunner::PendingScript::watchingForLoad):
        (WebCore::HTMLScriptRunner::PendingScript::setWatchingForLoad):
        (WebCore::HTMLScriptRunner::PendingScript::notifyFinished):
        * html/HTMLScriptRunnerHost.h:

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getUniform will not work for fetching uniform array elements
        https://bugs.webkit.org/show_bug.cgi?id=34508

        Test: fast/canvas/webgl/gl-uniform-arrays.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::attachShader): Generate correct errors.
        (WebCore::WebGLRenderingContext::getUniform): Dealing with array elements.
        (WebCore::WebGLRenderingContext::useProgram): Deal with program==null.
        (WebCore::WebGLRenderingContext::validateProgram): Generate correct errors.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::useProgram): Deal with program==null.

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Bring set/get state functions to GLES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=41095

        Tests: fast/canvas/webgl/gl-enable-enum-test.html
               fast/canvas/webgl/gl-enum-tests.html

        * html/canvas/WebGLRenderingContext.cpp: Check input parameters according to GLES2 spec.
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isEnabled):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::validateBlendEquation):
        (WebCore::WebGLRenderingContext::validateCapability):
        * html/canvas/WebGLRenderingContext.h: Add helper function declaration.

2010-06-25  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Callback code generation fixed so that now string parameters are converted to JSString
        using the jsString method instead of the toJS method which would not compile.
        https://bugs.webkit.org/show_bug.cgi?id=41119
        
        * bindings/scripts/CodeGeneratorJS.pm: Now generates jsString for String parameters in callbacks.
        * bindings/scripts/test/JS/JSTestCallback.cpp: Fixed test for above.
        (WebCore::JSTestCallback::callbackWithClass2Param): Ditto.

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        A buffer should be bound to one target in its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=41108

        Test: fast/canvas/webgl/buffer-bind-test.html

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::WebGLBuffer): Init target to 0. 
        (WebCore::WebGLBuffer::associateBufferData): Remove target parameter, use one byteLength member.
        (WebCore::WebGLBuffer::associateBufferSubData): Ditto.
        (WebCore::WebGLBuffer::byteLength): Ditto.
        (WebCore::WebGLBuffer::setTarget): Set target.
        * html/canvas/WebGLBuffer.h: Cache target in the WebGLBuffer object, use one byteLength member.
        (WebCore::WebGLBuffer::getTarget):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindBuffer): Check if a buffer is bound to another target; set buffer object internal target.
        (WebCore::WebGLRenderingContext::bufferData): Remove target parameter and use the WebGLBuffer cached target instead.
        (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
        (WebCore::WebGLRenderingContext::validateElementArraySize): Ditto.
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.

2010-06-25  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=41188
        Animations should not require 0% and 100% keyframes

        When we are generating the animation lists in CSSStyleSelector,
        rather than bail if we notice that "from" or "to" are missing, we
        now generate synthetic keyframes for those cases.

        Tests: animations/missing-from-to-transforms.html
               animations/missing-from-to.html
               WebCore/manual-tests/animation-with-transition.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForKeyframe):
                Moved individual keyframe generation into a new function.
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
                Call the new function above for regular keyframes, and
                also check for missing keyframes and generate them if
                necessary.
        * css/CSSStyleSelector.h:

2010-06-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        We should parse <html>
        https://bugs.webkit.org/show_bug.cgi?id=41239

        This patch is hard to test, but I think this patch lets us parse a
        document consisting of only an <html> start tag.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::push):

2010-06-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8000667> Certain text is repeated before and after a line break

        Test: fast/text/bidi-explicit-embedding-past-end.html

        * platform/text/BidiResolver.h:
        (WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
        creates BidiRuns up to the end of the range, so at that point, we can stop iterating.

2010-06-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
        https://bugs.webkit.org/show_bug.cgi?id=41202

        Hit the Windoze with the compile bat.

        * WebCore.vcproj/WebCore.vcproj:

2010-06-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder should branch first on token type and then on insertion mode
        https://bugs.webkit.org/show_bug.cgi?id=41232

        This is different than how the spec is written, but it lets us remove a
        lot of redudancy in the algorithm.  We might even want to pull some of
        the branches on token name outside the insertion mode branch, but I'll
        leave that for a future patch.

        Although this looks like a big patch, it's mostly just a mechanical
        switch permutation.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processDefaultForInitialMode):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHeadMode):
        (WebCore::HTMLTreeBuilder::processDefaultForInHeadMode):
        (WebCore::HTMLTreeBuilder::processDefaultForInHeadNoscriptMode):
        (WebCore::HTMLTreeBuilder::processDefaultForAfterHeadMode):
        * html/HTMLTreeBuilder.h:

2010-06-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Tree builder doesn't need to return a Node
        https://bugs.webkit.org/show_bug.cgi?id=41225

        The old tree builder returned the newly inserted Node, but the new tree
        builder doesn't need to do that as far as I can tell.  Removing the
        return value cuts down on a bunch of accounting.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getParameter(COLOR_WRITEMASK) needs to return Array
        https://bugs.webkit.org/show_bug.cgi?id=40437

        * bindings/js/JSWebGLRenderingContextCustom.cpp: Handling bool array.
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Handling bool array.
        (WebCore::toV8Object):
        * html/canvas/WebGLGetInfo.cpp: Handling bool array.
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        (WebCore::WebGLGetInfo::getBoolArray):
        * html/canvas/WebGLGetInfo.h: Handling bool array.
        (WebCore::WebGLGetInfo::):
        * html/canvas/WebGLRenderingContext.cpp: Handling bool array.
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
        * html/canvas/WebGLRenderingContext.h: Handling bool array.

2010-06-25  Evan Stade  <estade@chromium.org>

        Reviewed by Darin Fisher.

        [chromium linux] Improve look of scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=35775

        This will affect layout pixel tests, which will need to be rebaselined.

        * platform/Scrollbar.cpp: need the buttons to be invalidated when the
        thumb moves as they paint differently if the thumb is at the top or
        bottom
        (WebCore::Scrollbar::updateThumbPosition):
        (WebCore::Scrollbar::updateThumbProportion):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        (WebCore::ScrollbarThemeChromium::trackRect): share code between
        linux/windows
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
        (WebCore::outlineColor): up the contrast
        (WebCore::ScrollbarThemeChromiumLinux::paintButton): add custom button
        drawing implementation
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize): add buttons
        * platform/chromium/ScrollbarThemeChromiumWin.cpp: share code between
        linux/windows
        * rendering/RenderThemeChromiumLinux.cpp: improve stock colors to get
        better contrast and integration with stock chrome theme

2010-06-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
        https://bugs.webkit.org/show_bug.cgi?id=41202

        The silly thing about this patch is that none of the
        RawDataDocumentParser subclasses actually use any of the
        data passed to them via appendBytes.

        This makes the relationship between DocumentWriter and
        DocumentParser slightly more confusing, however I think this
        DocumentParser API is slightly nicer.

        Next step is to split DecodedDataDocumentParser out from
        DocumentParser, and then the base DocumentParser won't know
        anything about decoding or SegmentedString.

        No functional change, thus no tests.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentParser.h:
        * dom/RawDataDocumentParser.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        (WebCore::DocumentWriter::createDecoderIfNeeded):
        (WebCore::DocumentWriter::reportDataRecieved):
        (WebCore::DocumentWriter::addData):
        * loader/DocumentWriter.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::appendBytes):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::appendBytes):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::SinkDocumentParser):
        (WebCore::SinkDocumentParser::appendBytes):
        (WebCore::SinkDocument::createParser):

2010-06-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split DocumentParser::write into separate append and insert calls
        https://bugs.webkit.org/show_bug.cgi?id=41197

        Unfortunately this is still somewhat confusing as
        "insert" means "insert this data at the current
        insertion point and run the parser synchronously
        unless we're in a nested write call" and "append"
        means "append this data to the end and run the
        parser if not in a nested call or until possibly yielding".

        This at least makes clearer which document parsers implement
        which behavior, and paves the way for moving the decoding
        logic into DocumentParser from DocumentWriter.

        No functional changes, thus no tests.

        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentParser.h:
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::insert):
        (WebCore::RawDataDocumentParser::append):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::insert):
        (WebCore::XMLDocumentParser::append):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::resumeParsing):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::parseDocumentFragment):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::insert):
        (WebCore::LegacyHTMLDocumentParser::append):
        * html/LegacyHTMLDocumentParser.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        (WebCore::DocumentWriter::addData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::append):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::insert):
        (WebCore::TextDocumentParser::append):
        (WebCore::TextDocumentParser::finish):

2010-06-25  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Add new stubs for querying platform drag-and-drop and copy-and-paste data.

        This change adds new stubs for querying for data in a clipboard or drag operation. This is
        so adding support for more data types in clipboard/drag operations doesn't become
        increasingly expensive, since we currently copy all the drag data we need every time a new
        web drop target is entered. It also adds a new mechanism to write back to the system
        clipboard that isn't tied to one data type.

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

        No new tests since we're just adding new ChromiumBridge APIs. When we switch to it, it will
        be covered by the existing tests.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/PasteboardPrivate.h:
        (WebCore::PasteboardPrivate::):

2010-06-25  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Implement atk_table_get_column_header
        https://bugs.webkit.org/show_bug.cgi?id=30896

        Implemented get_column_header and modified get_row_header
        accordingly to keep them both coherent among themselves.
        Based on a previous patch by Joanmarie Diggs.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_table_get_column_header):
        (webkit_accessible_table_get_row_header):

2010-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data
        https://bugs.webkit.org/show_bug.cgi?id=41221

        Take into account null-terminator when getting and setting markup and
        Netscape URL pasteboard types. This means that if the selection data
        contains the null terminator, it won't be included in the final String.
        When setting the pasteboard data the null terminator is now included to
        match the behavior of other applications.

        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents):
        Create the markup string after using g_strndup to protect against non-null-terminated
        strings. Use String::fromUTF8 here to ensure that the string is not longer than the
        first null-terminator. Also fix a small indentation issue.
        (WebCore::PasteboardHelper::fillSelectionData):
        Always include the null-terminator when setting pasteboard data manually. This matches
        the behavior of other browser applications.

2010-06-25  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] When any geometry change happens to a node it will resize the
        backing cache
        https://bugs.webkit.org/show_bug.cgi?id=40378

        Continue to grow the cache, but never toss it. When the pixmap
        cache gets too big it will be lost and created at the right size
        next time.

        No new tests: this is an optimization.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::recache):
        (WebCore::GraphicsLayerQtImpl::paint):
        (WebCore::GraphicsLayerQtImpl::flushChanges):

2010-06-25  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41019
        Canvas: Remember verified clean origins for drawImage()

        Made CanvasRenderingContext2D cache the KURLs of clean origins
        for fast repeated lookup.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::checkOrigin):
        * html/canvas/CanvasRenderingContext2D.h:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] HTTP 307 after a 303 after a POST re-sends POST data from the original request

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

        Qt needs to use ResourceRequest::request()->httpMethod()) in order to determine
        the appropriate method for a 307 redirect request.

        When deciding if it needs to override a POST method with a GET method during a
        redirect chain, QNetworkReplyHandler needs to check the HTTP method stored
        in ResourceRequest::request()->httpMethod(). This will always contain the
        original request method in a redirect chain and, more importantly, is the
        method that will be used for the request created from the redirect
        if it is not overridden.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

2010-06-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Removed a one-line method that only had one internal caller.

        * rendering/RenderBlock.h: Removed bidiReorderLine()
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Moved the implementation of
        bidiReorderLine() inline here.

2010-06-25  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Take a KURL parameter in Document's constructor.
        This will remove the one case where Document::url() 
        and FrameLoader::url() are not equal, allowing us to
        remove FrameLoader::url().

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

        Refactor only, no new tests.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document): Call setURL() if a frame or a non-empty KURL is specified.
        (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
            of m_frame->loader()->url() for initializing the SecurityOrigin.
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
        * html/HTMLViewSourceDocument.cpp:
        * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
            redundant Document::setURL() call.
        * loader/DocumentWriter.h:
        * loader/FTPDirectoryDocument.cpp:
        * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
        * loader/ImageDocument.cpp:
        * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
        * loader/MediaDocument.cpp:
        * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
        * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
        * loader/PluginDocument.cpp:
        * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
        * loader/SinkDocument.cpp:
        * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
        * loader/TextDocument.cpp:
        * loader/TextDocument.h: Add KURL parameter to create() and constructor.
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

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

        Unreviewed, rolling out r61812.
        http://trac.webkit.org/changeset/61812
        https://bugs.webkit.org/show_bug.cgi?id=41216

        breaks Chromium workers tests (Requested by mnaganov on
        #webkit).

        * storage/AbstractDatabase.cpp:
        * storage/AbstractDatabase.h:
        * storage/Database.cpp:
        (WebCore::Database::databaseInfoTableName):
        (WebCore::guidMutex):
        (WebCore::guidToVersionMap):
        (WebCore::updateGuidVersionMap):
        (WebCore::guidToDatabaseMap):
        (WebCore::databaseVersionKey):
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DatabaseCreationCallbackTask::performTask):
        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::Database::getVersionFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::Database::setVersionInDatabase):
        (WebCore::Database::versionMatchesExpected):
        (WebCore::Database::close):
        (WebCore::Database::disableAuthorizer):
        (WebCore::Database::enableAuthorizer):
        (WebCore::Database::setAuthorizerReadOnly):
        (WebCore::Database::lastActionChangedDatabase):
        (WebCore::Database::lastActionWasInsert):
        (WebCore::Database::resetDeletes):
        (WebCore::Database::hadDeletes):
        (WebCore::guidForOriginAndName):
        (WebCore::Database::resetAuthorizer):
        (WebCore::Database::performOpenAndVerify):
        (WebCore::Database::performCreationCallback):
        (WebCore::Database::version):
        (WebCore::Database::setExpectedVersion):
        (WebCore::Database::stringIdentifier):
        (WebCore::Database::displayName):
        (WebCore::Database::estimatedSize):
        (WebCore::Database::fileName):
        * storage/Database.h:
        (WebCore::Database::scriptExecutionContext):
        (WebCore::Database::opened):
        (WebCore::Database::isNew):
        (WebCore::Database::databaseDebugName):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
        * storage/DatabaseAuthorizer.h:
        (WebCore::DatabaseAuthorizer::create):
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::databaseInfoTableName):
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::~DatabaseSync):
        (WebCore::DatabaseSync::version):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::scriptExecutionContext):
        * storage/DatabaseSync.h:
        (WebCore::DatabaseSync::databaseDebugName):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):

2010-06-25  Lei Zheng  <lzheng@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a flag to the ResourceResponse for tracking if a request was fetched when
        Alternate-protocol is available.
        https://bugs.webkit.org/show_bug.cgi?id=41001

        No new tests. (This is just a setter and getter.)

        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::wasAlternateProtocolAvailable):
        (WebCore::ResourceResponse::setWasAlternateProtocolAvailable):

2010-06-25  Lyon Chen  <liachen@rim.com>

        Reviewed by Darin Adler.

        InspectorCSSStore.cpp is not surrounded with ENABLE(INSPECTOR)
        https://bugs.webkit.org/show_bug.cgi?id=41004

        Surround InspectorCSSStore.cpp code with ENABLE(INSPECTOR) so it will not
        break the build when INSPECTOR is disabled.

        * inspector/InspectorCSSStore.cpp:

2010-06-25  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] WebGL: missing file
        https://bugs.webkit.org/show_bug.cgi?id=40998

        Added a missing file to WebCore.pro

        No new tests; build fix

        * WebCore.pro:

2010-06-25  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Added a missing </File> tag.

2010-06-25  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        This patch changes the vertical alignment to rely upon baseline
        alignment for all MathML rendering.  This fixes a number of layout
        issues and the implementation is much more clean.

        Also, this patch adds a horizontal green line in the debug layout
        so you can see the top padding of any RenderMathMLBlock instance.

        Test: mathml/presentation/row-alignment.xhtml

        * css/mathml.css:
        * mathml/RenderMathMLBlock.cpp:
        * mathml/RenderMathMLFraction.cpp:
        * mathml/RenderMathMLFraction.h:
        * mathml/RenderMathMLOperator.cpp:
        * mathml/RenderMathMLOperator.h:
        * mathml/RenderMathMLRoot.cpp:
        * mathml/RenderMathMLRow.cpp:
        * mathml/RenderMathMLRow.h:
        * mathml/RenderMathMLSquareRoot.cpp:
        * mathml/RenderMathMLSubSup.cpp:
        * mathml/RenderMathMLUnderOver.cpp:

2010-06-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Can't see source when hitting debugger statement in evaled source
        https://bugs.webkit.org/show_bug.cgi?id=41058

        Test: inspector/debugger-pause-in-eval-script.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::sourceParsed): use lexical global object to figure out
        where the script is compiled. Otherwise scripts typed in Web Inspector console will
        be treated as ones evaluated in the context of Web Inspector and won't appear in the
        scripts list.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource): cache script sources for eval's too.

2010-06-25  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Use a descriptive string in FileChooser when multiple files can
        be selected.
        https://bugs.webkit.org/show_bug.cgi?id=40943

        EFL port has no tests yet, so no new tests.

        * platform/efl/FileChooserEfl.cpp:
        (WebCore::FileChooser::basenameForWidth):

2010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVG Text Highlighting not yet supported (in Safari)
        https://bugs.webkit.org/show_bug.cgi?id=41200

        Add text match marker highlighting support for SVG text - searching for SVG text in Safari now paints the nice yellow highlighting rect, and the
        white rectangles for all text matches. Behaves exactly like HTML text, but respecting SVGs per-character/per-chunk transformations,
        allowing to highlight textPaths, tspans with absolute per-character positions etc..

        Only manually testable, thus no new tests.

        * rendering/InlineBox.h: Expose calculateBoundaries() in non-SVG builds as well, now used by InlineTextBox too.
        * rendering/InlineTextBox.h: Add calculateBoundaries(), which will be used to refactor some code in RenderText, see below.
        (WebCore::InlineTextBox::calculateBoundaries): Just return a IntRect(x(), y(), width(), height()) here.
        (WebCore::RenderObject::isSVGInlineText):
        * rendering/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::isSVGInlineText): Return true for isSVGInlineText(), return false for isSVGText() (default in RenderObject.h)
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint): Only paint box decorations in PaintPhase(Child)BlockBackground, exit afterwards just like RenderBlock does.
                                         Otherwise the white text match marker rectangle gets drawn over the yellow highlight that Safari draws. 
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint): Accept a new painting phase: PaintPhaseSelection, used by Safari when drawing the yellow highlight rect.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteQuads): Use calculateBoundaries() instead of IntRect(x(), y(), width(), height()). SVG provides different boundaries here.
        (WebCore::RenderText::absoluteQuadsForRange): Ditto. This is the main change, leading to correct text highlight placement.
        * rendering/SVGInlineFlowBox.cpp: Add assertion that painting is not disabled, for consistency. Change paint phase assertion to include PaintPhaseSelection.
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::selectionRectForTextChunkPart): Refactored from selectionRect(), to share code between selectionRect/computeTextMatchMarkerRect.
        (WebCore::SVGInlineTextBox::selectionRect): Use new helper function selectionRectForTextChunkPart().
        (WebCore::SVGInlineTextBox::paint): Ditto. Call new computeTextMatchMarkerRect() function.
        (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Implemented similar to HTML, but respecting SVGs concept of text chunk parts.
        (WebCore::SVGInlineTextBox::paintText): In PaintPhaseSelection, only paint selected text, not anything before/after the selection start/end.
        (WebCore::SVGInlineTextBox::calculateBoundaries): Early exit, if m_chunkTransformation is identity.
        * rendering/SVGInlineTextBox.h: Added "bool paintSelectedTextOnly" to paintText() and add new computeTextMatchMarkerRect(RenderStyle*) function.
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint): Change paint phase assertion to include PaintPhaseSelection.

2010-06-25  John Gregg  <johnnyg@google.com>

        Reviewed by Darin Fisher.

        Notification should expose ltr/rtl as TextDirection, not String
        https://bugs.webkit.org/show_bug.cgi?id=40871

        No new tests; existing test covers this, just renaming a method.

        * notifications/Notification.h:
        (WebCore::Notification::direction):

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

        Unreviewed, rolling out r61842.
        http://trac.webkit.org/changeset/61842
        https://bugs.webkit.org/show_bug.cgi?id=41208

        It broke Windows build (Requested by Ossy_ on #webkit).

        * ForwardingHeaders/wtf/win/OwnPtrWin.h: Removed.

2010-06-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Remove unneeded whitespace from svgtags.in.
        https://bugs.webkit.org/show_bug.cgi?id=40912

        make_names.pl throws an error at non-empty lines
        when using cl.exe as preprocessor.

        * svg/svgtags.in:

2010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Split up isSVGText() in isSVGText() / isSVGInlineText()
        https://bugs.webkit.org/show_bug.cgi?id=41204

        Introduce isSVGInlineText(), to provide a safe mechanism to differentiate between RenderSVGText / RenderSVGInlineText.
        No change in functionality, thus no new tests.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::shouldPreserveNewline): s/isSVGText/isSVGInlineText/
        (WebCore::RenderBlock::findNextLineBreak): Ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGInlineText): Return false, by default.
        * rendering/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::isSVGInlineText): Return true here, don't return true anymore for isSVGText().
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setTextInternal): s/isSVGText/isSVGInlineText/
        * rendering/RenderTreeAsText.cpp: Remove hack, now that we can properly differentiate between RenderSVGText / RenderSVGInlineText.
        (WebCore::write):

2010-06-25  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Adam Barth.

        Change OwnPtrCommon to include platform-specific headers
        https://bugs.webkit.org/show_bug.cgi?id=40279

        Adding new type to OwnPtrCommon needlessly causes all ports to do full rebuilds.
        Change OwnPtrCommon to include platform-specific headers to avoid all ports rebuilds.

        * ForwardingHeaders/wtf/win: Added.
        * ForwardingHeaders/wtf/win/OwnPtrWin.h: Added.

2010-06-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Barth.

        Implement TextCodecs for WinCE port.
        https://bugs.webkit.org/show_bug.cgi?id=32169
        Originally written by Yong Li <yong.li@torchmobile.com>

        * platform/graphics/FontCache.h:
        * platform/graphics/wince/FontCacheWince.cpp:
        (WebCore::FontCache::getMultiLanguageInterface):
        * platform/text/wince/TextCodecWinCE.cpp: Added.
        (WebCore::codePageCharsets):
        (WebCore::knownCharsets):
        (WebCore::supportedCharsets):
        (WebCore::languageManager):
        (WebCore::addCharset):
        (WebCore::LanguageManager::LanguageManager):
        (WebCore::getCodePage):
        (WebCore::newTextCodecWinCE):
        (WebCore::TextCodecWinCE::TextCodecWinCE):
        (WebCore::TextCodecWinCE::~TextCodecWinCE):
        (WebCore::TextCodecWinCE::registerBaseEncodingNames):
        (WebCore::TextCodecWinCE::registerBaseCodecs):
        (WebCore::TextCodecWinCE::registerExtendedEncodingNames):
        (WebCore::TextCodecWinCE::registerExtendedCodecs):
        (WebCore::getCodePageFlags):
        (WebCore::findFirstNonAsciiCharacter):
        (WebCore::decode):
        (WebCore::TextCodecWinCE::decode):
        (WebCore::TextCodecWinCE::encode):
        (WebCore::TextCodecWinCE::enumerateSupportedEncodings):
        * platform/text/wince/TextCodecWinCE.h: Added.

2010-06-24  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        Bug 40880 - SVG properties fill and stroke do not accept system colors
        https://bugs.webkit.org/show_bug.cgi?id=40880

        Handle css system colors in fill and stroke properties.

        Test: svg/css/rect-system-color.xhtml

        * css/CSSParser.cpp: Remove comment and unneeded if condition
        (WebCore::CSSParser::parseValue):
        * css/SVGCSSParser.cpp: Allow css system colors
        (WebCore::CSSParser::parseSVGValue):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make DocumentParser API private on subclasses to catch misuse bugs
        https://bugs.webkit.org/show_bug.cgi?id=41186

        This already found one bug:
        https://bugs.webkit.org/show_bug.cgi?id=41187

        Added a new HTMLDocumentParaser::parseDocumentFragment so that
        DocumentFragment.cpp does not need to use private methods.

        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::parseHTML):
        * dom/XMLDocumentParser.h:
        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
        (WebCore::XMLDocumentParser::isXHTMLDocument):
        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::parseDocumentFragment):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::parseDocumentFragment):
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::forceSynchronous):
        (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        * loader/TextDocument.cpp:

2010-05-28  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha.

        [GStreamer] multiple video sink support
        https://bugs.webkit.org/show_bug.cgi?id=39472

        Playbin2 video-sink is now a bin containing a tee element capable
        of dispatching the buffers to multiple video sinks. By default
        only our webkit video sink is used. This will allow
        GStreamerGWorld to add support for autovideosink in the future.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out AfterHeadMode for tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41191

        This mode is fairly similar to the others.  I needed to change some of
        the types around w.r.t. Nodes/Elements.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::push):
        (WebCore::HTMLTreeBuilder::ElementStack::remove):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out InHeadNoscriptMode for tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41189

        Lots of notImplemented() calls in this state.  I need to figure how to
        delegate handling of a token from one state to another.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out InHeadMode for tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41184

        This state is relatively straightforward.  We introduce the stack of
        open elements to track that notion in the spec.  The old tree builder
        has a nice data structure for that, which we'll probably steal, but I'd
        like to see what the full API is first.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertCharacter):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::top):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out BeforeHeadMode tree builder state
        https://bugs.webkit.org/show_bug.cgi?id=41183

        This makes procesToken recursive, which might not be the best idea.
        Also, we can now make fake AtomicHTMLTokens for use by the algorithm.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertElement):
        * html/HTMLTreeBuilder.h:

2010-06-22 Antonio Gomes <tonikitoo@webkit.org>

        Reviewed by David Hyatt.

        Add a NodeList-derivated wrapper class for a ListHashSet.
        https://bugs.webkit.org/show_bug.cgi?id=41081

        StaticHashSetList will work as a wrapper to ListHashSet objects that are
        aimed to be exposed to the DOM.

        As a use case, the rect based HitTest (bug 40197) will store the retrieved nodes
        in a ListHashSet. It is going to be exposed to the DOM through are nodesFromRect
        of Document returning a NodeList (i.e. StatisHashSetList) wrapping a ListHashSet.

        No new tests.

2010-06-24  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
        https://bugs.webkit.org/show_bug.cgi?id=40798

        Catches error in row callback for libPNG when extra rows are returned.

        Test: fast/images/png-extra-row-crash.html

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Clean up and document DocumentWriter::replaceDocument code path
        https://bugs.webkit.org/show_bug.cgi?id=41182

        No functional changes, thus no tests.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
         - Remove comment which could be misleading.

2010-06-23  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Implementing DatabaseSync::openDatabaseSync().
        https://bugs.webkit.org/show_bug.cgi?id=40607

        Moved some common code from Database to AbstractDatabase. Made
        performOpenAndVerify() virtual, since DatabaseSync doesn't need to
        interact with DatabaseThread. Removed the m_creationCallback
        field, since it's only needed in the openDatabase{Sync} methods.

        * storage/AbstractDatabase.cpp:
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::guidMutex):
        (WebCore::guidToVersionMap):
        (WebCore::updateGuidVersionMap):
        (WebCore::guidToDatabaseMap):
        (WebCore::guidForOriginAndName):
        (WebCore::AbstractDatabase::databaseInfoTableName):
        (WebCore::AbstractDatabase::AbstractDatabase):
        (WebCore::AbstractDatabase::closeDatabase):
        (WebCore::AbstractDatabase::version):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::scriptExecutionContext):
        (WebCore::AbstractDatabase::securityOrigin):
        (WebCore::AbstractDatabase::stringIdentifier):
        (WebCore::AbstractDatabase::displayName):
        (WebCore::AbstractDatabase::estimatedSize):
        (WebCore::AbstractDatabase::fileName):
        (WebCore::AbstractDatabase::databaseVersionKey):
        (WebCore::AbstractDatabase::getVersionFromDatabase):
        (WebCore::AbstractDatabase::setVersionInDatabase):
        (WebCore::AbstractDatabase::versionMatchesExpected):
        (WebCore::AbstractDatabase::setExpectedVersion):
        (WebCore::AbstractDatabase::disableAuthorizer):
        (WebCore::AbstractDatabase::enableAuthorizer):
        (WebCore::AbstractDatabase::setAuthorizerReadOnly):
        (WebCore::AbstractDatabase::lastActionChangedDatabase):
        (WebCore::AbstractDatabase::lastActionWasInsert):
        (WebCore::AbstractDatabase::resetDeletes):
        (WebCore::AbstractDatabase::hadDeletes):
        (WebCore::AbstractDatabase::resetAuthorizer):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::opened):
        (WebCore::AbstractDatabase::isNew):
        (WebCore::AbstractDatabase::databaseDebugName):
        * storage/Database.cpp:
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DatabaseCreationCallbackTask::performTask):
        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::version):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::close):
        (WebCore::Database::stop):
        (WebCore::Database::performOpenAndVerify):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::create):
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::markAsDeletedAndClose):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
        (WebCore::DatabaseSync::closeImmediately):
        * storage/DatabaseSync.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):

2010-06-24  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * platform/network/cf/AuthenticationCF.h:

2010-06-24  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed. Build fix.

        Fix the build after r61798.

        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents):

2010-06-24  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=41178
        Timed refresh in subframes isn't stopped when going into b/f cache

        Test: fast/history/timed-refresh-in-cached-frame.html

        * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Top frame's stopLoading()
        won't help cached subframes; stop loading from here.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Don't stop loading in child frames. This didn't work
        for cached frames due to frame tree having been already desonstructed, and it's not necessary
        in non-cached case because stopLoading() will be called for subframes via
        FrameLoader::detachFromParent() and closeURL().
        (WebCore::FrameLoader::pageHidden): This was a second code path that dispatched pagehide
        event - it's no longer needed, because everything goes through FrameLoader::stopLoading().
        (WebCore::FrameLoader::commitProvisionalLoad): Don't call pageHidden(), the code for adding
        frame to b/f cache will do everything.

        * loader/FrameLoader.h: Removed pageHidden().

2010-06-24  Eric Seidel  <eric@webkit.org>

        Unreviewed. Fix the build.  I am a bad man.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):

2010-06-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        Build fix for building against GTK+ 3.x.

        No new tests as functionality has not changed.

        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents):
        (WebCore::PasteboardHelper::fillSelectionData):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Clean up and document DocumentWriter::replaceDocument code path
        https://bugs.webkit.org/show_bug.cgi?id=41182

        No functional change, thus no test.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        * loader/DocumentWriter.h:

2010-06-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
        https://bugs.webkit.org/show_bug.cgi?id=40939
        rdar://problem/7996172
        
        Export -[MediaElement playbackRate];
        
        * WebCore.Video.exp:

2010-06-21  Evan Martin  <evan@chromium.org>

        Reviewed by Adam Barth.

        [chromium] overlapping characters in complex text
        https://bugs.webkit.org/show_bug.cgi?id=40966

        We need to clear all the buffers we hand to Harfbuzz before we use them.
        While I'm here, refactor the code slightly to make its behavior more
        clear and correct (previously, we would repeatedly double our buffer
        size when we could have just sized it correctly on the second try).

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::createGlyphArrays):
        (WebCore::TextRunWalker::shapeGlyphs):

2010-06-24  Adele Peterson  <adele@apple.com>

        Reviewed by Sam Weinig.

        Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
        https://bugs.webkit.org/show_bug.cgi?id=41085

        Covered by existing tests.

        * editing/EditorCommand.cpp:
        (WebCore::executePasteAsPlainText): Added.
        (WebCore::createCommandMap): Added pasteAsPlainText command.

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out BeforeHTMLMode state
        https://bugs.webkit.org/show_bug.cgi?id=41133

        In this patch, we switch the TreeBuidler over to using AtomicHTMLTokens
        and sketch out another state.  These states don't actually do anything
        yet, I'm still just getting the structure of the spec into the code so
        we can implement the details incrementally.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::parseError):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add AtomicHTMLToken
        https://bugs.webkit.org/show_bug.cgi?id=41131

        We need an atomized version of the token for use in the tree builder.
        Eventually, we should make the existing HTMLToken an internal detail of
        the HTMLTokenizer.  This new AtomicHTMLToken should be also be more
        easily cached between the preload scanner and the tree builder.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        (WebCore::AtomicHTMLToken::type):
        (WebCore::AtomicHTMLToken::name):
        (WebCore::AtomicHTMLToken::selfClosing):
        (WebCore::AtomicHTMLToken::attributes):
        (WebCore::AtomicHTMLToken::characters):
        (WebCore::AtomicHTMLToken::comment):
        (WebCore::AtomicHTMLToken::publicIdentifier):
        (WebCore::AtomicHTMLToken::systemIdentifier):
        (WebCore::AtomicHTMLToken::forceQuirks):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add RawDataDocumentParser to get rid of a bunch of copy/paste code in DocumentParser subclasses
        https://bugs.webkit.org/show_bug.cgi?id=41136

        I think this is likely far from the final design,
        however this is almost entirely minus lines which is a
        good thing.

        The original authors of these DocumentParser subclasses
        seem to have just copied the files whole, as they all
        had the same includes, many of which were unnecessary for
        some of the files.

        I think eventually the FrameLoader will call a virtual
        DocumentParser::appendData which will in turn decode
        and call another write/appendData call.  In the case
        of these RawDataDocumentParsers, they will just override
        the low-level appendData call instead of needing
        DocumentWriter to have a special if based on
        DocumentParser::wantsRawData.

        No functional change, thus no tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::writeRawData):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::ImageDocumentParser):
        (WebCore::ImageDocumentParser::finish):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::MediaDocumentParser):
        (WebCore::MediaDocumentParser::writeRawData):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::PluginDocumentParser):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::createParser):

2010-06-23  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        REGRESSION (r61619): Memory corruption in open-source ICO decoder
        https://bugs.webkit.org/show_bug.cgi?id=41107

        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::processInfoHeader): Fix memory corruption.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::processDirectoryEntries): Handle sizing failure correctly (though failure should be impossible).

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

        Unreviewed, rolling out r61783.
        http://trac.webkit.org/changeset/61783
        https://bugs.webkit.org/show_bug.cgi?id=41179

        Caused a couple of test failures (Requested by japhet on
        #webkit).

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::create):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        * html/HTMLViewSourceDocument.h:
        (WebCore::HTMLViewSourceDocument::create):
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument):
        (WebCore::DocumentWriter::begin):
        * loader/DocumentWriter.h:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
        * loader/FTPDirectoryDocument.h:
        (WebCore::FTPDirectoryDocument::create):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::ImageDocument):
        * loader/ImageDocument.h:
        (WebCore::ImageDocument::create):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::MediaDocument):
        * loader/MediaDocument.h:
        (WebCore::MediaDocument::create):
        * loader/PlaceholderDocument.h:
        (WebCore::PlaceholderDocument::create):
        (WebCore::PlaceholderDocument::PlaceholderDocument):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::PluginDocument):
        * loader/PluginDocument.h:
        (WebCore::PluginDocument::create):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::SinkDocument):
        * loader/SinkDocument.h:
        (WebCore::SinkDocument::create):
        * loader/TextDocument.cpp:
        (WebCore::TextDocument::TextDocument):
        * loader/TextDocument.h:
        (WebCore::TextDocument::create):
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument):
        * svg/SVGDocument.h:
        (WebCore::SVGDocument::create):
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2010-06-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Small code cleanup in RenderThemeGtk
        https://bugs.webkit.org/show_bug.cgi?id=40989

        Reduce the amount of duplicated code slightly and prepare this section for
        future improvements, such as sharing the clipping rectangle calculation with
        the slow path.

        No new tests as functionality has not changed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintMozillaGtkWidget): Small code cleanup.

2010-06-24  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Take a KURL parameter in Document's constructor.
        This will remove the one case where Document::url() 
        and FrameLoader::url() are not equal, allowing us to
        remove FrameLoader::url().

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

        Refactor only, no new tests.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document): Call setURL() for non-empty KURL input parameters.
        (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
            of m_frame->loader()->url() for initializing the SecurityOrigin.
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
        * html/HTMLViewSourceDocument.cpp:
        * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
            redundant Document::setURL() call.
        * loader/DocumentWriter.h:
        * loader/FTPDirectoryDocument.cpp:
        * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
        * loader/ImageDocument.cpp:
        * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
        * loader/MediaDocument.cpp:
        * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
        * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
        * loader/PluginDocument.cpp:
        * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
        * loader/SinkDocument.cpp:
        * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
        * loader/TextDocument.cpp:
        * loader/TextDocument.h: Add KURL parameter to create() and constructor.
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2010-06-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8044645> and https://bugs.webkit.org/show_bug.cgi?id=41082

        Webarchives will null main resource cause a repro crash.

        Test: webarchive/loading/mainresource-null-mimetype-crash.html

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createResource): Fail to create the archive resource if the main resource's
          mime type is null.

2010-06-24  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Sam Weinig.

        Provide a way to obtain the rendered rectangle for box elements.

        * WebCore.base.exp: Export the symbol so we can see it in WebKit.
        * dom/Node.cpp:
        (WebCore::Node::renderRect): Added new ethod that will return a rendered rectangle for box elements.
        * dom/Node.h: Ditto.

2010-06-24  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Create specialized classes for Transform,
        Image and WebGL layers to replace the rather monolithic LayerChromium class.
        Layers can now own the GL texture they use for backing store and a different
        shading program can be used by the compositor for each layer type. WebGL layers
        are not yet hooked up to GraphicsContext3D.
        https://bugs.webkit.org/show_bug.cgi?id=41106

        * WebCore.gypi:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::):
        * platform/graphics/chromium/ImageLayerChromium.cpp: Added.
        (WebCore::ImageLayerChromium::create):
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        (WebCore::ImageLayerChromium::setContents):
        (WebCore::ImageLayerChromium::updateTextureContents):
        * platform/graphics/chromium/ImageLayerChromium.h: Added.
        (WebCore::ImageLayerChromium::drawsContent):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::create):
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::updateTextureContents):
        (WebCore::LayerChromium::updateTextureRect):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::drawsContent):
        (WebCore::LayerChromium::ownsTexture):
        (WebCore::LayerChromium::textureId):
        (WebCore::LayerChromium::setShaderProgramId):
        (WebCore::LayerChromium::shaderProgramId):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::createLayerShader):
        (WebCore::ShaderProgram::ShaderProgram):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::useShaderProgram):
        (WebCore::LayerRendererChromium::drawTexturedQuad):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::drawDebugBorder):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::bindCommonAttribLocations):
        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::):
        * platform/graphics/chromium/TransformLayerChromium.cpp: Added.
        (WebCore::TransformLayerChromium::create):
        (WebCore::TransformLayerChromium::TransformLayerChromium):
        * platform/graphics/chromium/TransformLayerChromium.h: Added.
        (WebCore::TransformLayerChromium::drawsContent):
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::textureId):
        (WebCore::WebGLLayerChromium::updateTextureContents):
        (WebCore::WebGLLayerChromium::setContext):
        * platform/graphics/chromium/WebGLLayerChromium.h: Added.
        (WebCore::WebGLLayerChromium::drawsContent):
        (WebCore::WebGLLayerChromium::ownsTexture):
        (WebCore::WebGLLayerChromium::shaderProgramId):
        (WebCore::WebGLLayerChromium::setShaderProgramId):

2010-06-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.
 
        Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.

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

        - Removed a bunch of unused methods from all over the place
        - Added client callbacks for states surviving navigation
        - Implemented more user-friendly stub for InspectorFrontendHost.platform

        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::resourceTrackingWasEnabled):
        (WebCore::InspectorClient::resourceTrackingWasDisabled):
        (WebCore::InspectorClient::timelineProfilerWasStarted):
        (WebCore::InspectorClient::timelineProfilerWasStopped):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):

2010-06-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41099
        Assertion failure: !m_suspended when XMLHttpRequest fails

        This was a general problem with load failure timer not being deferred.

        Test: manual-tests/xhr-failure-behind-alert.html

        * manual-tests/xhr-failure-behind-alert.html: Added.

        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::fireFailure): Added an empty case for NoFailure. Reset
        m_scheduledFailureType to NoFailure when firing.
        (WebCore::ResourceHandle::setDefersLoading): Stop failure timer when deferring, restart when
        un-deferring loads.

        * platform/network/ResourceHandle.h: Renamed m_failureType to m_scheduledFailureType to
        make it clear that it is only set when a timer is scheduled.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Initialize m_scheduledFailureType
        to NoFailure, so that we can look at it when un-deferring loads.

        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/soup/ResourceHandleSoup.cpp:
        Platform specific parts of setDefersLoading() are now in a separate function.

2010-06-24  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: revert 61766.

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::setAttachedWindow):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):

2010-06-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
        
        https://bugs.webkit.org/show_bug.cgi?id=41094

        - Removed a bunch of unused methods from all over the place
        - Added client callbacks for states surviving navigation
        - Implemented more user-friendly stub for InspectorFrontendHost.platform

        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::resourceTrackingWasEnabled):
        (WebCore::InspectorClient::resourceTrackingWasDisabled):
        (WebCore::InspectorClient::timelineProfilerWasStarted):
        (WebCore::InspectorClient::timelineProfilerWasStopped):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):

2010-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Inspector & SVG Text have problems, kids of RenderSVGText are not properly placed.
        https://bugs.webkit.org/show_bug.cgi?id=41143

        Simplify code path taken for SVG text in InspectorController, take the code path currently only used for RenderInline,
        that just calls absoluteQuads(), and displays the result. Refactored code that all SVG renderers (except RenderSVGRoot)
        take this code path -> highlighting now works as expected.

        Don't use absoluteClippedOverlowRect() in the various RenderSVG*::absoluteQuads() methods, as we're loosing floating-point precision.
        Instead use localToAbsoluteQuad(strokeBoundingBox()) in order to highlight the unclipped, unfiltered, etc.. region that this renderer would paint.

        No new tests, as this is only manual testable - at least I didn't find any Inspector-Highlighting tests, if someone knows please mail me.

        * inspector/InspectorController.cpp:
        (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
        (WebCore::InspectorController::drawNodeHighlight):
        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::absoluteRects): ASSERT_NOT_REACHED() here. SVG should only be inspected through absoluteQuads().
        * rendering/RenderSVGBlock.h: Add absoluteRects() in this base class for RenderForeignObject/RenderSVGText.
        * rendering/RenderSVGHiddenContainer.cpp: Remove absoluteRects() - RenderSVGModelObject already has it.
        * rendering/RenderSVGHiddenContainer.h: Ditto.
        * rendering/RenderSVGImage.cpp: 
        (WebCore::RenderSVGImage::absoluteRects): ASSERT_NOT_REACHED() here.
        (WebCore::RenderSVGImage::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
        * rendering/RenderSVGImage.h:
        (WebCore::RenderSVGImage::objectBoundingBox): Inlined
        * rendering/RenderSVGInline.cpp: 
        (WebCore::RenderSVGInline::absoluteQuads): Take RenderSVGText translation into account, allows inspecting <tspan>/<tref> etc.
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGModelObject.cpp: 
        (WebCore::RenderSVGModelObject::absoluteRects): ASSERT_NOT_REACHED() here.
        (WebCore::RenderSVGModelObject::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGRoot.cpp: Fix typo in license s/aint/along. Need to touch this file in order to let Mac build.
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::mapLocalToContainer): Remove hack, which moved the transformState by x()/y(). Not needed anymore.
        (WebCore::RenderSVGText::absoluteQuads): Proper implementation, respecting x/y translation.
        * rendering/RenderSVGText.h: Reorder some functions. 
        * rendering/SVGRenderSupport.h: Removed last virtual function strokeBoundingBox().

2010-06-24  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Build fix for Tiger.

        * platform/mac/ThemeMac.mm:
        (WebCore::setControlSize):

2010-06-24  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Build fix for Tiger.

        * platform/mac/ThemeMac.mm:
        (WebCore::setControlSize):
        (WebCore::ThemeMac::inflateControlPaintRect):

2010-06-24  Kent Tamura  <tkent@chromium.org>

        Unreviewed.  Build fix for Chromium Mac.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isSpeechEnabled):

2010-06-24  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Symbian build fix.

        The QML WebKit integration needs to be part of QtWebKit.sis

        * WebCore.pro: Deploy qmlwebkitplugin.dll.

2010-06-24  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Add a speech button to input elements, no rendering or actions yet.

        Speech Input: Add a speech button to text input element (no rendering or actions yet)
        https://bugs.webkit.org/show_bug.cgi?id=40925

        No new tests. Will create a layout test in a subsequent patch.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/CSSValueKeywords.in:
        * css/html.css:
        (input::-webkit-input-speech-button):
        * dom/InputElement.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isSpeechEnabled):
        * html/HTMLInputElement.h:
        * platform/ThemeTypes.h:
        (WebCore::):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        (WebCore::RenderTextControlSingleLine::hasControlClip):
        (WebCore::RenderTextControlSingleLine::controlClipRect):
        (WebCore::RenderTextControlSingleLine::textBlockWidth):
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::create):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        * rendering/TextControlInnerElements.h:
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2010-06-24  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adam Barth.

        [Mac] The upper button of <input type=number> has no visual effect on click
        https://bugs.webkit.org/show_bug.cgi?id=38380

        Because we have no ways to draw an NSStepperCell with its up button
        highlighted, use HIThemeDrawButton() instead.

        Test: platform/mac/fast/forms/input-appearance-spinbutton-up.html

        * platform/mac/ThemeMac.mm:
        (WebCore::controlSizeFromPixelSize):
          New function. Made from a part of setControlSize().
        (WebCore::setControlSize):
        (WebCore::convertControlStatesToThemeDrawState):
        (WebCore::paintStepper): Use HITheme API instead of NSStepperCell.
        (WebCore::ThemeMac::inflateControlPaintRect):
          Use controlSizeFromPixelSize().

2010-06-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: implement layout tests for debugger
        https://bugs.webkit.org/show_bug.cgi?id=40774

        Test: inspector/debugger-pause-on-debugger-statement.html

        * bindings/js/ScriptDebugServer.cpp: remove unused obsolete code that deals with global listeners.
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::removeListener):
        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
        (WebCore::ScriptDebugServer::pauseIfNeeded):
        (WebCore::ScriptDebugServer::didAddListener):
        (WebCore::ScriptDebugServer::didRemoveListener):
        * bindings/js/ScriptDebugServer.h:
        * platform/mac/EventLoopMac.mm:
        (WebCore::EventLoop::cycle): wait at most 10ms for new event, otherwise layout tests would
        hang because in their case there may be no events ever.

2010-06-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Fixed evaluation & logging of null values in console.
        Changed handling of null and undefined in ScriptValue::toString()
        to match JSC bindings (i.e. "null" and "undefined" instead of "").
        https://bugs.webkit.org/show_bug.cgi?id=40980

        * bindings/v8/ScriptValue.cpp:
        (WebCore::ScriptValue::toString):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):

2010-06-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: live edit doesn't work when resource tracking is off
        https://bugs.webkit.org/show_bug.cgi?id=41076

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._sourceIDForLine): implement this method for ScriptView,
        it's needed for editLine to work.

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out InitialMode of HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41126

        Transliterated from the spec.  Currently doesn't do anything.  Mostly
        an experiment to see where this goes.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        * html/HTMLTreeBuilder.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add all the HTML5 tree builder insertion modes
        https://bugs.webkit.org/show_bug.cgi?id=41124

        These are just copied verbatim from the spec.  No tests because these
        don't do anything yet.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Fix namespace indent.  Just whitespace changes.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::~DocumentParser):
        (WebCore::DocumentParser::isExecutingScript):
        (WebCore::DocumentParser::stopParsing):
        (WebCore::DocumentParser::processingData):
        (WebCore::DocumentParser::wantsRawData):
        (WebCore::DocumentParser::writeRawData):
        (WebCore::DocumentParser::wellFormed):
        (WebCore::DocumentParser::lineNumber):
        (WebCore::DocumentParser::columnNumber):
        (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::DocumentParser::htmlTreeBuilder):
        (WebCore::DocumentParser::asHTMLDocumentParser):
        (WebCore::DocumentParser::inViewSourceMode):
        (WebCore::DocumentParser::setInViewSourceMode):
        (WebCore::DocumentParser::document):
        (WebCore::DocumentParser::xssAuditor):
        (WebCore::DocumentParser::setXSSAuditor):
        (WebCore::DocumentParser::DocumentParser):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Speculative build fix for Qt.

        Move Document* down onto DocumentParser, since every DocumentParser needs one.
        https://bugs.webkit.org/show_bug.cgi?id=41117

        XMLDocumentParserQt is a huge pile of donkey barf.
        I can't believe I ever r+'d the creation of this pile of
        copy/paste code.

        I clearly missed removing m_doc from this code as well and thus
        broke Qt.

        We really need to fix both XMLDocumentParserLibxml2 and
        XMLDocumentParserQt not to be so poorly abstracted so
        that if we're going to have two of them they can at least
        share some code.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move Document* down onto DocumentParser, since every DocumentParser needs one.
        https://bugs.webkit.org/show_bug.cgi?id=41117

        This eliminated the need for document() on HTMLDocumentParser.
        This paves the way for more code sharing between various
        DocumentParser subclasses.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::inViewSourceMode):
        (WebCore::DocumentParser::setInViewSourceMode):
        (WebCore::DocumentParser::document):
        (WebCore::DocumentParser::DocumentParser):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::isWMLDocument):
        (WebCore::XMLDocumentParser::pushCurrentNode):
        (WebCore::XMLDocumentParser::popCurrentNode):
        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
        (WebCore::XMLDocumentParser::enterText):
        (WebCore::XMLDocumentParser::end):
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::begin):
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
        (WebCore::LegacyHTMLDocumentParser::parseTag):
        (WebCore::LegacyHTMLDocumentParser::continueProcessing):
        (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::write):
        (WebCore::LegacyHTMLDocumentParser::stopParsing):
        (WebCore::LegacyHTMLDocumentParser::timerFired):
        (WebCore::LegacyHTMLDocumentParser::end):
        (WebCore::LegacyHTMLDocumentParser::processToken):
        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
        (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
        * html/LegacyHTMLDocumentParser.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::ImageDocumentParser):
        (WebCore::ImageDocumentParser::imageDocument):
        (WebCore::ImageDocumentParser::write):
        (WebCore::ImageDocumentParser::writeRawData):
        (WebCore::ImageDocumentParser::finish):
        (WebCore::ImageDocumentParser::finishWasCalled):
        (WebCore::ImageDocumentParser::isWaitingForScripts):
        (WebCore::ImageDocument::createParser):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::MediaDocumentParser):
        (WebCore::MediaDocumentParser::createDocumentStructure):
        (WebCore::MediaDocumentParser::finish):
        (WebCore::MediaDocumentParser::finishWasCalled):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::PluginDocumentParser):
        (WebCore::PluginDocumentParser::createDocumentStructure):
        (WebCore::PluginDocumentParser::writeRawData):
        (WebCore::PluginDocumentParser::finish):
        (WebCore::PluginDocumentParser::finishWasCalled):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::SinkDocumentParser):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::write):
        (WebCore::TextDocumentParser::finish):
        (WebCore::TextDocumentParser::finishWasCalled):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Start to clean up DocumentParser interface
        https://bugs.webkit.org/show_bug.cgi?id=41114

        The first of many cleanups needed to the DocumentParser
        interface.  Rename executingScript() to isExecutingScript()
        and make it return a bool instead of an int.  Also added a
        FIXME to XMLDocumentParser about implementing it and did
        some minor other cleanup to the XMLDocumentParser header.

        No functional change, thus no tests.

        * dom/Document.cpp:
        (WebCore::Document::open):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::isExecutingScript):
        * dom/XMLDocumentParser.h:
        (WebCore::XMLDocumentParser::wellFormed):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::isExecutingScript):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::isExecutingScript):

2010-06-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Simon Fraser.

        Implement IDL attribute for HTML5 hidden
        https://bugs.webkit.org/show_bug.cgi?id=41039

        Test: fast/html/hidden-attr-dom.html

        * html/HTMLElement.idl: Just add to the IDL file. [Reflect] takes
        care of the rest.

2010-06-23  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Chris Fleizach.

        [Gtk] nameFromChildren is obsolete
        https://bugs.webkit.org/show_bug.cgi?id=36128

        Look to the AtkText interface implemented by the objects in
        question.

        Test: platform/gtk/accessibility/name-from-label.html

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name):
        (webkit_accessible_table_get_column_description):
        (webkit_accessible_table_get_row_description):

2010-06-23  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port FileSystem
        https://bugs.webkit.org/show_bug.cgi?id=34323

        Port FileSystem with IFileMgr interface.

        * platform/FileSystem.h:
        * platform/brew/FileSystemBrew.cpp: Added.
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::pathByAppendingComponent):
        (WebCore::fileSystemRepresentation):
        (WebCore::canonicalPath):
        (WebCore::makeAllDirectories):
        (WebCore::homeDirectoryPath):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::openTemporaryFile):
        (WebCore::closeFile):
        (WebCore::writeToFile):
        (WebCore::unloadModule):
        (WebCore::listDirectory):

2010-06-23  Alexendar Pavlov  <apavlov@chromium.org>

        Reviewed by David Hyatt.

        Swap checks in Position::isCandidate so that the less expensive
        nodeIsUserSelectNode  (node && node->renderer() &&
        node->renderer()->style()->userSelect() == SELECT_NONE) came first.

        (Was Web Inspector: Hangup when expanding elements with enormous
        text node content in Elements panel).

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

        * dom/Position.cpp:
        (WebCore::Position::isCandidate):
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate):

2010-06-23  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add PopupMenu implementation
        https://bugs.webkit.org/show_bug.cgi?id=40226

        Delegate PopupMenu handling to ChromeClientBrew.

        * page/brew/ChromeClientBrew.h: Added.
        * platform/PopupMenu.h:
        * platform/brew/PopupMenuBrew.cpp: Added.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):

2010-06-23  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Implement format conversions in texImage2D and texSubImage2D taking HTML data
        https://bugs.webkit.org/show_bug.cgi?id=40319

        Generalized code supporting premultiplication of alpha and
        vertical flip to pack texture data into requested format and type.
        Handled incoming image data of various formats, RGBA and BGRA in
        particular, both to reduce the number of temporary copies during
        texture upload and to support premultiplying alpha for the
        texImage2D and texSubImage2D entry points taking ArrayBufferView
        in a subsequent bug. Added test case exercising all combinations
        of format/type combinations, premultiplication of alpha, and
        Image/ImageData upload. (Incorporated pnglib.js under
        fast/canvas/webgl/resources/ to be able to generate Image elements
        programmatically.) Tested in Safari on Mac OS X and in Chromium on
        Mac OS X, Windows and Linux.

        Test: fast/canvas/webgl/tex-image-with-format-and-type.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
        (WebCore::GraphicsContext3D::extractImageData):
        (WebCore::GraphicsContext3D::flipVertically):
        (WebCore::doUnpackingAndPacking):
        (WebCore::doPacking):
        (WebCore::GraphicsContext3D::packPixels):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::narrowInternalFormat):
        (WebCore::GraphicsContext3D::texImage2D):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-06-23  Stephen White  <senorblanco@chromium.org>

        Unreviewed; correcting bad patch.

        In my haste to land r61710, I mistakenly landed the wrong version, in
        which a chunk of code was moved.  This patch moves that chunk of code
        to where it was in the patch that was reviewed.  Mea culpa.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):

2010-06-23  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Hyatt.

        This is a tweak to the resize algorithm introduced in r61341, and
        is a fix for the regression described in
        https://bugs.webkit.org/show_bug.cgi?id=41036

        The goal is to bring back the some of old behaviour, without regressing
        too much of the performance gains in r61341.

        The old algorithm was:
        - on first resize, draw in high quality and record the paint time
        - if we've already drawn at this size, use the same quality as last time
        - on subsequent resizes, if the resize occurs within X ms of the
          previous one, draw at low quality and set a timer (one timer per
          image).
        - when each timer expires, draw that image at high quality

        The r61341 algorithm was:  
        - on first resize, draw the image in low quality, add it to a list of
          resized images, and set a timer (one timer for all images)
        - when the timer expires, redraw all resized images in high quality

        The new algorithm is:
        - on first resize, if no other animated resizes are outstanding, draw in
          high quality and set the timer (one timer for all images)
        - if any images have been resized to two different sizes in the last
          X ms, draw all resized images in low quality and kick the timer
          forward
        - when the timer expires, if any animated resizes occured, redraw all
          resized images in high quality, and reset the flag

        This should cause GUIMark and the IE9 demos to have good performance 
        after the first frame, while other pages with only static resizes
        should be unaffected.

        * rendering/RenderBoxModelObject.cpp:
        Change the LastPaintTimeMap to a LastPaintSizeMap:  we now record the
        last size an image was resized to, rather than the time it was painted
        (the time actually became redundant in r61341 when I added the
        check for m_timer.isActive():  we only care if anything is resizing
        while the timer is active).
        (WebCore::ImageQualityController::ImageQualityController):
        Add an initializer for the m_animatedResizeIsActive flag.
        (WebCore::ImageQualityController::objectDestroyed):
        Reset the m_animatedResizeIsActive flag if this was the last object
        in the list.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Only repaint all the images if there was an animated resize (otherwise,
        everything is already high quality).
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Implement the above algorithm.

2010-06-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Kenneth Rohde Christiansen.

        Bad cast after DOM mutation in RenderMenuList
        https://bugs.webkit.org/show_bug.cgi?id=40828
 
        Firing the onchange event on select which changes its size > 1 causes the select
        object to change from a menulist to a listbox. However, when propogating the events,
        we do a bad cast assuming the object will remain a menulist. Added proper checks to
        make sure we check the renderer after the onchange is fired and propogate the event
        based on correct object type.

        Test: fast/events/select-onchange-crash.html

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

2010-06-23  Andy Estes  <aestes@apple.com>

        Reviewed by Alexey Proskuryakov.
        
        <rdar://problem/8107855> Prevent a crash in WebCore when removing an
        object element with an invalid data URL in in a listener to its
        beforeload event.
        https://bugs.webkit.org/show_bug.cgi?id=41054

        Tests: fast/dom/beforeload/remove-bad-object-in-beforeload-listener.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderFallbackContent): Exit early if the
        object element is not in the document.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::updateWidget): If RenderWidget::destroy()
        was called during processing of onbeforeload, do not proceed with loading
        the object.

2010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [gtk] web fonts not loaded properly in scribd html5 reader
        https://bugs.webkit.org/show_bug.cgi?id=38758

        Drop filling the pattern with default values, because this
        restricts the matching more than we want.

        * platform/graphics/cairo/FontCacheCairo.cpp:
        (WebCore::FontCache::createFontPlatformData):

2010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [gtk] web fonts not loaded properly in scribd html5 reader
        https://bugs.webkit.org/show_bug.cgi?id=38758

        Also special-case `sans' amd `mono', which are aliases commonly
        used in GTK+ applications.

        * platform/graphics/cairo/FontCacheCairo.cpp:
        (WebCore::isWellKnownFontName):

2010-06-23  Justin Schuh  <jschuh@chromium.org>

        Unreviewed, rolling out r61695.
        http://trac.webkit.org/changeset/61695
        https://bugs.webkit.org/show_bug.cgi?id=40798

        61695 broke all the Linux builds.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-23  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin Adler.

        Fix PluginViewNone.cpp compilation for ports that also compile PluginView.cpp
        https://bugs.webkit.org/show_bug.cgi?id=37939

        * plugins/PluginViewNone.cpp:
        (WebCore::PluginView::handleFocusInEvent):
        (WebCore::PluginView::handleFocusOutEvent):
        (WebCore::PluginView::keepAlive):
        (WebCore::PluginView::privateBrowsingStateChanged):
        (WebCore::PluginView::setJavaScriptPaused):

2010-06-23  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
        https://bugs.webkit.org/show_bug.cgi?id=40798

        Catches error in row callback for libPNG when extra rows are returned.

        Test: fast/images/png-extra-row-crash.html

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-23  James Robinson  <jamesr@chromium.org>

        Reviewed by Dan Bernstein.

        Do not set needsLayout when the style attribute changes on an SVG element
        https://bugs.webkit.org/show_bug.cgi?id=40366

        SVGSVGElement::svgAttributeChanged was incorrectly calling renderer()->setNeedsLayout(true)
        whenever the styleAttr changed on its element.  This could happen during layout in some
        circumstances due to lazy style attribute synchronization.  When it did, it could cause the
        layout flags to become inconsistent.  See the test case for details.

        Changes to an element's style attribute always mark an element as needing layout anyway so
        this call was redundant.

        Test: fast/repaint/svg-layout-root-style-attr-update.html

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isKnownAttribute):

2010-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        r61215 broke Acid3
        https://bugs.webkit.org/show_bug.cgi?id=41034
        
        The code added in r61215, which tests whether the root renderer will fill
        the entire viewport, should not run for subframes. So bail from
        RenderView::paintBoxDecorations() if document()->ownerElement() is not null.
        The old code was trying to do this by checking 'elt', but that ends up as 
        null after the for loop above.
        
        We can also bail early if the is no FrameView().

        Test: fast/frames/paint-iframe-background.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-06-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not reset profiles panel on navigation.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::resetProfilesPanel):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.populateInterface):
        (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype._clearProfiles):
        * inspector/front-end/inspector.js:
        (WebInspector.resetProfilesPanel):

2010-06-23  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: InspectorController should be added only once as ScriptDebugListener to
        ScriptDebugServer.
        https://bugs.webkit.org/show_bug.cgi?id=41070

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): don't call InspectorBackend.enableDebugger if debugger is always enabled,
        InspectorController will do this on its side when the front end is connected.

2010-06-23  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Clear breakpoints before restoring them, not after.
        https://bugs.webkit.org/show_bug.cgi?id=41071

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableDebuggerFromFrontend):

2010-06-23  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Do not render the full frame when there is some elements with fixed positioning
        https://bugs.webkit.org/show_bug.cgi?id=33150

        Do not render the full frame when there is some elements with fixed positioning
        https://bugs.webkit.org/show_bug.cgi?id=33150

        The frame view take into acount the list of fixed object when scrolling
        the view. If the number of object is lower than a certain threshold, the pixel
        are blitted, and the invalidated area updated.

        * page/FrameView.cpp:
        (WebCore::FrameView::addFixedObject):
        (WebCore::FrameView::removeFixedObject):
        (WebCore::FrameView::scrollContentsFastPath):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::scrollContentsFastPath):
        * platform/ScrollView.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::repaintRectIncludingDescendants):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):

2010-06-23  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Fix displaying of several CPU profiles with the same name.

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

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):

2010-06-23  Adam Barth  <abarth@webkit.org>

        Unreviewed.  clean-header-guards that were made dirty by recent
        renames.

        * html/HTMLDocumentParser.h:
        * html/HTMLPreloadScanner.h:
        * html/HTMLTokenizer.h:
        * html/HTMLTreeBuilder.h:
        * html/LegacyHTMLDocumentParser.h:
        * html/LegacyHTMLTreeBuilder.h:
        * html/LegacyPreloadScanner.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename LegacyHTMLTreeConstructor to LegacyHTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41053

        There was some debate about whether to call this class (and the
        non-legacy version) "tree builder" or "tree constructor".  Maciej
        pointed out that other implementations (including Mozilla and HTML5Lib)
        call it a tree builder.  The path of least resistance seems to be call
        it that for now.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::htmlTreeConstructor):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        * html/HTMLDocumentParser.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLInputElement.cpp:
        * html/HTMLMeterElement.cpp:
        * html/HTMLProgressElement.cpp:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::legacyTreeConstructor):
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::htmlTreeConstructor):
        * html/LegacyHTMLTreeBuilder.cpp: Copied from WebCore/html/LegacyHTMLTreeConstructor.cpp.
        (WebCore::LegacyHTMLTreeBuilder::LegacyHTMLTreeBuilder):
        (WebCore::LegacyHTMLTreeBuilder::~LegacyHTMLTreeBuilder):
        (WebCore::LegacyHTMLTreeBuilder::reset):
        (WebCore::LegacyHTMLTreeBuilder::setCurrent):
        (WebCore::LegacyHTMLTreeBuilder::limitDepth):
        (WebCore::LegacyHTMLTreeBuilder::insertNodeAfterLimitDepth):
        (WebCore::LegacyHTMLTreeBuilder::parseToken):
        (WebCore::LegacyHTMLTreeBuilder::parseDoctypeToken):
        (WebCore::LegacyHTMLTreeBuilder::insertNode):
        (WebCore::LegacyHTMLTreeBuilder::handleError):
        (WebCore::LegacyHTMLTreeBuilder::textCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::commentCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::headCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::bodyCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::framesetCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::formCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::isindexCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::selectCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::ddCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::dtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::rpCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::rtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::nestedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::nestedPCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::nestedStyleCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::tableCellCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::tableSectionCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::noembedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::noframesCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::noscriptCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::pCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::pCloserStrictCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::mapCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::getNode):
        (WebCore::LegacyHTMLTreeBuilder::allowNestedRedundantTag):
        (WebCore::LegacyHTMLTreeBuilder::processCloseTag):
        (WebCore::LegacyHTMLTreeBuilder::isHeadingTag):
        (WebCore::LegacyHTMLTreeBuilder::isInline):
        (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
        (WebCore::LegacyHTMLTreeBuilder::isAffectedByResidualStyle):
        (WebCore::LegacyHTMLTreeBuilder::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::LegacyHTMLTreeBuilder::reopenResidualStyleTags):
        (WebCore::LegacyHTMLTreeBuilder::pushBlock):
        (WebCore::LegacyHTMLTreeBuilder::popBlock):
        (WebCore::LegacyHTMLTreeBuilder::popOneBlockCommon):
        (WebCore::LegacyHTMLTreeBuilder::popOneBlock):
        (WebCore::LegacyHTMLTreeBuilder::moveOneBlockToStack):
        (WebCore::LegacyHTMLTreeBuilder::checkIfHasPElementInScope):
        (WebCore::LegacyHTMLTreeBuilder::popInlineBlocks):
        (WebCore::LegacyHTMLTreeBuilder::freeBlock):
        (WebCore::LegacyHTMLTreeBuilder::createHead):
        (WebCore::LegacyHTMLTreeBuilder::handleIsindex):
        (WebCore::LegacyHTMLTreeBuilder::startBody):
        (WebCore::LegacyHTMLTreeBuilder::finished):
        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
        * html/LegacyHTMLTreeBuilder.h: Copied from WebCore/html/LegacyHTMLTreeConstructor.h.
        * html/LegacyHTMLTreeConstructor.cpp: Removed.
        * html/LegacyHTMLTreeConstructor.h: Removed.
        * html/StepRange.cpp:
        * html/ValidityState.cpp:
        * rendering/RenderSlider.cpp:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename the preload scanners
        https://bugs.webkit.org/show_bug.cgi?id=41052

        Renames PreloadScanner to LegacyPreloadScanner because this code is now
        off by default.  Also, rename HTML5PreloadScanner to
        HTMLPreloadScanner.  We're not calling it PreloadScanner because we've
        factored out the CSSPreloadScanner and the HTMLPreloadScanner from the
        original PreloadScanner.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5PreloadScanner.cpp: Removed.
        * html/HTML5PreloadScanner.h: Removed.
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * html/HTMLDocumentParser.h:
        * html/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTML5PreloadScanner.cpp.
        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
        (WebCore::HTMLPreloadScanner::appendToEnd):
        (WebCore::HTMLPreloadScanner::scan):
        (WebCore::HTMLPreloadScanner::processToken):
        (WebCore::HTMLPreloadScanner::scanningBody):
        * html/HTMLPreloadScanner.h: Copied from WebCore/html/HTML5PreloadScanner.h.
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
        * html/LegacyHTMLDocumentParser.h:
        * html/LegacyPreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
        (WebCore::LegacyPreloadScanner::LegacyPreloadScanner):
        (WebCore::LegacyPreloadScanner::~LegacyPreloadScanner):
        (WebCore::LegacyPreloadScanner::begin):
        (WebCore::LegacyPreloadScanner::end):
        (WebCore::LegacyPreloadScanner::reset):
        (WebCore::LegacyPreloadScanner::scanningBody):
        (WebCore::LegacyPreloadScanner::write):
        (WebCore::LegacyPreloadScanner::clearLastCharacters):
        (WebCore::LegacyPreloadScanner::rememberCharacter):
        (WebCore::LegacyPreloadScanner::lastCharactersMatch):
        (WebCore::LegacyPreloadScanner::consumeEntity):
        (WebCore::LegacyPreloadScanner::tokenize):
        (WebCore::LegacyPreloadScanner::processAttribute):
        (WebCore::LegacyPreloadScanner::emitCharacter):
        (WebCore::LegacyPreloadScanner::tokenizeCSS):
        (WebCore::LegacyPreloadScanner::emitTag):
        (WebCore::LegacyPreloadScanner::emitCSSRule):
        * html/LegacyPreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
        * html/PreloadScanner.cpp: Removed.
        * html/PreloadScanner.h: Removed.
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodeHTMLEntities):

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Yet more HTML5 => HTML renames
        https://bugs.webkit.org/show_bug.cgi?id=41051

        This patch renames HTML5DocumentParser to HTMLDocumentParser and
        HTML5TreeBuilder to HTMLTreeBuilder.  There was some discussion about
        whether to use the name HTMLTreeBuilder or HTMLTreeConstructor, but
        tree builder seems to be the dominate name in other implementations.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::parseHTML):
        * html/HTML5DocumentParser.cpp: Removed.
        * html/HTML5DocumentParser.h: Removed.
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::scan):
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5TreeBuilder.cpp: Removed.
        * html/HTML5TreeBuilder.h: Removed.
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocumentParser.cpp: Copied from WebCore/html/HTML5DocumentParser.cpp.
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::begin):
        (WebCore::HTMLDocumentParser::stopParsing):
        (WebCore::HTMLDocumentParser::processingData):
        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
        (WebCore::HTMLDocumentParser::isScheduledForResume):
        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeConstructor):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::willPumpLexer):
        (WebCore::HTMLDocumentParser::didPumpLexer):
        (WebCore::HTMLDocumentParser::write):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::finishWasCalled):
        (WebCore::HTMLDocumentParser::executingScript):
        (WebCore::HTMLDocumentParser::inScriptExecution):
        (WebCore::HTMLDocumentParser::lineNumber):
        (WebCore::HTMLDocumentParser::columnNumber):
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        (WebCore::HTMLDocumentParser::isWaitingForScripts):
        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
        (WebCore::HTMLDocumentParser::watchForLoad):
        (WebCore::HTMLDocumentParser::stopWatchingForLoad):
        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
        (WebCore::HTMLDocumentParser::notifyFinished):
        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLDocumentParser::script):
        * html/HTMLDocumentParser.h: Copied from WebCore/html/HTML5DocumentParser.h.
        * html/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        * html/HTMLParserScheduler.h:
        * html/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTML5TreeBuilder.cpp.
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::handleScriptStartTag):
        (WebCore::HTMLTreeBuilder::handleScriptEndTag):
        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
        (WebCore::HTMLTreeBuilder::adjustedLexerState):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::finished):
        (WebCore::HTMLTreeBuilder::isScriptingFlagEnabled):
        * html/HTMLTreeBuilder.h: Copied from WebCore/html/HTML5TreeBuilder.h.

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        More HTML5 => HTML renames
        https://bugs.webkit.org/show_bug.cgi?id=41049

        This patch renames HTML5ScriptRunner, HTML5ScriptRunnerHost, and
        HTML5Token to remove the "5" from their names.  These clases aren't
        specific to HTML5 and will be used going forward.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CSSPreloadScanner.cpp:
        (WebCore::CSSPreloadScanner::scan):
        * html/CSSPreloadScanner.h:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::notifyFinished):
        * html/HTML5DocumentParser.h:
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::PreloadTask):
        (WebCore::HTMLNames::PreloadTask::processAttributes):
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5PreloadScanner.h:
        * html/HTML5ScriptRunner.cpp: Removed.
        * html/HTML5ScriptRunner.h: Removed.
        * html/HTML5ScriptRunnerHost.h: Removed.
        * html/HTML5Token.h: Removed.
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
        (WebCore::HTML5TreeBuilder::processToken):
        * html/HTML5TreeBuilder.h:
        * html/HTMLScriptRunner.cpp: Copied from WebCore/html/HTML5ScriptRunner.cpp.
        (WebCore::HTMLScriptRunner::HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::isPendingScriptReady):
        (WebCore::HTMLScriptRunner::executePendingScript):
        (WebCore::HTMLScriptRunner::executeScript):
        (WebCore::HTMLScriptRunner::hasScriptsWaitingForLoad):
        (WebCore::HTMLScriptRunner::watchForLoad):
        (WebCore::HTMLScriptRunner::stopWatchingForLoad):
        (WebCore::HTMLScriptRunner::execute):
        (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
        (WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLScriptRunner::requestScript):
        (WebCore::HTMLScriptRunner::runScript):
        * html/HTMLScriptRunner.h: Copied from WebCore/html/HTML5ScriptRunner.h.
        * html/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTML5ScriptRunnerHost.h.
        (WebCore::HTMLScriptRunnerHost::~HTMLScriptRunnerHost):
        * html/HTMLToken.h: Copied from WebCore/html/HTML5Token.h.
        (WebCore::HTMLToken::HTMLToken):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::emitCharacter):
        (WebCore::HTMLTokenizer::emitCurrentToken):
        (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
        * html/HTMLTokenizer.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename HTML5EntityParser to HTMLEntityParser
        https://bugs.webkit.org/show_bug.cgi?id=41048

        Mostly the result of do-webcore-rename, but I tweaked the header guard
        and the name of the free function.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5EntityParser.cpp: Removed.
        * html/HTML5EntityParser.h: Removed.
        * html/HTMLEntityParser.cpp: Copied from WebCore/html/HTML5EntityParser.cpp.
        (WebCore::consumeHTMLEntity):
        * html/HTMLEntityParser.h: Copied from WebCore/html/HTML5EntityParser.h.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processEntity):
        (WebCore::HTMLTokenizer::nextToken):

2010-06-22  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add a new class that stores information about WebSocket handshake response.

        In the future, instances of the new class will be passed to the Web Inspector
        so that it will be able to display information about WebSocket handshake
        response.

        WebSocket: Add WebSocketHandshakeResponse
        https://bugs.webkit.org/show_bug.cgi?id=38728

        Test: websocket/tests/handshake-fail-by-no-cr.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocketHandshake.cpp:
        (WebCore::trimConsoleMessage):
        (WebCore::WebSocketHandshake::readServerHandshake):
        (WebCore::WebSocketHandshake::serverHandshakeResponse):
        (WebCore::WebSocketHandshake::readStatusLine): Moved from extractResponseCode.
        Add more error checks and make error messages more descriptive.
        (WebCore::WebSocketHandshake::readHTTPHeaders):
        (WebCore::WebSocketHandshake::processHeaders):
        * websockets/WebSocketHandshake.h:
        * websockets/WebSocketHandshakeResponse.cpp: Added.
        (WebCore::WebSocketHandshakeResponse::ChallengeResponse::ChallengeResponse):
        (WebCore::WebSocketHandshakeResponse::ChallengeResponse::set):
        (WebCore::WebSocketHandshakeResponse::WebSocketHandshakeResponse):
        (WebCore::WebSocketHandshakeResponse::~WebSocketHandshakeResponse):
        (WebCore::WebSocketHandshakeResponse::statusCode):
        (WebCore::WebSocketHandshakeResponse::setStatusCode):
        (WebCore::WebSocketHandshakeResponse::statusText):
        (WebCore::WebSocketHandshakeResponse::setStatusText):
        (WebCore::WebSocketHandshakeResponse::headerFields):
        (WebCore::WebSocketHandshakeResponse::addHeaderField):
        (WebCore::WebSocketHandshakeResponse::clearHeaderFields):
        (WebCore::WebSocketHandshakeResponse::challengeResponse):
        (WebCore::WebSocketHandshakeResponse::setChallengeResponse):
        * websockets/WebSocketHandshakeResponse.h: Added.

2010-06-23  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Implement page format data programming interface.
        The final goal is to implement CSS Paged Media Module Level 3 (http://dev.w3.org/csswg/css3-page/).
        To begin with, this change adds methods to know:
        - if page box is visible,
        - the page area rectangle, and
        - preferred page size.

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

        Test: printing/page-format-data.html

        * WebCore.base.exp:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSizeParameter):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::applyPageSizeProperty):
        (WebCore::CSSStyleSelector::pageSizeFromName):
        (WebCore::CSSStyleSelector::mmLength):
        (WebCore::CSSStyleSelector::inchLength):
        * css/CSSStyleSelector.h:
        * css/html.css:
        (@page):
        * dom/Document.cpp:
        (WebCore::Document::isPageBoxVisible):
        (WebCore::Document::pageAreaRectInPixels):
        (WebCore::Document::preferredPageSizeInPixels):
        * dom/Document.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::isPageBoxVisible):
        (WebCore::PrintContext::pageAreaRectInPixels):
        (WebCore::PrintContext::preferredPageSizeInPixels):
        * page/PrintContext.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::pageSize):
        (WebCore::InheritedFlags::setPageSize):
        * rendering/style/StyleRareNonInheritedData.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename lexer and m_lexer to tokenizer and m_tokenizer, respectively
        https://bugs.webkit.org/show_bug.cgi?id=41046

        This is a follow up to the recent HTML5Lexer => HTMLTokenizer rename.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::begin):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::willPumpLexer):
        (WebCore::HTML5DocumentParser::didPumpLexer):
        (WebCore::HTML5DocumentParser::lineNumber):
        (WebCore::HTML5DocumentParser::columnNumber):
        * html/HTML5DocumentParser.h:
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::scan):
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5PreloadScanner.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTML5TreeBuilder.h:
        * html/HTMLTokenizer.h:
        * html/LegacyHTMLDocumentParser.h:

2010-06-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        Reproducible crash in com.apple.WebCore 0x01ed3784 WebCore::RenderLineBoxList::appendLineBox(WebCore::InlineFlowBox*) + 36
        https://bugs.webkit.org/show_bug.cgi?id=40953

        REGRESSION (r58209-58231): Memory corruption with invalid SVG
        https://bugs.webkit.org/show_bug.cgi?id=40173

        Fix several crashes, all related to <foreignObject> and/or invalid SVG documents.
        - Only allow <svg> nodes, as direct children of a <foreignObject>, not any other "partial" SVG content.
        - Assure to create RenderSVGRoot objects for <svg> nodes in <foreignObject>, treat them as "outermost SVG elements".
        - Never allow any partial SVG content to appear in any document. Only <svg> elements are allowed.

        Tests: svg/custom/bug45331.svg
               svg/foreignObject/disallowed-svg-nodes-as-direct-children.svg
               svg/foreignObject/no-crash-with-svg-content-in-html-document.svg
               svg/foreignObject/svg-document-as-direct-child.svg
               svg/foreignObject/svg-document-in-html-document.svg
               svg/foreignObject/text-tref-02-b.svg

        * dom/Element.cpp: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
        (WebCore::Element::childShouldCreateRenderer): Only create a renderer for a SVG child, if we're a SVG element, or if the child is a <svg> element.
        * dom/Element.h: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): Disallow arbitary SVG content, only <svg> elements are allowed as direct children of a <foreignObject>
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::isOutermostSVG): Be sure to create RenderSVGRoot objects for <svg> elements inside <foreignObject>

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename HTML5Lexer to HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=41045

        This might be slightly confusing given that the old class was called
        HTMLTokenizer, but it matches the terminology in the HTML5 spec.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::pumpLexer):
        * html/HTML5DocumentParser.h:
        * html/HTML5Lexer.cpp: Removed.
        * html/HTML5Lexer.h: Removed.
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5PreloadScanner.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::adjustedLexerState):
        * html/HTML5TreeBuilder.h:
        * html/HTMLTokenizer.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
        (WebCore::HTMLNames::isEndTagBufferingState):
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::~HTMLTokenizer):
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::processEntity):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::temporaryBufferIs):
        (WebCore::HTMLTokenizer::addToPossibleEndTag):
        (WebCore::HTMLTokenizer::isAppropriateEndTag):
        (WebCore::HTMLTokenizer::emitCharacter):
        (WebCore::HTMLTokenizer::emitCodePoint):
        (WebCore::HTMLTokenizer::emitParseError):
        (WebCore::HTMLTokenizer::emitCurrentToken):
        (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
        * html/HTMLTokenizer.h: Copied from WebCore/html/HTML5Lexer.h.

2010-06-22  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Qt/Symbian build fix.

        Fix "make clean" to not try to execute clean commands for
        the extra targets we use to simulate "make install".

        * WebCore.pro: Use no_clean in CONFIG of extra compilers.

2010-06-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Run clean-header-guards to fix some header guards
        https://bugs.webkit.org/show_bug.cgi?id=41044

        No functional changes, thus no tests.

        This entire change was generated by running
        clean-header-guards, and then reverting changes
        to files which shouldn't be changed.  Those which
        are left all should be updated.

        Some of these changes are just fixing 755 permissions
        to be 644, since it seems various files have the wrong
        execute bit which don't need it.  clean-header-guards
        made those (welcome) permission fixes unintentionally.

        * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
        * bindings/v8/custom/V8HTMLImageElementConstructor.h:
        * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
        * dom/Touch.h:
        * dom/TouchList.h:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserScope.h:
        * html/HTML5DocumentParser.h:
        * html/LegacyHTMLTreeConstructor.h:
        * loader/CrossOriginPreflightResultCache.h:
        * page/OriginAccessEntry.h:
        * page/win/FrameWin.h:
        * platform/ThreadTimers.h:
        * platform/chromium/KeyboardCodes.h:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        * platform/graphics/chromium/FontUtilsChromiumWin.h:
        * platform/graphics/filters/FEBlend.h:
        * platform/graphics/filters/FEColorMatrix.h:
        * platform/graphics/filters/FEComponentTransfer.h:
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/gstreamer/DataSourceGStreamer.h:
        * platform/graphics/gstreamer/VideoSinkGStreamer.h:
         - I checked, this crazy define was not referenced
           anywhere else.  It's safe to change the name. :)
        * platform/graphics/haiku/FontPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/skia/SkiaFontWin.h:
        * platform/graphics/win/GraphicsLayerCACF.h:
        * platform/graphics/win/QTMovieWinTimer.h:
        * platform/graphics/win/RefCountedGDIHandle.h:
        * platform/graphics/win/WebLayer.h:
        * platform/graphics/win/WebTiledLayer.h:
        * platform/graphics/wince/FontPlatformData.h:
        * platform/graphics/wx/FontPlatformData.h:
        * platform/network/CredentialStorage.h:
        * platform/network/cf/FormDataStreamCFNet.h:
        * platform/network/curl/FormDataStreamCurl.h:
        * platform/network/qt/DnsPrefetchHelper.h:
        * platform/network/qt/QNetworkReplyHandler.h:
        * platform/win/PlatformScrollBar.h:
        * plugins/PluginDatabase.h:
        * plugins/PluginPackage.h:
        * plugins/PluginStream.h:
        * plugins/qt/PluginContainerQt.h:
        * plugins/symbian/npinterface.h:
        * rendering/RenderSelectionInfo.h:
        * rendering/SVGRenderSupport.h:
        * storage/IDBObjectStoreImpl.h:
        * svg/animation/SMILTimeContainer.h:
        * wml/WMLErrorHandling.h:

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename HTMLDocumentParser to LegacyHTMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=41043

        As requested by Darin Adler.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentFragment.cpp:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asHTMLDocumentParser):
        * dom/XMLDocumentParserLibxml2.cpp:
        * dom/XMLDocumentParserQt.cpp:
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::columnNumber):
        * html/HTML5TreeBuilder.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocumentParser.cpp: Removed.
        * html/HTMLDocumentParser.h: Removed.
        * html/HTMLFormControlElement.cpp:
        * html/HTMLParserScheduler.cpp:
        (WebCore::parserChunkSize):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        * html/HTMLViewSourceDocument.h:
        * html/LegacyHTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::reset):
        (WebCore::LegacyHTMLDocumentParser::begin):
        (WebCore::LegacyHTMLDocumentParser::setForceSynchronous):
        (WebCore::LegacyHTMLDocumentParser::processListing):
        (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
        (WebCore::LegacyHTMLDocumentParser::parseComment):
        (WebCore::LegacyHTMLDocumentParser::parseServer):
        (WebCore::LegacyHTMLDocumentParser::parseProcessingInstruction):
        (WebCore::LegacyHTMLDocumentParser::parseText):
        (WebCore::LegacyHTMLDocumentParser::parseEntity):
        (WebCore::LegacyHTMLDocumentParser::parseDoctype):
        (WebCore::LegacyHTMLDocumentParser::parseTag):
        (WebCore::LegacyHTMLDocumentParser::continueProcessing):
        (WebCore::LegacyHTMLDocumentParser::advance):
        (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::write):
        (WebCore::LegacyHTMLDocumentParser::stopParsing):
        (WebCore::LegacyHTMLDocumentParser::processingData):
        (WebCore::LegacyHTMLDocumentParser::timerFired):
        (WebCore::LegacyHTMLDocumentParser::end):
        (WebCore::LegacyHTMLDocumentParser::finish):
        (WebCore::LegacyHTMLDocumentParser::finishWasCalled):
        (WebCore::LegacyHTMLDocumentParser::processToken):
        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
        (WebCore::LegacyHTMLDocumentParser::~LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::enlargeBuffer):
        (WebCore::LegacyHTMLDocumentParser::enlargeScriptBuffer):
        (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::LegacyHTMLDocumentParser::notifyFinished):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
        (WebCore::LegacyHTMLDocumentParser::continueExecutingExternalScripts):
        (WebCore::LegacyHTMLDocumentParser::isWaitingForScripts):
        (WebCore::LegacyHTMLDocumentParser::setSrc):
        (WebCore::parseLegacyHTMLDocumentFragment):
        * html/LegacyHTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
        (WebCore::LegacyHTMLDocumentParser::asHTMLDocumentParser):
        * html/LegacyHTMLTreeConstructor.cpp:
        (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
        * html/LegacyHTMLTreeConstructor.h:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::finish):
        * page/XSSAuditor.h:

2010-06-22  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed attempt to fix the windows build.

        Split out HTML5DocumentParser yield/resume logic into a separate class
        https://bugs.webkit.org/show_bug.cgi?id=41018

        * WebCore.vcproj/WebCore.vcproj:

2010-06-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split out HTML5DocumentParser yield/resume logic into a separate class
        https://bugs.webkit.org/show_bug.cgi?id=41018

        The HTML5DocumentParser is just the coordinator, and shouldn't have
        any real parsing logic of his own.  Continuing along that path, I'm
        moving the when-to-yield/resume logic out into a separate class.

        I could have create a new HTMLParserSchedulerHost virtual interface
        to allow the HTMLParserScheduler to talk back to the
        HTML5DocumentParser, but instead I just exposed the one method it
        needs (resumeParsing()) as a public method.  Since no code besides
        HTMLDocument (and DocumentFrament) ever should know about the
        HTML5DocumentParser DocumentParser subclass, no class should ever
        see the resumeParsing() method anyway.

        Most of this change is just moving code from HTML5DocumentParser
        to the new HTMLParserScheduler.

        Some of this change is wrapping previous direct access to
        m_continueNextChunkTimer.isActive() with isScheduledForResume().

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::stopParsing):
        (WebCore::HTML5DocumentParser::processingData):
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
        (WebCore::HTML5DocumentParser::isScheduledForResume):
        (WebCore::HTML5DocumentParser::resumeParsing):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::end):
        (WebCore::HTML5DocumentParser::attemptToEnd):
        (WebCore::HTML5DocumentParser::endIfDelayed):
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::document):
         - Exposed for HTMLParserScheduler.
        * html/HTMLParserScheduler.cpp: Added.
        (WebCore::parserTimeLimit): Moved from HTML5DocumentParser.
        (WebCore::parserChunkSize): ditto.
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        (WebCore::HTMLParserScheduler::~HTMLParserScheduler):
        (WebCore::isLayoutTimerActive):
        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
         - Moved from HTML5DocumentParser.
        * html/HTMLParserScheduler.h: Added.
        (WebCore::HTMLParserScheduler::PumpSession::PumpSession):
         - Moved from HTML5DocumentParser.
        (WebCore::HTMLParserScheduler::shouldContinueParsing):
        (WebCore::HTMLParserScheduler::isScheduledForResume):

2010-06-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move nodeByPath from InjectedScript to InspectorBackend.

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

        * inspector/InjectedScriptHost.cpp:
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::pushNodeByPathToFrontend):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        (WebCore::InspectorDOMAgent::nodeForPath):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didPushNodeByPathToFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.setDocument):
        * inspector/front-end/InjectedScript.js:
        * inspector/front-end/InjectedScriptAccess.js:

2010-06-22  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        REGRESSION: (r47291): Upload progress events are not fired for simple cross-site XHR.
        https://bugs.webkit.org/show_bug.cgi?id=39029

        Specifically, WebKit should fire upload events if one or more event listeners are
        registered on the XMLHttpRequestUpload object when send is called in an async manner.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest): Allow upload events to be fired when there are
        handlers for them in the cross-origin simple request case.

2010-06-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adam Barth.

        Fix uninitialized SubframeLoader::m_containsPlugins
        https://bugs.webkit.org/show_bug.cgi?id=41035

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::SubframeLoader):
         Initialize m_containsPlugins with false.

2010-06-22  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Adam Barth.

        Add BlobBuilder.idl to expose BlobBuilder interface
        https://bugs.webkit.org/show_bug.cgi?id=40593

        (Resubmitting with the correct file set.)

        BlobBuilder is defined in FileAPI's FileWriter spec.
        (http://dev.w3.org/2009/dap/file-system/file-writer.html)

        Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.

        Tests: http/tests/local/blob/send-data-blob.html
               http/tests/local/blob/send-hybrid-blob.html
               http/tests/local/blob/send-sliced-data-blob.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::append):
        * html/BlobBuilder.h:
        * html/BlobBuilder.idl: Added.
        * page/DOMWindow.idl:

2010-06-22  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for r61648.

        * platform/graphics/GraphicsContext3D.h:

2010-06-22  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kent Tamura.

        Define GraphicsContext3D::platformLayer() for all remaining (non PLATFORM(MAC))
        ports to get RenderLayerBacking.cpp compiling again.
        https://bugs.webkit.org/show_bug.cgi?id=41026

        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::platformLayer):

2010-06-22  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Rolling out http://trac.webkit.org/changeset/61638
        made a few tests crash.

        Make PendingScript hold a CachedResourceClient open for its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=40968

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::watchForLoad):
        (WebCore::HTML5DocumentParser::notifyFinished):
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::watchForLoad):
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::):
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
        * html/HTML5ScriptRunnerHost.h:

2010-06-22  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for Crash when the renderer for the button in <input type="number"> goes away during event handling
        https://bugs.webkit.org/show_bug.cgi?id=41013

        Test: fast/forms/input-number-crash.html

        * rendering/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler):
        Nil check the RenderBox since its possible the renderer has gone away during event handling.

2010-06-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Pull script line number from DocumentParser instead of pushing it to ScriptController
        https://bugs.webkit.org/show_bug.cgi?id=40649

        This approach is cleaner and improves WebCore/benchmarks/parser/html-parser.html by ~2%.

        Tests: fast/js/script-line-number.html

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::eventHandlerLineNumber):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        (WebCore::ScriptController::eventHandlerColumnNumber):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/V8Proxy.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startElementNs):
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::pumpLexer):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::processToken):

2010-06-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Make PendingScript hold a CachedResourceClient open for its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=40968

        This replaces the mechanism introduced in r61374 with a simpler
        approach from preventing unexpected purges; always keep a client open.
        This will approach will allow deferred scripts to add a client after
        the resource may have already been loaded without having to worry about
        the buffer being purged in the meantime.

        No new tests because making a CachedResource purge itself is not
        testable from a LayoutTest.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::watchForLoad):
        (WebCore::HTML5DocumentParser::notifyFinished):
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::watchForLoad):
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::~PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::setCachedScript):
        (WebCore::HTML5ScriptRunner::PendingScript::cachedScript):
        (WebCore::HTML5ScriptRunner::PendingScript::notifyFinished):
        * html/HTML5ScriptRunnerHost.h:

2010-06-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fragment parsing needs to go through the HTML5 Parser code path
        https://bugs.webkit.org/show_bug.cgi?id=40645

        Added a new HTML5DocumentParser::parseHTMLDocumentFragment
        codepath which optionally calls through to the old fragment
        parsing path, now renamed parseLegacyHTMLDocumentFragment.

        * dom/Element.cpp:
        (WebCore::Element::createContextualFragment):
         - Use document()->createDocumentFragment() instead
           of DocumentFragment::create() to match other callers
           (and not depend on DocumentFragment.h).
         - Update call to parseHTMLDocumentFragment to use the new
           HTML5 parser codepath.
        * dom/MappedAttributeEntry.h:
         - Add a FIXME about this horrible enum placement.
           Sadly this will cause a world-rebuild for everyone.
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::runScriptsForPausedTreeConstructor):
         - The main pumpLexer function has gotten to large.  Move the script
           running logic into this new function.
         - Handle the case where we have no m_scriptRunner (fragment case).
        (WebCore::HTML5DocumentParser::pumpLexer):
         - Use new runScriptsForPausedTreeConstructor().
        (WebCore::HTML5DocumentParser::executingScript):
        (WebCore::HTML5DocumentParser::inScriptExecution):
         - New function to handle the case where m_scriptRunner is null.
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
         - Use inScriptExecution() instead of m_scriptRunner->inScriptExecution().
        (WebCore::HTML5DocumentParser::executeScript): ditto.
        (WebCore::HTML5DocumentParser::notifyFinished): ditto.
        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets): ditto.
        (WebCore::shouldUseLegacyParser):
         - Helper function to check the html5ParserEnabled() setting.
        (WebCore::HTML5DocumentParser::parseHTMLDocumentFragment):
         - Run HTML5DocumentParser in fragment mode, or optionally run
           the legacy parser if !html5ParserEnabled().
        * html/HTML5DocumentParser.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Implement the FragmentScriptingNotAllowed hack for platform/Pasteboard.
        * html/HTML5TreeBuilder.h:
        * html/HTMLDocumentParser.cpp:
        (WebCore::parseLegacyHTMLDocumentFragment):
         - Renamed from parseHTMLDocumentFragment
        * html/HTMLDocumentParser.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::insertAdjacentHTML):
         - Call HTML5DocumentParser::parseHTMLDocumentFragment.
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment): ditto.
        * xml/XSLTProcessor.cpp:
        (WebCore::createFragmentFromSource): ditto.

2010-06-22  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=40643
        
        Final phase of moving ownership of WebGLLayer to GraphicsContext3D.
        As it turns out, I still have to have a separate CGLContextObj for
        rendering because Core Animation composites in a separate thread,
        so we need to disconnect WebGL rendering from CA compositing. But
        this change is still worthwhile because it reduces dependencies
        and makes it easier to port WebGL to other platforms.
        
        No new tests since this is just restructuring and the current tests
        are all still valid and do a sufficient test of WebGL functionality.

        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToWebGL):
        (WebCore::GraphicsLayer::setWebGLNeedsDisplay):
        * platform/graphics/mac/GraphicsContext3DMac.mm: Add creation of WebGLLayer
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::):
        * platform/graphics/mac/GraphicsLayerCA.mm: Handle setting of WebGLLayer as content the same as for MediaLayer. Also changed WebGL related names for clarity
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateContentsWebGLLayer):
        (WebCore::GraphicsLayerCA::setContentsToWebGL):
        (WebCore::GraphicsLayerCA::setWebGLNeedsDisplay):
        * platform/graphics/mac/WebGLLayer.h:
        * platform/graphics/mac/WebGLLayer.mm: Got rid of storage for context and texture, now just store GraphicsContext3D and get them from there when needed
        (-[WebGLLayer copyCGLPixelFormatForDisplayMask:]):
        (-[WebGLLayer copyCGLContextForPixelFormat:]):
        (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
        (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
        * rendering/RenderLayerBacking.cpp: Changed init of WebGL contentsLayer to pass WebGLLayer rather than GraphicsContext3D
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::rendererContentChanged):

2010-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Dave Hyatt.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::parseMappedAttribute): Removed incorrect FIXME comments.

2010-06-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8119403> REGRESSION (r61548): PLT is almost 1.5% slower, Google page cycler slower
        https://bugs.webkit.org/show_bug.cgi?id=41012

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Removed a redundant statement that was
        left over in the original patch and resulted in double the calls to RenderText::width() here.
        (WebCore::RenderBlock::findNextLineBreak): Changed the order of evaluating conditions for a
        potential speedup.

2010-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Alexey asked me to take out the autorelease pools because he believes
        that there is no code that should be running using Objective-C
        autorelease. Most likely, the code that is triggering these stderr
        messages is incorrect, and that bug should be fixed instead.

        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::run): Roll out use of AutodrainedPool.

2010-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        Fix autorelease problem seen when running worker regression tests.
        We were seeing logs to stderr saying autorelease was used without
        an autorelease pool being set up.

        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::run): Use an AutodrainedPool as the file
        thread, icon database, and database thread do. No effect on platforms
        other than Mac.

2010-06-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: If an element that is a continuation is removed, its parent tree is not notified appropriately that their children have changed
        https://bugs.webkit.org/show_bug.cgi?id=41000

        Test: accessibility/removed-continuation-element-causes-crash.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::childrenChanged):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:

2010-06-22  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        Override setFailed() in each image decoder to clean up any temporary
        objects.
        https://bugs.webkit.org/show_bug.cgi?id=35411
        
        In a few cases, we need to be careful to avoid deleting objects until
        after they're no longer needed.  These cases usually mean some jumping
        through hoops, to the detriment of code simplicity.

        No layout tests because this does not change the visible output of
        decoding in any way.

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::setData):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::setFailed):
        (WebCore::BMPImageDecoder::decode):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::decodeBMP):
        (WebCore::BMPImageReader::readInfoHeaderSize):
        (WebCore::BMPImageReader::processInfoHeader):
        (WebCore::BMPImageReader::readInfoHeader):
        (WebCore::BMPImageReader::processBitmasks):
        (WebCore::BMPImageReader::processColorTable):
        (WebCore::BMPImageReader::processRLEData):
        (WebCore::BMPImageReader::processNonRLEData):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::setFailed):
        (WebCore::GIFImageDecoder::decode):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::setFailed):
        (WebCore::ICOImageDecoder::decode):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::setFailed):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::decode):
        (WebCore::PNGImageDecoder::PNGImageDecoder):
        (WebCore::PNGImageDecoder::setFailed):
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::decode):
        * platform/image-decoders/png/PNGImageDecoder.h:

2010-06-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Remove side effects of form submission and prepare FormDataBuilder for splitting up.
        https://bugs.webkit.org/show_bug.cgi?id=40184

        Refactoring, covered by existing tests.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormSubmission):
            * Changed to use new accessors on FormDataBuilder;
            * Simplified the logic around action URL;
            * Removed form submission side effect of element's enctype property being updated when
                submitting a mailto form;
            * Removed unnecessary updating of action URL for mailto forms.
        (WebCore::HTMLFormElement::submit): Moved action URL check into prepareFormSubmission.
        (WebCore::HTMLFormElement::parseMappedAttribute): Updated to use new methods on FormDataBuilder.
        * html/HTMLFormElement.h: Removed decls for isMailtoForm and dataEncoding methods;
            moved m_target and m_url to FormDataBuilder.
        * platform/network/FormData.cpp:
        (WebCore::FormData::appendDOMFormData): Removed unnecessary instantiation of FormDataBuilder.
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::parseAction): Moved from HTMLFormControl.
        * platform/network/FormDataBuilder.h:
        (WebCore::FormDataBuilder::action): Ditto.
        (WebCore::FormDataBuilder::target): Ditto.
        (WebCore::FormDataBuilder::setTarget): Ditto.

2010-06-22  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix WebSocketHandshakeRequest so that it fits the new handshake protocol.

        The new WebSocket specification (draft 76 and later) allows a browser to
        send header fields in arbitrary order. Thus we can use a HTTPHeaderMap to
        store header fields instead of Vector of pairs of a field name and
        a field value.

        This patch also does refactoring of WebSocketHandshakeRequest class
        to make it simpler and easier to use.

        Fix WebSocketHandshakeRequest so that it fits the new handshake protocol
        https://bugs.webkit.org/show_bug.cgi?id=39864

        No new tests, because there is no functional change.

        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::clientHandshakeRequest):
        * websockets/WebSocketHandshakeRequest.cpp:
        (WebCore::WebSocketHandshakeRequest::Key3::Key3):
        (WebCore::WebSocketHandshakeRequest::Key3::set):
        (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
        (WebCore::WebSocketHandshakeRequest::requestMethod):
        (WebCore::WebSocketHandshakeRequest::url):
        (WebCore::WebSocketHandshakeRequest::addHeaderField):
        (WebCore::WebSocketHandshakeRequest::headerFields):
        (WebCore::WebSocketHandshakeRequest::key3):
        (WebCore::WebSocketHandshakeRequest::setKey3):
        * websockets/WebSocketHandshakeRequest.h:

2010-06-20  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <meter> should be yellow when  min < value < low < optimum
        https://bugs.webkit.org/show_bug.cgi?id=40824
        
        Fixed a wrong conditional on HTMLMeterElement::gaugeRegion().
        
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::gaugeRegion):

        Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
               fast/dom/HTMLMeterElement/meter-optimums.html

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Follow the HTML5 spec more closely w.r.t. when to save the insertion point
        https://bugs.webkit.org/show_bug.cgi?id=40976

        The spec always increments the nesting level and saves the insertion
        point at the same time.  In this patch, we now do those operations
        packaged as a RAII.

        As a side effect, the test case below no longer ASSERTs.  (The output
        is wrong, but we'll get to that next.)

        Test: fast/tokenizer/write-on-load.html

        * html/HTML5ScriptRunner.cpp:
        (WebCore::NestScript::NestScript):
        (WebCore::NestScript::~NestScript):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::executeScript):
        (WebCore::HTML5ScriptRunner::requestScript):
        (WebCore::HTML5ScriptRunner::runScript):
        * html/HTMLInputStream.h:

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Expose HTMLInputStream to ScriptRunner so that ScriptRunner can save the insertion point itself
        https://bugs.webkit.org/show_bug.cgi?id=40975

        This saves us having to call back into the HTML5DocumentParser each
        time we need to save the insertion point.  This prepares us for another
        place we need to save the insertion point.

        * html/HTML5DocumentParser.cpp:
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::inputStream):
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::executeScript):
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunnerHost.h:

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move HTMLInputStream to its own file
        https://bugs.webkit.org/show_bug.cgi?id=40974

        No new tests, just code motion.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5DocumentParser.h:

2010-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Save the insertion point before beforeload events
        https://bugs.webkit.org/show_bug.cgi?id=40973

        We need to save the insertion point before dispatching the beforeload
        event in case someone decides to document.write during beforeload.
        Prior to this patch, such writes would pump the lexer too much and
        tokenize the rest of the document before executing the script.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::dispatchBeforeLoad):
        * html/HTML5DocumentParser.h:
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunnerHost.h:

2010-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        document.write from BeforeLoad should not assert
        https://bugs.webkit.org/show_bug.cgi?id=40971

        We're setting the parse blocking script too early.  It's not actually
        blocking parsing yet.

        Test: fast/tokenizer/write-before-load.html

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::requestScript):

2010-06-21  Chris Fleizach  <cfleizach@apple.com>

        No review. QT build fix again.

        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=40927

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotification):

2010-06-21  Chris Fleizach  <cfleizach@apple.com>

        No review. QT build fix.

        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=40927

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotification):

2010-06-21  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=40927

        Test: platform/mac/accessibility/aria-expanded-notifications.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaExpandedChange):
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::handleAriaExpandedChange):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::handleAriaExpandedChanged):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):

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

        Unreviewed, rolling out r61585.
        http://trac.webkit.org/changeset/61585
        https://bugs.webkit.org/show_bug.cgi?id=40950

        It broke builds (Requested by kinuko on #webkit).

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::appendString):
        (WebCore::BlobBuilder::appendBlob):
        * html/BlobBuilder.h:
        * page/DOMWindow.idl:

2010-06-21  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Adam Barth.

        Add BlobBuilder.idl to expose BlobBuilder interface
        https://bugs.webkit.org/show_bug.cgi?id=40593

        BlobBuilder is defined in FileAPI's FileWriter spec.
        (http://dev.w3.org/2009/dap/file-system/file-writer.html)

        Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.

        Tests: http/tests/local/blob/send-data-blob.html
               http/tests/local/blob/send-hybrid-blob.html
               http/tests/local/blob/send-sliced-data-blob.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::append):
        * html/BlobBuilder.h:
        * html/BlobBuilder.idl: Added.
        * page/DOMWindow.idl:

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        FrameLoader cleanup: Split high level subframe and plugin
        loading functions into a separate class.
        https://bugs.webkit.org/show_bug.cgi?id=40453

        Refactor only, no new tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMImplementation.cpp:
        * history/PageCache.cpp:
        * html/HTMLFrameElementBase.cpp:
        * html/HTMLMediaElement.cpp:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::subframeLoader):
        * loader/PluginDocument.cpp:
        * loader/SubframeLoader.cpp: Added.
        (WebCore::SubframeLoader::SubframeLoader):
        (WebCore::toPlugInElement):
        (WebCore::SubframeLoader::clear):
        (WebCore::SubframeLoader::requestFrame):
        (WebCore::SubframeLoader::requestObject):
        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin):
        (WebCore::SubframeLoader::createJavaAppletWidget):
        (WebCore::SubframeLoader::loadSubframe):
        (WebCore::SubframeLoader::allowPlugins):
        (WebCore::SubframeLoader::shouldUsePlugin):
        (WebCore::SubframeLoader::loadPlugin):
        (WebCore::SubframeLoader::completeURL):
        * loader/SubframeLoader.h: Added.
        (WebCore::SubframeLoader::containsPlugins):
        * page/Page.cpp:
        * page/XSSAuditor.h:
        * platform/graphics/wince/MediaPlayerProxy.cpp:
        * plugins/MimeType.cpp:
        * rendering/RenderApplet.cpp:
        * rendering/RenderEmbeddedObject.cpp:

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        Bad merge, left a reference to m_committedFirstRealDocumentLoad in
        http://trac.webkit.org/changeset/61568.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted):

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Remove a couple of FrameLoader's unused boolean members
        (m_receivedData, m_cancellingWithLoadInProcess) and merge
        several more into a single state machine called FrameLoaderStateMachine
        (m_firstLayoutDone, m_creatingInitialEmptyDocument,
        m_isDisplayingInitialEmptyDocument, m_committedFirstRealDocumentLoad).

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

        Refactor only, so no new tests.

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument):
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::didBeginDocument):
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::provisionalLoadStarted):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::frameHasLoaded):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::frameLoadCompleted):
        (WebCore::FrameLoader::dispatchDidCommitLoad):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::stateMachine):
        * loader/FrameLoaderStateMachine.cpp: Added.
        * loader/FrameLoaderStateMachine.h: Added.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):
        (WebCore::HistoryController::saveDocumentState):
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::incrementProgress):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleLocationChange):
        (WebCore::RedirectScheduler::scheduleFormSubmission):

2010-06-21  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix. Fix header includes for ENABLE(DATABASE)

        * bindings/js/JSExceptionBase.cpp:

2010-06-21  Anders Carlsson  <andersca@apple.com>

        Fix clang++ build.

        * loader/FormSubmission.h:

2010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Add a missing include in AsyncImageResizer.h

        * html/AsyncImageResizer.h: Added the IntSize include.

2010-06-21  Adam Roben  <aroben@apple.com>

        Call NotifyAddrChange again each time we are notified of a change

        NotifyAddrChange only notifies you of a single change. If you want to
        listen for subsequent changes, you have to call it again.

        Fixes <http://webkit.org/b/33004> NetworkStateNotifier ignores all
        state changes after the first.

        No test possible, as we don't have a way to modify the system's
        network adapters when running tests.

        Reviewed by Anders Carlsson.

        * platform/network/win/NetworkStateNotifierWin.cpp:
        (WebCore::NetworkStateNotifier::addrChangeCallback): Call
        registerForAddressChange as soon as we're notified of an address
        change, so we'll also get notified of the *next* address change. I
        added the call here instead of in addressChanged (which is called
        later on the main thread) to minimize the time between the callback
        and registering again (so that we won't miss changes that happen in
        rapid succession).

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Release build fix

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::tryHyphenating):

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Fixed a typo.

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        CSS3: Implement the 'hyphens' and 'hyphenate-character' properties
        https://bugs.webkit.org/show_bug.cgi?id=10228

        Tests: fast/text/hyphenate-character.html
               fast/text/hyphens.html

        Added -webkit-hyphens and -webkit-hyphenate-character as specified in
        <http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenation>.

        * Android.mk: Added Hyphenation.cpp.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Added Hyphenation.{cpp,h}.
        * WebCore.base.exp: Exported wkGetHyphenationLocationBeforeIndex().
        * WebCore.gypi: Added Hyphenation.{cpp,h}.
        * WebCore.pro: Added Hyphenation.{cpp,h}.
        * WebCore.vcproj/WebCore.vcproj: Added Hyphenation.{cpp,h}.
        * WebCore.xcodeproj/project.pbxproj: Added Hyphenation.{cpp,h}.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added the -webkit-hyphenate-character
        and -webkit-hyphens cases.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Validate values for the new properties.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added. Maps from a Hyphens value to an identifier.
        (WebCore::CSSPrimitiveValue::operator Hyphens): Added. Maps from an identifier to a Hyphens value.
        * css/CSSPropertyNames.in: Added -webkit-hyphenate-character and -webkit-hyphens.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Apply the new properties to the RenderStyle.
        * css/CSSValueKeywords.in:
        * platform/mac/WebCoreSystemInterface.h: Added wkGetHyphenationLocationBeforeIndex.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.
        * platform/text/CharacterNames.h: Added the hyphen character.
        * platform/text/Hyphenation.cpp: Added.
        (WebCore::lastHyphenLocation): Added this default implementation for platforms that do not implement
        hyphenation yet. It calls notImplemented() and returns 0.
        * platform/text/Hyphenation.h: Added.
        * platform/text/cf/HyphenationCF.cpp: Added.
        (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
        the given index. Uses the current search locale (which is based on the top language preference of the user)
        for hyphenation.
        * platform/text/mac/HyphenationMac.mm: Added.
        (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
        the given index. Returns 0 if the current search locale is not "en", because the platform only knows how to
        hyphenate English.
        * rendering/BidiRun.h:
        (WebCore::BidiRun::BidiRun): Added a boolean member, m_hasHyphen, and initialized it to false in the constructor.
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox): Renamed m_hasEllipsisBox to m_hasEllipsisBoxOrHyphen, because this bit is now
        shared by two subclass: RootInlineBox uses it for hasEllipsisBox(), while InlineTextBox uses it for hasHyphen().
        * rendering/InlineTextBox.cpp:
        (WebCore::adjustCharactersAndLengthForHyphen): Added this helper function to get the hyphen string from the style
        and return a UChar* and length for the concatenation of the given text with the hyphen string.
        (WebCore::InlineTextBox::selectionRect): If the selected range touches the end and the box has a hyphen,
        compute the width of the text with the hyphen string concatenated to it.
        (WebCore::InlineTextBox::paint): If the box has a hyphen, draw the text with the hyphen string concatenated to it.
        (WebCore::InlineTextBox::paintSelection): Similarly concatenate the hyphen string.
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::hasHyphen): Added this accessor.
        (WebCore::InlineTextBox::setHasHyphen): Ditto.
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::constructLine): Copy the m_hasHyphen flag from the run to its text box.
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Add the width of the hyphen string when computing the
        width of a box that has a hyphen.
        (WebCore::RenderBlock::layoutInlineChildren): If the line was hyphenated, set the m_hasHyphen flag on the
        logically last run.
        (WebCore::tryHyphenating): Added this helper function which checks if a piece of text that does not fit on the
        line could be hyphenated such that the part before the hyphen, including the hyphen, would fit. Given the amount
        of space remaining on the line, it finds the longest prefix that can fit in the remaining space (which leaving room for
        the hyphen), and then checks for a hyphenation location within that prefix.
        (WebCore::RenderBlock::findNextLineBreak): In the 'hyphens: none' case, prevent line breaks at soft hyphens.
        In the 'hyphens: auto' case, try hyphenating when a word will not fit in the remaining space on the line.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::detachEllipsisBox): Changed to use hasEllipsisBox() and setHasEllipsisBox().
        (WebCore::RootInlineBox::clearTruncation): Ditto.
        (WebCore::RootInlineBox::placeEllipsis): Ditto.
        (WebCore::RootInlineBox::paintEllipsisBox): Ditto.
        (WebCore::RootInlineBox::nodeAtPoint): Ditto.
        (WebCore::RootInlineBox::ellipsisBox): Ditto.
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::hasEllipsisBox): Added this accessor.
        (WebCore::RootInlineBox::setHasEllipsisBox): Ditto.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Return a layout hint if the hyphens setting or hyphenate-character differs.
        (WebCore::RenderStyle::hyphenString): Added. For hyphenate-character: auto, returns the hyphen character.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hyphens): Added this accessor.
        (WebCore::InheritedFlags::hyphenateCharacter): Ditto.
        (WebCore::InheritedFlags::setHyphens): Ditto.
        (WebCore::InheritedFlags::setHyphenateCharacter): Ditto.
        (WebCore::InheritedFlags::initialHyphens): Added. Returns HyphensManual.
        (WebCore::InheritedFlags::initialHyphenateCharacter): Added. Returns the null string, corresponding to
        a value of 'auto'.
        * rendering/style/RenderStyleConstants.h:
        Added a Hyphens enum.
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize and copy the new members.
        (WebCore::StyleRareInheritedData::operator==): Compare the new members.
        * rendering/style/StyleRareInheritedData.h: Added two new members: hyphens and hyphenateCharacter.

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

        Reviewed by Darin Adler.

        Plumb FormSubmission through to ScheduledFormSubmission.
        https://bugs.webkit.org/show_bug.cgi?id=40137

        No behavior change, covered by existing tests.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormSubmission): Moved creation of action URL
            instance here from FrameLoader::submit, because it makes more sense here,
            also added a FIXME to investigate existing code later.
        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::FormSubmission): Changed action to be a KURL, not a String.
        (WebCore::FormSubmission::create): Ditto.
        (WebCore::FormSubmission::populateFrameLoadRequest): Added, moving the logic from
            FrameLoader::submit closer to the data.
        * loader/FormSubmission.h:
        (WebCore::FormSubmission::action): Changed type to KURL.
        (WebCore::FormSubmission::clearTarget): Added.
        (WebCore::FormSubmission::referrer): Added.
        (WebCore::FormSubmission::setReferrer): Added.
        (WebCore::FormSubmission::origin): Added.
        (WebCore::FormSubmission::setOrigin): Added.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Cleaned up to make it more about decision-making,
            not data manipulation.
        * loader/RedirectScheduler.cpp:
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Changed to accept FormSubmission as argument.
        (WebCore::ScheduledFormSubmission::fire): Changed to use FormSubmission.
        (WebCore::RedirectScheduler::scheduleFormSubmission): Removed assert that no longer makes sense,
            changed to use FormSubmission.
        * loader/RedirectScheduler.h: Updated ScheduledFormSubmission decl to hold FormSubmission ref.

2010-06-21  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=40878

        No new tests are needed, because there is no new functionality.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-06-21  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        Delete DOM storage databases when they are empty.
        https://bugs.webkit.org/show_bug.cgi?id=40767

        Even if a page clears its local storage, the database file for it stays around,
        and there is currently no mechanism that deletes them.

        After doing the "final sync" of a storage area, the StorageAreaSyncMaster should
        see if the database is empty, and in that case delete it.

        Tests:
         manual-tests/localstorage-empty-database.html

        * manual-tests/localstorage-empty-database.html:
        Added link to clear local storage for testing that the file is removed.
        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::LocalStorageTask):
        Added local storage task type DeleteEmptyDatabase.
        (WebCore::LocalStorageTask::performTask):
        Ditto.
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::):
        Ditto.
        (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
        Ditto.
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::scheduleFinalSync):
        When scheduling final sync, also schedule DeleteEmptyDatabase.
        (WebCore::StorageAreaSync::sync):
        Return early if final sync has nothing to sync.
        (WebCore::StorageAreaSync::deleteEmptyDatabase):
        Added function to check if a database is empty and in that case delete it.
        * storage/StorageAreaSync.h:
        Ditto.
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
        Added function for scheduling DeleteEmptyDatabase task.
        * storage/StorageSyncManager.h:
        Ditto.

2010-06-21  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] Avoid unnecessary image conversion in RGBA32Buffer::zeroFill()
        https://bugs.webkit.org/show_bug.cgi?id=40910

        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::zeroFill):

2010-06-21  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Decode images directly to QPixmap
        https://bugs.webkit.org/show_bug.cgi?id=40797

        Decode images to QPixmap directly instead of QImage when possible.
        RGBA32Buffer transforms the pixmap back to image if
        necessary.

        This improve the performance with certain graphic system, and
        can reduce memory usage.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        (WebCore::RGBA32Buffer::asNewNativeImage):
        (WebCore::RGBA32Buffer::setPixmap):

2010-06-20  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Adding the SQLException class which will be used to report sync DB errors.
        https://bugs.webkit.org/show_bug.cgi?id=40607

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/js/JSExceptionBase.cpp:
        (WebCore::toExceptionBase):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * bindings/v8/V8Proxy.h:
        * dom/ExceptionCode.cpp:
        (WebCore::):
        (WebCore::getExceptionCodeDescription):
        * dom/ExceptionCode.h:
        (WebCore::):
        * page/DOMWindow.idl:
        * storage/SQLException.h: Added.
        (WebCore::SQLException::create):
        (WebCore::SQLException::):
        (WebCore::SQLException::SQLException):
        * storage/SQLException.idl: Added.

2010-06-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: don't add ScriptDebugServer as v8 listener if browser exposes
        v8 debugging protocol.
        https://bugs.webkit.org/show_bug.cgi?id=40844

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::setEnabled):
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/v8/ScriptDebugServer.h:

2010-06-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix.

        [EFL] Build break for r61527
        https://bugs.webkit.org/post_bug.cgi 

        * CMakeLists.txt: Add loader/FormSubmission.cpp

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Remove bogus const qualifiers.

        * platform/mac/PasteboardHelper.h:

2010-06-20  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        Buildfix for NotificationCenter.h.
        https://bugs.webkit.org/show_bug.cgi?id=40890

        ScriptExecutionContext::completeURL is used in header,
        but ScriptExecutionContext.h wasn't included.

        * notifications/NotificationCenter.h:

2010-06-20  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Recognize async attribute on HTML script tags.
        https://bugs.webkit.org/show_bug.cgi?id=39026

        This does not implement async behavior, it only parses the async
        attribute for HTML script tags. SVG script tags continue to not
        support the async attribute.

        Tests: fast/dom/HTMLScriptElement/script-async-attr.html
               svg/dom/SVGScriptElement/script-async-attr.svg

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::isAsynchronous):
        (WebCore::ScriptElementData::isDeferred):
        * dom/ScriptElement.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::async):
        (WebCore::HTMLScriptElement::setAsync):
        (WebCore::HTMLScriptElement::defer):
        (WebCore::HTMLScriptElement::asyncAttributeValue):
        (WebCore::HTMLScriptElement::deferAttributeValue):
        * html/HTMLScriptElement.h:
        * html/HTMLScriptElement.idl:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::asyncAttributeValue):
        (WebCore::SVGScriptElement::deferAttributeValue):
        * svg/SVGScriptElement.h:

2010-06-20  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Auto-completion for CSS property names in Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=17374

        Added autocompletion for CSS properties. A suggestion for a property
        shows when you type. You can also cycle through known property names
        using the Up and Down arrow keys.

        * WebCore.gypi:
        * inspector/front-end/CSSCompletions.js: Added.
        (WebInspector.CSSCompletions):
        (WebInspector.CSSCompletions.startsWith):
        (WebInspector.CSSCompletions.firstStartsWith):
        (WebInspector.CSSCompletions._firstIndexOfPrefix):
        (WebInspector.CSSCompletions.next):
        (WebInspector.CSSCompletions.previous):
        (WebInspector.CSSCompletions._closest):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        (Text.prototype.select):
        ():

2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Introduce FormSubmission, the structure representing a form submission.
        https://bugs.webkit.org/show_bug.cgi?id=40084

        No change in functionality, covered by existing tests.

        * GNUmakefile.am: Added FormSubmission.h/cpp.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormSubmission): Renamed prepareFormData to prepareFormSubmission,
            added code for populating a FormSubmission instance, moved the loop of accumulating text input
            values into this functions (it belongs here logically).
        (WebCore::HTMLFormElement::submit): Modified to use prepareFormSubmission.
        * html/HTMLFormElement.h:
        * loader/FormSubmission.cpp: Added.
        * loader/FormSubmission.h: Added.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Modified to use FormSubmission. Stopped plumbing further to keep
            the patch size down.
        * loader/FrameLoader.h: Modified submitForm signature.

2010-06-20  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed rollout r61506, because it made 1 test crash.

        Causes crash. Will approach the solution in a different way.

2010-06-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Should Autocomplete Style Properties
        https://bugs.webkit.org/show_bug.cgi?id=38448

        This Autocompletes style properties when in the console.

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

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

        Reviewed by Simon Hausmann.

        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved

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

        setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
        work for DRT. So call it if we are in DRT mode and the window geometry
        has changed.

        Unskips plugins/reentrant-update-widget-positions.html

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):

2010-06-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark showed a ~7% improvement when this was
        originally submitted (before it had to be rolled back).

        Test: fast/js/parser-high-byte-character.html

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-19  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port SocketStream
        https://bugs.webkit.org/show_bug.cgi?id=39671

        Port SocketStream with BREW MP's ISocket interface.

        * platform/network/brew/SocketStreamError.h: Added.
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/brew/SocketStreamHandle.h: Added.
        (WebCore::SocketStreamHandle::create):
        * platform/network/brew/SocketStreamHandleBrew.cpp: Added.
        (WebCore::socketStreamConnectCallback):
        (WebCore::getHostByNameCallback):
        (WebCore::socketReadableCallback):
        (WebCore::networkManager):
        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::socketConnected):
        (WebCore::SocketStreamHandlePrivate::socketReadyRead):
        (WebCore::SocketStreamHandlePrivate::connect):
        (WebCore::SocketStreamHandlePrivate::send):
        (WebCore::SocketStreamHandlePrivate::close):
        (WebCore::SocketStreamHandlePrivate::socketClosed):
        (WebCore::SocketStreamHandlePrivate::socketError):
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::~SocketStreamHandle):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):
        (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
        (WebCore::SocketStreamHandle::receivedCredential):
        (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
        (WebCore::SocketStreamHandle::receivedCancellation):
        * platform/network/brew/SocketStreamHandlePrivate.h: Added.

2010-06-19  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: Prevent from copying "filename.css" in Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=40420

        * inspector/front-end/Section.js:
        (WebInspector.Section.prototype.set subtitle):
        (WebInspector.Section.prototype.get subtitleAsText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        * inspector/front-end/inspector.css:
        (.styles-section .subtitle::before, .styles-section .subtitle a::before):

2010-06-19  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        A fix for a change in https://bugs.webkit.org/show_bug.cgi?id=39941 
        that caused a compile error in MathML.
        https://bugs.webkit.org/show_bug.cgi?id=40827

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::MathMLElement):

2010-06-19  Kartikaya Gupta  <kagupta@rim.com>

        Reviewed by Nikolas Zimmermann.

        CPP bindings missing some APIs
        https://bugs.webkit.org/show_bug.cgi?id=40570

        Add missing C++ DOM API bindings. Specifically:
        - NodeFilter callback support
        - Missing custom method implementations in HTMLCollection and HTMLOptionsCollection
        - Missing EventTarget static type-determination methods
        - Fix CPP binding generator to not generate d-ptrs for classes that extend EventTarget and just use the parent's d-ptr instead
        - Switch binding generator to use DOMWindow instead of AbstractView so that necessary W3C-defined methods (e.g. getComputedStyle) are accessible.

        * bindings/cpp/WebDOMDOMWindowCustom.cpp: Added.
        (WebDOMDOMWindow::addEventListener):
        (WebDOMDOMWindow::removeEventListener):
        * bindings/cpp/WebDOMEventTarget.cpp:
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.h:
        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Added.
        (WebDOMHTMLCollection::item):
        (WebDOMHTMLCollection::namedItem):
        * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Added.
        (WebDOMHTMLOptionsCollection::length):
        (WebDOMHTMLOptionsCollection::setLength):
        * bindings/cpp/WebDOMNodeFilterCustom.cpp: Added.
        (WebDOMNodeFilter::acceptNode):
        (toWebKit):
        * bindings/cpp/WebNativeNodeFilterCondition.cpp: Added.
        (WebNativeNodeFilterCondition::WebNativeNodeFilterCondition):
        (WebNativeNodeFilterCondition::~WebNativeNodeFilterCondition):
        (WebNativeNodeFilterCondition::acceptNode):
        * bindings/cpp/WebNativeNodeFilterCondition.h: Added.
        (WebNativeNodeFilterCondition::create):
        * bindings/scripts/CodeGeneratorCPP.pm:
        * dom/NodeFilter.idl:
        * page/DOMWindow.idl:

2010-06-19  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Adding a conditional gyp dependency for the WebCore target to 
        the gles2_c_lib which is required by the gpu compositor. The dependency will
        only kick in if the accelerated_compositing path is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=40801

        * WebCore.gyp/WebCore.gyp:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Platform plugin's multi-select does not take OptGroup into account
        https://bugs.webkit.org/show_bug.cgi?id=40718

        In multi-select elements, optgroup elements are counted in the index calculation,
        but in single-select they are not. Keep the same logic even when NO_LISTBOX_RENDERING
        is enabled.
        Added tests to the existing manual test, as testing this requires a special build, in which
        NO_LISTBOX_RENDERING is enabled.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxSelectItem):
        * manual-tests/no-listbox-rendering.html:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::listBoxSelectItem):

2010-06-19  Thomas Van Lenten  <thomasvl@chromium.org>

        Reviewed by David Levin.

        Warnings from -Wextra in a Chromium Mac build
        1. checks of unsigned >= 0
        2. enumeral and non-enumeral type in conditional expression
        3. copy ctors that don't call the super copy ctor or ctor
        No functionality change so no new tests.

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

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::updateStates):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::updateActiveState):

2010-06-19  Ben Murdoch  <benm@google.com>

        Reviewed by Pavel Feldman.

        Fix build break with inspector disabled.
        https://bugs.webkit.org/show_bug.cgi?id=40790

        Replace a #include with a forward declaration.

        Fixing a build break so no new tests required.

        * inspector/InspectorController.h: Forward declare InspectorValue
           rather than #including its header which has its content guarded
           out.

2010-06-19  Zhe Su  <suzhe@chromium.org>

        Reviewed by Darin Fisher.

        [chromium]Refactor input method related APIs.
        https://bugs.webkit.org/show_bug.cgi?id=40608

        No new tests are needed, because there is no new functionality.

        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):

2010-06-19  George Wright  <gwright@rim.com>

        Reviewed by George Staikos.

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

        Make setWapInputFormat() public again as CSSStyleSelector.cpp calls this when WCSS is enabled.

        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::data):

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

        Reviewed by Adam Barth.

        [Qt] Support evaluateScriptInIsolatedWorld()

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

        getOwnPropertyNames() crashes if PropertyNameArray is size 0. This change allows
        http/tests/world-reuse.html and didClearWindowObject.html to fail instead of crash.

        * WebCore.pro: Add qwebscriptworld.*
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2010-06-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Some very minor cleanups for HTML5 Parser
        https://bugs.webkit.org/show_bug.cgi?id=40638

        No new tests because no new functionality.

        * html/HTML5DocumentParser.cpp:
        (WebCore::): Make ctor explicit.
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord): Make ctor explicit.
        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::isEndTagBufferingState): Use switch to generate an efficient table with single branch.
        * html/HTML5Token.h:
        (WebCore::HTML5Token::forceQuirks): Add const.
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::isPaused): Add const.

2010-06-18  Aaron Boodman  <aa@chromium.org>

        Remove WebKit::WebDocument::isXHTMLDocument.
        https://bugs.webkit.org/show_bug.cgi?id=40815

        * dom/Document.h: remove isXHTML() getter.

2010-06-19  Aaron Boodman  <aa@chromium.org>

        Unreviewed, rolling out r61466.
        http://trac.webkit.org/changeset/61466
        https://bugs.webkit.org/show_bug.cgi?id=40816

        Landed wrong change

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8DOMWindowShell.h:

2010-06-18  Aaron Boodman  <aa@chromium.org>

        WebKit API: Undo static hooks into V8 when WebKit is shut down.
        https://bugs.webkit.org/show_bug.cgi?id=40816

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        (WebCore::V8DOMWindowShell::initializeV8IfNeeded):
        (WebCore::V8DOMWindowShell::uninitializeV8IfNeeded):
        * bindings/v8/V8DOMWindowShell.h:

2010-06-18  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Darin Adler.

        Bug 19509 - Database Tables in the Inspector should be sortable
        https://bugs.webkit.org/show_bug.cgi?id=19509

        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.dataGridForResult):
        Make each column in the DataGrid sortable.
        (WebInspector.StoragePanel.prototype._sortDataGrid.comparator):
        Make sure to sort numeric columns by their numeric values, instead of lexicographically.
        (WebInspector.StoragePanel.prototype._sortDataGrid):
        Sort the entries in the DataGrid based on the selected column.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver Hunt.

        More clang++ warning fixes.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/WebLayer.mm:
        (-[CALayer _descriptionWithPrefix:]):

2010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        * WebCore.gyp/WebCore.gyp: Modified inclusion rule in to actually add WebSystemInterface.mm.

2010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        * WebCore.gyp/WebCore.gyp: Renamed WebSystemInterface.m to WebSystemInterface.mm.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Make WebCoreSystemInterface.h a C++ only header
        https://bugs.webkit.org/show_bug.cgi?id=40867

        * platform/mac/WebCoreSystemInterface.h:

2010-06-18  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Convert column span from an unsigned short type to an unsigned int
        type. Fixes a divide-by-zero crash arising from using a zero colspan
        value coming from a narrow cast of an int to an unsigned short.
        https://bugs.webkit.org/show_bug.cgi?id=40812

        Test: fast/table/zero-colspan-crash.html

        * rendering/RenderTable.h: Change span from unsigned short to unsigned int.
        * rendering/RenderTableSection.cpp: Fix a compiler warning with comparing
          unsigned int with signed int. Value of an unsigned int here cannot be
          greater than maximum positive value of a signed int.
        (WebCore::RenderTableSection::addCell):

2010-06-18  Ananth Jasty  <ext-ananth.jasty@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Text spacing miscalculation when using wordSpacing.
        https://bugs.webkit.org/show_bug.cgi?id=40483

        Removed wordSpacing compensation in FontQt whitespace width
        calculation. The QFontMetrics::width() overload that takes
        a character does not take QFont's word spacing into account.

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

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Get rid of PluginDataMac.mm and use the plug-in strategy instead
        https://bugs.webkit.org/show_bug.cgi?id=40860

        * WebCore.xcodeproj/project.pbxproj:
        * page/mac/WebCoreViewFactory.h:
        * plugins/PluginData.cpp:
        (WebCore::PluginData::refresh):
        (WebCore::PluginData::initPlugins):
        * plugins/PluginStrategy.h:
        * plugins/mac/PluginDataMac.mm: Removed.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Fix some (not all) clang++ warnings.

        * dom/Position.h:
        (WebCore::lastOffsetInNode):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::resourceForRequest):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::offsetForPosition):
        (WebCore::ComplexTextController::collectComplexTextRuns):
        * platform/network/CredentialStorage.cpp:
        (WebCore::protectionSpaceMapKeyFromURL):
        * rendering/style/StyleRareNonInheritedData.h:

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add stubbed out WebPlatformStrategies class to WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40851

        * WebCore.base.exp:
        * platform/PlatformStrategies.cpp:
        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::~PlatformStrategies):

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Fix build errors when building with clang++.

        * loader/archive/cf/LegacyWebArchiveMac.mm:
        Move the const qualifier to the right place.

        * page/EditorClient.h:
        * platform/Pasteboard.h:
        Use @class when forward declaring Objective-C classes in Objective-C.

2010-06-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=40852
        <rdar://problem/8105498> Limit simultaneous DNS prefetch request number (40852)

        No change in functionality, so no tests.

        We still queue up to 64 names, but only make up to 8 requests at once. If there are names
        remaining in queue, we retry after a short timeout (which is easier than posting
        notifications from client callback).

        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::DNSResolveQueue::add):
        (WebCore::DNSResolveQueue::fired):

2010-06-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Simon Fraser.

        WebGL demos show bad flicker
        https://bugs.webkit.org/show_bug.cgi?id=38560

        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::prepareTexture): Move ensureContext() out of if-block so it's always executed.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add PlatformStrategies and PluginStrategy classes.
        https://bugs.webkit.org/show_bug.cgi?id=40850

        * WebCore.xcodeproj/project.pbxproj:
        * platform/PlatformStrategies.cpp: Added.
        (WebCore::PlatformStrategies::~PlatformStrategies):
        (WebCore::platformStrategies):
        (WebCore::setPlatformStrategies):
        * platform/PlatformStrategies.h: Added.
        (WebCore::PlatformStrategies::pluginStrategy):
        (WebCore::PlatformStrategies::PlatformStrategies):
        * plugins/PluginData.cpp:
        * plugins/PluginStrategy.h: Added.
        (WebCore::PluginStrategy::~PluginStrategy):

2010-06-18  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Fix the GTK+ build after r61413 and 61379.

        * bindings/scripts/CodeGeneratorGObject.pm:
        Produce a g_value_set that uses getterExpressionPrefix instead of the raw getter.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_property): Update expected test results.

2010-06-18  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        * CMakeLists.txt: Add inspector/ScriptBreakpoint.cpp.

2010-06-18  Andy Estes  <aestes@apple.com>

        Rubber-stamped by Sam Weinig.

        Update copyright header.

        * html/HTMLLinkElement.h:

2010-06-17  Andy Estes  <aestes@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in
        in a listener to its beforeload event.
        https://bugs.webkit.org/show_bug.cgi?id=40742
        
        Postpone loading of link elements until after they have been inserted into the DOM and
        attached. This prevents DOM mutations triggered by beforeload handlers from firing in the
        midst of DOM insertion, which can lead to assertion failures and crashes.

        Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false.
        (WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls
        HTMLLinkElement::process().
        (WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set
        m_shouldProcessAfterAttach to true to indicate that process() should be called after attach().
        (WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false.
        (WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register
        HTMLLinkElement::processCallback() as a post-attach callback.
        * html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach.
        (WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to
        indicate that a full attach should be performed.  This ensures the post-attach callbacks are
        fired.

2010-06-18  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed. Windows build fix.

        AX: presentational role needs to be inherited by required elements
        https://bugs.webkit.org/show_bug.cgi?id=40132

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):

2010-06-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: presentational role needs to be inherited by required elements
        https://bugs.webkit.org/show_bug.cgi?id=40132

        Test: platform/mac/accessibility/inherited-presentational-lists.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
        * accessibility/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::node):

2010-06-18  Darin Adler  <darin@apple.com>

        Fix GTK build after reflection change.

        * bindings/scripts/CodeGeneratorGObject.pm: Changed code
        that emits setters to convey the correct type of the attribute.
        The GObject code generator takes a different approach to attributes
        than the others, so it's hacked a bit to make it more like them.
        We should find a way to share more code between the different generators.

        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        Updated to expect correct results.

2010-06-18  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed: Qt build fix.

        * inspector/InspectorController.cpp:

2010-06-18  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Ojan Vafai.

        https://bugs.webkit.org/show_bug.cgi?id=39798
        No selection change notification for editing operation that doesn't change the selection's DOM position
        
        Some editing operations change the selection visually without affecting its position within 
        the DOM.  This was previously known to occur for certain typing commands, but it can also 
        occur for some Pastes and changes to block style.

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        (WebCore::Editor::changeSelectionAfterCommand):
        * editing/Editor.h:

2010-06-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix.

        [EFL] Build break on Debug build.
        https://bugs.webkit.org/show_bug.cgi?id=40810

        * CMakeLists.txt: Add CSSPreloadScanner.cpp

2010-06-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: persist breakpoints in inspector settings.
        https://bugs.webkit.org/show_bug.cgi?id=14190

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setSessionSettings):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        (WebCore::InspectorController::didParseSource):
        (WebCore::InspectorController::breakpointsSettingKey):
        (WebCore::InspectorController::loadBreakpoints):
        (WebCore::InspectorController::saveBreakpoints):
        * inspector/InspectorController.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorValue::parseJSON):
        * inspector/InspectorValues.h:
        * inspector/ScriptBreakpoint.cpp: Added.
        (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
        * inspector/ScriptBreakpoint.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
        (WebInspector.BreakpointManager.prototype._addBreakpoint):
        * inspector/front-end/inspector.js:
        (WebInspector.restoredBreakpoint):

2010-06-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Implement additional DOM attribute reflection for bindings
        https://bugs.webkit.org/show_bug.cgi?id=39936

        - Added support for [Reflect] for long, unsigned long, and boolean
          attributes.
        - Fixed code that set attributes like this: <video controls="controls">
          to instead set them like this: <video controls>.
        - Added lots more uses of [Reflect].
        - Removed now-unneeded [ConvertFromString].
        - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
          of most uses of the latter.
        - Made [Reflect] automatically lowercase the name of the reflected
          content attribute to minimize the need to specify a custom content
          attribute name.

        One thing this patch does *not* do is remove the unneeded functions
        in the various DOM classes that are no longer used by the bindings.
        We should do that in a followup.

        * bindings/scripts/CodeGenerator.pm: Added new functions so code
        can be shared across bindings, GetterExpressionPrefix and
        SetterExpressionPrefix. We can do a lot more refactoring like
        this in the future.

        * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes.

        * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes. Fixed a few things
        in the output so the .cpp file will have more WebKit style.
        The .h file should be GTK style, but the .cpp file can be the
        standard WebKit style eventually.

        * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Redid the special cases for
        ownerDocument and for operator to fit better with the new code
        paths. Removed unneeded ConvertFromString handling.

        * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/test/TestObj.idl: Added some test cases for
        content attribute reflection and for exceptions in string-typed
        attributes.

        * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
        * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

        * dom/Element.cpp:
        (WebCore::Element::getIntegralAttribute): Added.
        (WebCore::Element::setIntegralAttribute): Added.
        (WebCore::Element::getUnsignedIntegralAttribute): Added.
        (WebCore::Element::setUnsignedIntegralAttribute): Added.
        * dom/Element.h: Added new attribute get/set functions for bindings.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for
        srcAttr.
        * html/HTMLMediaElement.h: Added isURLAttribute.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::isURLAttribute): Changed to call
        HTMLMediaElement::isURLAttribute before checking for posterAttr.

        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * svg/SVGElement.idl:
        Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
        are now unneeded since [Reflect] now implies that. Changed formatting to be
        simpler and consistent without all the lining up and multiple lines.

2010-06-17  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Remove some unnecessary checks that cause compiler warnings.
        https://bugs.webkit.org/show_bug.cgi?id=40772

        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::V8SQLResultSetRowList::itemCallback):
        * bindings/v8/npruntime.cpp:

2010-06-18  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Implement 'takeHeapSnapshot' in InspectorController.

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

        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::takeHeapSnapshot):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::takeHeapSnapshot):
        * inspector/InspectorController.h:

2010-06-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element
        https://bugs.webkit.org/show_bug.cgi?id=40831

        Test: fast/dom/HTMLScriptElement/isURLAttribute.html

        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute.

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

        Unreviewed, rolling out r61405.
        http://trac.webkit.org/changeset/61405
        https://bugs.webkit.org/show_bug.cgi?id=40838

        broke chromium mac compile (Requested by tonyg-cr1 on
        #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer}
        https://bugs.webkit.org/show_bug.cgi?id=40176

        * html/canvas/WebGLBuffer.cpp: Remove constructor with existing name.
        * html/canvas/WebGLBuffer.h: Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer.
        (WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer.
        (WebCore::WebGLRenderingContext::findRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name.
        * html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer.

2010-06-18  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by David Levin.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark showed a ~7% improvement when this was
        originally submitted (before it had to be rolled back).

        Test: fast/js/parser-high-byte-character.html

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-18  Anton Muhin  <antonm@chromium.org>

        Reviewed by Dimitri Glazkov.

        [v8] Finish migration to new named property query API
        https://bugs.webkit.org/show_bug.cgi?id=40771
        Remove definition which allowed gradual transition to new API.
        See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase.

        * config.h:

2010-06-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: bring XHR console records back.
        - adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu
        - make the chosen option persist in the settings.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::disableSearchingForNode):
        (WebCore::InspectorBackend::enableMonitoringXHR):
        (WebCore::InspectorBackend::disableMonitoringXHR):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setMonitoringXHR):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::ensureSettingsLoaded):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::monitoringXHRWasEnabled):
        (WebCore::InspectorFrontend::monitoringXHRWasDisabled):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        (WebInspector.ConsoleView.prototype._registerShortcuts):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub):
        (.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR):
        (.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR):
        * inspector/front-end/inspector.js:
        (WebInspector.monitoringXHRWasEnabled):
        (WebInspector.monitoringXHRWasDisabled):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

2010-06-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Modernize SVG Text code, following the HTML design
        https://bugs.webkit.org/show_bug.cgi?id=40663

        SVG Text does not support subpixel positioning
        https://bugs.webkit.org/show_bug.cgi?id=12172

        RenderSVGText can't do partial repaints
        https://bugs.webkit.org/show_bug.cgi?id=15386

        HTML and SVG need to share more text painting code
        https://bugs.webkit.org/show_bug.cgi?id=15644

        Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was.
        We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure,
        instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years.

        Rough overview of the changes:
        - Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting
        - Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!)
          -> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting
        - No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead.
        - Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text
        - Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards)
        - Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box
          -> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results.
        - Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account.
        - Speeeeeed! Drawing is much faster now.

        Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using
        SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated
        start origin, holding it down and moving it to the end position.

        A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog.
        Note that this requires a rebaselining of all SVG tests containing text elements.

        Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml)
               svg/text/lengthAdjust-text-metrics.html
               svg/text/select-textLength-spacing-squeeze-1.svg
               svg/text/select-textLength-spacing-squeeze-2.svg
               svg/text/select-textLength-spacing-squeeze-3.svg
               svg/text/select-textLength-spacing-squeeze-4.svg
               svg/text/select-textLength-spacing-stretch-1.svg
               svg/text/select-textLength-spacing-stretch-2.svg
               svg/text/select-textLength-spacing-stretch-3.svg
               svg/text/select-textLength-spacing-stretch-4.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg
               svg/text/select-x-list-1.svg
               svg/text/select-x-list-2.svg
               svg/text/select-x-list-3.svg
               svg/text/select-x-list-4.svg
               svg/text/select-x-list-with-tspans-1.svg
               svg/text/select-x-list-with-tspans-2.svg
               svg/text/select-x-list-with-tspans-3.svg
               svg/text/select-x-list-with-tspans-4.svg

        * rendering/InlineBox.h: Remove not needed isInlineBox() method.
        (WebCore::InlineBox::isInlineTextBox): Constify this method.
        (WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox().
        (WebCore::InlineBox::isSVGRootInlineBox): Constify this method.
        (WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text.
        * rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it.
        * rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering.
                                     SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary.
        (WebCore::InlineTextBox::isInlineTextBox): Constify this method.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text.
        (WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway.
        * rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now.
        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do.
        (WebCore::RenderSVGInline::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto
        * rendering/RenderSVGInline.h: 
        * rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction.
                                             As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem.
        (WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us.
        (WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code.
        * rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now.
        * rendering/RenderSVGText.cpp: 
        (WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering.
        (WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need.
        (WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time.
        (WebCore::RenderSVGText::absoluteQuads): Ditto.
        (WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases.
        (WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts.
        * rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all.
                                     We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed.
        (WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own.
        * rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now.
        * rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo.
        * rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it.
        (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/SVGInlineFlowBox.cpp: 
        (WebCore::SVGInlineFlowBox::paint): Ask children to paint.
        (WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries.
        * rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden.
        * rendering/SVGInlineTextBox.cpp: 
        (WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables.
        (WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height.
        (WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts.
        (WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used.
        (WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos.
        (WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here.
        (WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint().
        (WebCore::SVGInlineTextBox::releasePaintingResource): Ditto.
        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto.
        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto.
        (WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text.
        (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox
                                                                                   coordinate space to the SVGInlineTextBox, respecting the current text chunk part.
        (WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part)
        (WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code.
        (WebCore::thicknessForDecoration): Ditto.
        (WebCore::findRenderObjectDefininingTextDecoration): Ditto.
        (WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.)
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
        (WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision.
        (WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases.
                                                (GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase)
        (WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations.
        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function.
        (WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.)
        * rendering/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added.
        (WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations.
        (WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any.
        (WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase.
        (WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto.
        (WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto.
        * rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting.
        (WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now.
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview.
        (WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here.
        (WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes().
        (WebCore::SVGRootInlineBox::layoutRootBox): Ditto.
        (WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes.
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method.
        (WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations.
        * rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation.
        * rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used.
        (WebCore::SVGTextChunkPart::SVGTextChunkPart):
        (WebCore::SVGTextChunkPart::isValid):
        (WebCore::SVGTextChunk::SVGTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
        (WebCore::SVGTextChunkLayoutInfo::textChunks):
        * rendering/SVGTextLayoutUtilities.cpp:
        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
        (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
        (WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values.
        * rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo.
        * rendering/SVGTextQuery.cpp: Remove if 0, enable compilation.
        * rendering/SVGTextQuery.h: Ditto.
        * svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance!
                                    This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary.
        (WebCore::SVGStyledElement::isKnownAttribute):
        * svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API.
        (WebCore::SVGTextContentElement::getNumberOfChars):
        (WebCore::SVGTextContentElement::getComputedTextLength):
        (WebCore::SVGTextContentElement::getSubStringLength):
        (WebCore::SVGTextContentElement::getStartPositionOfChar):
        (WebCore::SVGTextContentElement::getEndPositionOfChar):
        (WebCore::SVGTextContentElement::getExtentOfChar):
        (WebCore::SVGTextContentElement::getRotationOfChar):
        (WebCore::SVGTextContentElement::getCharNumAtPosition):
        * svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called.
        * svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now.

2010-06-18  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by David Levin.

        Fix compilation when filters are disabled. Revision r60689
        changed the signature of SVGRenderBase::prepareToRenderSVGContent()
        but didn't change the unsused parameters when filters are disabled.
        https://bugs.webkit.org/show_bug.cgi?id=40625

        No new tests. Compilation fix.

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):

2010-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        noAccess url schemes block access to inline stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=32309

        Instead of using baseURL() to grab the security context we should just
        use finalURL directly.  When I wrote the original patch that added this
        security check, finalURL didn't exist yet.

        If finalURL is an empty URL, that means we generated the style sheet
        from text that didn't have a URL.  It would be slightly safer to store
        a bit on CSSStyleSheet indicating whether it came from an inline style
        sheet, but I think this check is fairly accurate.

        Test: http/tests/security/data-url-inline.css.html

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::cssRules):

2010-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove unneeded custom code for WebSocket.send
        https://bugs.webkit.org/show_bug.cgi?id=38180

        We don't appear to require a custom binding here.  The old function was
        wacky in two ways:

        1) It required all of its arguments.

        2) If the toString of its argument threw, it would catch the exception
           and re-throw a different exception.

        I've kept the first behavior but changed the second (and documented it
        with a test).

        Test: websocket/tests/send-throw.html

        * bindings/js/JSWebSocketCustom.cpp:
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        * websockets/WebSocket.idl:

2010-06-15  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * WebCore.base.exp
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
        (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::openDatabase):
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::isAvailable):
        (WebCore::AbstractDatabase::setIsAvailable):
        * storage/AbstractDatabase.h:
        * storage/Database.cpp:
        * storage/Database.h:
        * storage/DatabaseSync.cpp:
        * storage/DatabaseSync.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::openDatabase):
        (WebCore::WorkerContext::openDatabaseSync):
        * workers/WorkerContext.h:

2010-06-18  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Fix the namespace indent for HTML5Lexer.  This patch changes
        white-space only.

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::):
        (WebCore::HTML5Lexer::lineNumber):
        (WebCore::HTML5Lexer::columnNumber):
        (WebCore::HTML5Lexer::state):
        (WebCore::HTML5Lexer::setState):
        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):

2010-06-18  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed test breakage fix.

        WebSocket: resume should not process buffer if already processing.
        https://bugs.webkit.org/show_bug.cgi?id=39340

        MessageLoop runs in main thread, so we don't need to use timer in worker thread.
        Also, we should not use Timer in worker thread.

        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):

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

        Unreviewed, rolling out r61379.
        http://trac.webkit.org/changeset/61379
        https://bugs.webkit.org/show_bug.cgi?id=40813

        Broke multiple tests on all platforms (Requested by tkent on
        #webkit).

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::attrWithException):
        (WebDOMTestObj::setAttrWithException):
        (WebDOMTestObj::attrWithSetterException):
        (WebDOMTestObj::attrWithGetterException):
        (WebDOMTestObj::setAttrWithGetterException):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_void_method):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method):
        (webkit_dom_test_obj_int_method_with_args):
        (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_serialized_value):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_dynamic_frame):
        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
        (webkit_dom_test_obj_with_script_state_void):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_with_script_execution_context):
        (webkit_dom_test_obj_method_with_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
        (webkit_dom_test_obj_get_read_only_int_attr):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_int_attr):
        (webkit_dom_test_obj_set_int_attr):
        (webkit_dom_test_obj_get_long_long_attr):
        (webkit_dom_test_obj_set_long_long_attr):
        (webkit_dom_test_obj_get_unsigned_long_long_attr):
        (webkit_dom_test_obj_set_unsigned_long_long_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_attr_with_exception):
        (webkit_dom_test_obj_set_attr_with_exception):
        (webkit_dom_test_obj_get_attr_with_setter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_get_script_string_attr):
        (webkit_dom_test_obj_get_conditional_attr1):
        (webkit_dom_test_obj_set_conditional_attr1):
        (webkit_dom_test_obj_get_conditional_attr2):
        (webkit_dom_test_obj_set_conditional_attr2):
        (webkit_dom_test_obj_get_conditional_attr3):
        (webkit_dom_test_obj_set_conditional_attr3):
        (webkit_dom_test_obj_get_description):
        (webkit_dom_test_obj_get_id):
        (webkit_dom_test_obj_set_id):
        (webkit_dom_test_obj_get_hash):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjAttrWithException):
        (WebCore::jsTestObjAttrWithSetterException):
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithException):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj attrWithException]):
        (-[DOMTestObj setAttrWithException:]):
        (-[DOMTestObj attrWithSetterException]):
        (-[DOMTestObj attrWithGetterException]):
        (-[DOMTestObj setAttrWithGetterException:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
        (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
        (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
        (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
        (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
        (WebCore::TestObjInternal::overloadedMethodCallback):
        (WebCore::):
        * dom/Element.cpp:
        * dom/Element.h:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * svg/SVGElement.idl:

2010-06-17  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dave Hyatt.

        CSS3 "Property is declared twice in rule" test fails
        https://bugs.webkit.org/show_bug.cgi?id=36282

        Filter out duplicate properties in style declaration.

        Test: fast/css/duplicate-property-in-rule.html

        * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Discard negative padding values
        * css/CSSStyleSelector.cpp: Remove negative padding check
        (WebCore::CSSStyleSelector::applyProperty):

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Implement additional DOM attribute reflection for bindings
        https://bugs.webkit.org/show_bug.cgi?id=39936

        - Added support for [Reflect] for long, unsigned long, and boolean
          attributes.
        - Fixed code that set attributes like this: <video controls="controls">
          to instead set them like this: <video controls>.
        - Added lots more uses of [Reflect].
        - Removed now-unneeded [ConvertFromString].
        - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
          of most uses of the latter.
        - Made [Reflect] automatically lowercase the name of the reflected
          content attribute to minimize the need to specify a custom content
          attribute name.

        One thing this patch does *not* do is remove the unneeded functions
        in the various DOM classes that are no longer used by the bindings.
        We should do that in a followup.

        * bindings/scripts/CodeGenerator.pm: Added new functions so code
        can be shared across bindings, GetterExpressionPrefix and
        SetterExpressionPrefix. We can do a lot more refactoring like
        this in the future.

        * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes.

        * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes. Fixed a few things
        in the output so the .cpp file will have more WebKit style.
        The .h file should be GTK style, but the .cpp file can be the
        standard WebKit style eventually.

        * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Redid the special cases for
        ownerDocument and for operator to fit better with the new code
        paths. Removed unneeded ConvertFromString handling.

        * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/test/TestObj.idl: Added some test cases for
        content attribute reflection and for exceptions in string-typed
        attributes.

        * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
        * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

        * dom/Element.cpp:
        (WebCore::Element::getIntegralAttribute): Added.
        (WebCore::Element::setIntegralAttribute): Added.
        (WebCore::Element::getUnsignedIntegralAttribute): Added.
        (WebCore::Element::setUnsignedIntegralAttribute): Added.
        * dom/Element.h: Added new attribute get/set functions for bindings.

        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * svg/SVGElement.idl:
        Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
        are now unneeded since [Reflect] now implies that. Changed formatting to be
        simpler and consistent without all the lining up and multiple lines.

2010-06-17  MORITA Hajime  <morrita@google.com>

        Unreviewd, fixed a build break.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):

2010-06-16  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <meter> should allow styling for each gauge-level and component
        https://bugs.webkit.org/show_bug.cgi?id=40280

        - Introduced following new pseudo classes for <meter> element.
        
          - -webkit-meter-horizontal-bar
          - -webkit-meter-vertical-bar
          - -webkit-meter-horizontal-optimum-value
          - -webkit-meter-vertical-optimum-value
          - -webkit-meter-horizontal-suboptimal-value
          - -webkit-meter-vertical-suboptimal-value
          - -webkit-meter-horizontal-even-less-good-value
          - -webkit-meter-vertical-even-less-good-value
        
        - Introduced 2 shadow nodes for RenderMeter to handle CSS styling. 
          one for bar part and another for value part.
        - Removed RenderTheme::paintMeter() implementation because it can be
          handled by styled painting without RenderTheme.
        - Pulled RenderIndicator up to super class from RenderProgress,
          then make RenderMeter a subclass of it.
        - Moved shadow related methods from RenderProgress to ShadowBlockElement
          to share it with RenderMeter.
        - Added rules for html.css for new pseudo classes.
        
        Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
               fast/dom/HTMLMeterElement/meter-styles.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/html.css:
        (meter::-webkit-meter-horizontal-bar):
        (meter::-webkit-meter-vertical-bar):
        (meter::-webkit-meter-horizontal-optimum-value):
        (meter::-webkit-meter-horizontal-suboptimal-value):
        (meter::-webkit-meter-horizontal-even-less-good-value):
        (meter::-webkit-meter-vertical-optimum-value):
        (meter::-webkit-meter-vertical-suboptimal-value):
        (meter::-webkit-meter-vertical-even-less-good-value):
        * rendering/RenderIndicator.cpp: Added.
        (WebCore::RenderIndicator::RenderIndicator):
        (WebCore::RenderIndicator::~RenderIndicator):
        (WebCore::RenderIndicator::layout):
        (WebCore::RenderIndicator::styleDidChange):
        (WebCore::RenderIndicator::updateFromElement):
        (WebCore::RenderIndicator::hasParts):
        (WebCore::RenderIndicator::requestLayoutForParts):
        * rendering/RenderIndicator.h: Added.
        (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::RenderMeter):
        (WebCore::RenderMeter::~RenderMeter):
        (WebCore::RenderMeter::layoutParts): Added.
        (WebCore::RenderMeter::shouldHaveParts): Added.
        (WebCore::RenderMeter::valueRatio): Added.
        (WebCore::RenderMeter::barPartRect): Added.
        (WebCore::RenderMeter::valuePartRect): Added.
        (WebCore::RenderMeter::isHorizontal): Added.
        (WebCore::RenderMeter::valuePseudoId): Added.
        (WebCore::RenderMeter::barPseudoId): Added.
        (WebCore::RenderMeter::updatePartsState): Added.
        * rendering/RenderMeter.h:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::paint):
        (WebCore::RenderProgress::layoutParts): Added.
        (WebCore::RenderProgress::shouldHaveParts): Added.
        (WebCore::RenderProgress::updatePartsState):
        (WebCore::RenderProgress::valuePartRect):
        * rendering/RenderProgress.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::paintMeter):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::supportsMeter): Added.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::supportsMeter): Added.
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::layoutAsPart): Added.
        (WebCore::ShadowBlockElement::updateStyleForPart): Added.
        (WebCore::ShadowBlockElement::createForPart): Added.
        (WebCore::ShadowBlockElement::createStyleForPart): Added.
        (WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
        * rendering/ShadowElement.h:
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2010-06-17  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket: resume should not process buffer if already processing.
        https://bugs.webkit.org/show_bug.cgi?id=39340

        Test: websocket/tests/alert-in-event-handler.html

        While running an event handler of WebSocket object, it may be suspended
        and resumed in various reason. e.g. alert() will suspend/resume
        ActiveDOM objects. In chromium, sending IPC message would also
        suspend/resume ActiveDOM objects.
        If resume process pending buffer in this case, another event might
        be fired while running the initial event handler.
        Thus, resume should not process pending buffer immediately.
        Pending buffer would be processed after the current task has been
        finished.

        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::resume):
         Just set one shot timer for resumeTimerFired() if not yet set.
        (WebCore::WebSocketChannel::resumeTimerFired):
         Process pending event after resume was called.
        * websockets/WebSocketChannel.h:

2010-06-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash
        https://bugs.webkit.org/show_bug.cgi?id=40764

        HTML5ScriptRunner was careful to only call CachedResource::addClient
        for cases where the resource was not already loaded.  This was to
        avoid getting synchronous notifyFinished callbacks from inside
        addClient.  (The old HTMLDocumentParser also has hacks to work around
        addClient's synchronous notifyFinished behavior for already-loaded
        resources as well.)

        It turns out that CachedResource will mark itself as purgeable if it
        has no clients, thus it could have its data cleared (but itself not
        deleted) in the case where we yield back to the runloop to wait for
        CSS to load before executing the loaded script.

        The fix is to act more like the old parser and always call addClient
        on every CachedScript we load.  But unlike the old parser, we're
        careful not to re-enter from addClient -> notifyFinished
        using guards in HTML5DocumentParser::watchForLoad.

        I do not know how to make a CachedResource purge itself
        from a LayoutTest, so this is not currently testable.
        If anyone knows how I'm happy to make a test.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::watchForLoad):
         - It is now expected to call watchForLoad with a loaded script.
        (WebCore::HTML5DocumentParser::notifyFinished):
         - Now that watchForLoad is called with loaded scripts, notifyFinished
           may be be called from addClient, thus we may be in the middle of
           script execution when it's called.  It's OK.  We pass the call
           along to HTML5ScriptRunner::executeScriptsWaitingForLoad
           and it knows how to ignore the call in that case.
        * html/HTML5DocumentParser.h:
         - Document these member variables more.
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::watchForLoad):
         - Set the pending script to RegisteringForWatch state before
           watching and WatchingForLoad after.
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
         - Set the pending script to NotWatchingForLoad.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Assert that callers checked hasScriptsWaitingForLoad()
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::):
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
        * html/HTML5ScriptRunnerHost.h:
         - Document the new expectations of watchForLoad

2010-06-17  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Prevent HTML5PreloadScanner from loading resources in <noscript> tags.
        https://bugs.webkit.org/show_bug.cgi?id=40779

        No new tests. Will create a layout test in a subsequent patch.

        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::adjustedLexerState):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        (WebCore::HTML5TreeBuilder::isScriptingFlagEnabled):
        * html/HTML5TreeBuilder.h:

2010-06-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5PreloadScanner parses <script> in DataState
        https://bugs.webkit.org/show_bug.cgi?id=40804

        The ScriptDataState is handled separately from the rest of the lexer
        state changes because it's more complicted in the tree builder.  The
        easiest thing is to just handle it separately in the preloader too.

        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::processToken):

2010-06-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add CSS scanning to HTML5PreloadScanner
        https://bugs.webkit.org/show_bug.cgi?id=40802

        This patch just cribs the CSS preload scanning algorithm from the old
        preload scanner.  We also invented a way of testing the preload
        scanner.

        Tests: fast/preloader/image.html
               fast/preloader/link.html
               fast/preloader/script.html
               fast/preloader/style.html

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CSSPreloadScanner.cpp: Added.
        (WebCore::isWhitespace):
        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
        (WebCore::CSSPreloadScanner::reset):
        (WebCore::CSSPreloadScanner::scan):
        (WebCore::CSSPreloadScanner::tokenize):
        (WebCore::CSSPreloadScanner::emitRule):
        * html/CSSPreloadScanner.h: Added.
        (WebCore::CSSPreloadScanner::):
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
        (WebCore::HTML5PreloadScanner::processToken):
        (WebCore::HTML5PreloadScanner::scanningBody):
        * html/HTML5PreloadScanner.h:

2010-06-17  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Kilzer.

        (Landed by Dirk Pranke).

        Check for a null frame before setting drag selection.
        https://bugs.webkit.org/show_bug.cgi?id=38893
        Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168.

        Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html  

        Note that you need to run the test manually 20-30 times for the crash
        to reproduce.

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

2010-06-17  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage()
        https://bugs.webkit.org/show_bug.cgi?id=40620

        Remove an unused variable.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):

2010-06-17  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow
        OOP loading of fonts.

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

        * platform/chromium/ChromiumBridge.h: Add prototype for loadFont()

2010-06-17  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel.

        Fix various warnings that are reported when building with clang
        https://bugs.webkit.org/show_bug.cgi?id=40503

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::labelElementContainer):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        (WebCore::):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::):
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::):
        * css/CSSStyleSheet.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::getNamedElements):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::getObject):
        (WebCore::InspectorObject::getArray):
        * page/animation/AnimationBase.h:
        * platform/graphics/BitmapImage.h:
        (WTF::):
        * platform/graphics/mac/FontPlatformData.h:
        * rendering/RenderBlock.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::ellipsisBox):
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::storageArea):

2010-06-17  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Pavel Feldman.

        Add ENABLE(INSPECTOR) guard for m_sessionSettings
        https://bugs.webkit.org/show_bug.cgi?id=40611

        Build fix.

        * inspector/InspectorController.h:

2010-06-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add FIXME to explain HTMLDocumentParser's forceSynchronous bool
        https://bugs.webkit.org/show_bug.cgi?id=40609

        No functional change, just adding comment.

        * dom/Document.cpp:
        (WebCore::Document::write):

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

        Reviewed by Kenneth Rohde Christiansen.

        WebCore EventHandler needs to take account of onLoad events 
        fired before layout() complete

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

        WebCore 'cheats' by firing onLoad events before the frame's layout
        has been performed. This can result in event listeners performing
        operations that depend on the document's final layout, such as
        scrolling operations.

        When scrolling a frameview in eventhandler ensure the layout is complete.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::scrollRecursively):

2010-06-16  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h.
        https://bugs.webkit.org/show_bug.cgi?id=40748

        Test: storage/sql-error-codes.html

        * storage/SQLError.h:
        (WebCore::SQLError::):
        * storage/SQLError.idl:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        (WebCore::SQLStatement::setDatabaseDeletedError):
        (WebCore::SQLStatement::setVersionMismatchedError):
        (WebCore::SQLStatement::setFailureDueToQuota):
        (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::handleCurrentStatementError):
        (WebCore::SQLTransaction::deliverStatementCallback):
        (WebCore::SQLTransaction::postflightAndCommit):

2010-06-17  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Fix CRLF ending conversion in StringBlobItem.
        https://bugs.webkit.org/show_bug.cgi?id=40736
        Also: fix referencing uninitialized member bug and slice length bug
        in hybrid blob case.

        Tests will be added when we add BlobBuilder jsc bindings.

        * platform/BlobItem.cpp:
        (WebCore::StringBlobItem::convertToCString):
        (WebCore::DataRangeBlobItem::DataRangeBlobItem):

2010-06-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r61340.
        http://trac.webkit.org/changeset/61340
        https://bugs.webkit.org/show_bug.cgi?id=36282

        Broke several editing tests.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2010-06-17  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add optional contentType parameter to Blob.slice per latest File API spec.
        https://bugs.webkit.org/show_bug.cgi?id=40647

        Tested by http/tests/local/resources/send-sliced-dragged-file.html.

        * html/Blob.cpp:
        (WebCore::Blob::slice):
        * html/Blob.h:
        * html/Blob.idl:

2010-06-17  Jesus Sanchez-Palencia  <jesus@webkit.org>, Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] QtWebKit does not support viewport meta tag
        https://bugs.webkit.org/show_bug.cgi?id=39902

        Add windowRect() to page client.

        * platform/qt/QWebPageClient.h:

2010-06-17  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Fix for slow multiple animated resize issue.
        https://bugs.webkit.org/show_bug.cgi?id=38233

        The timer-based resize quality approach implemented in
        http://trac.webkit.org/changeset/34210 is a good idea, but doesn't
        scale to multiple images with animated resizes.  This fix unifies all
        outstanding resize timers into a single timer, and removes the "use
        last quality" check (which doesn't work when images are overlapping). 
        It also refactors the copy of this code implemented in
        RenderBoxModelObject in http://trac.webkit.org/changeset/53949.

        This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5):
        http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps)
        http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps)
        http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps)

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::ImageQualityController):
        Unify all timers into a single timer, rename RenderBoxModelScaleObserver
        to ImageQualityController, and remove the resize quality "stickness",
        since it doesn't work with multiple outstanding resizes.
        (WebCore::ImageQualityController::objectDestroyed):
        gImages global is now m_lastPaintTimeMap member.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Function made non-static; repaint all pending resizes (not just one).
        (WebCore::ImageQualityController::restartTimer):
        Added function to restart timer at 1.05x threshold.
        (WebCore::imageQualityController):
        Static function to return singleton.
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Use m_lastPaintTimeMap, not gImages global.  Implement new timer
        algorithm.  Remove resize "stickiness".
        (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
        Implement shouldPaintAtLowQuality, which pulls out "this" and passes
        the call to the ImageQualityController.
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        Call ImageQualityController singleton's objectDestroyed() instead of
        old static function.
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        Modify shouldPaintAtLowQuality() call to match new class name and
        function signature.
        * rendering/RenderBoxModelObject.h:
        Expose shouldPaintAtLowQuality as a member function.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::~RenderImage):
        No need to call objectDestroyed() here anymore, since the
        RenderBoxModelObject destructor will do this for us.
        (WebCore::RenderImage::paintIntoRect):
        Rip out RenderImageScaleObserver, and call
        RenderBoxModelObject::shouldPaintAtLowQuality() instead.

2010-06-17  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dave Hyatt.

        CSS3 "Property is declared twice in rule" test fails
        https://bugs.webkit.org/show_bug.cgi?id=36282

        Filter out duplicate properties in style declaration.

        Test: fast/css/duplicate-property-in-rule.html

        * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Discard negative padding values
        * css/CSSStyleSelector.cpp: Remove negative padding check
        (WebCore::CSSStyleSelector::applyProperty):

2010-06-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Clean up error conditions for Typed Arrays
        https://bugs.webkit.org/show_bug.cgi?id=40755

        * bindings/js/JSArrayBufferCustom.cpp:
        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
         - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
         - Changed all error code paths to throw exceptions. Clarified exception types.
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        (WebCore::V8ArrayBuffer::constructorCallback):
         - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
           Clarified exception types.
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):
         - Clarified exception types and throwing of exceptions along all error code paths.
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::create):
         - Added necessary null checks during allocation.

2010-06-17  Shu Chang  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix the link error on symbian with ENABLE_JIT=0.
        1. Add "#if ENABLE(JIT)" in the header file;
        2. Put feature enable/disable logic to a common.pri so
        that both JavaScriptCore.pri and WebCore.pri can share.

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

        * WebCore.pri:

2010-06-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
        https://bugs.webkit.org/show_bug.cgi?id=40750

        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
        with JSC::throwTypeError() and throwSyntaxError. Changed
        CodeGeneratorV8.pm to use throwTypeError for overload resolution
        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
        instead of manual call to JSValue::encode. Deleted now-unnecessary
        Chromium expectations for fast/canvas/webgl/texImageTest.html.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwTypeError):
        (WebCore::V8Proxy::throwSyntaxError):
        * bindings/v8/V8Proxy.h:

2010-06-17  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        If Page::goToItem is passed a HistoryItem that is the current item,
        then the page should be loaded again.

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

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::recursiveGoToItem): Add a check to
        recursiveGoToItem that matches the one in FrameLoader::loadItem.

2010-06-17  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Build fix for DragDataBrew
        https://bugs.webkit.org/show_bug.cgi?id=40610

        http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
        Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.

        * platform/brew/DragDataBrew.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):

2010-06-17  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        Rename internalformat to internalFormat
        https://bugs.webkit.org/show_bug.cgi?id=40149

        * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
        (WebCore::WebGLFramebuffer::getColorBufferFormat):
        * html/canvas/WebGLRenderbuffer.cpp: Ditto.
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
        * html/canvas/WebGLRenderbuffer.h: Ditto.
        (WebCore::WebGLRenderbuffer::setInternalFormat):
        (WebCore::WebGLRenderbuffer::getInternalFormat):
        * html/canvas/WebGLRenderingContext.cpp: Ditto.
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
        * html/canvas/WebGLRenderingContext.h: Ditto.
        * html/canvas/WebGLTexture.cpp: Ditto.
        (WebCore::WebGLTexture::WebGLTexture):
        * html/canvas/WebGLTexture.h: Ditto.
        (WebCore::WebGLTexture::setInternalFormat):
        (WebCore::WebGLTexture::getInternalFormat):

2010-06-17  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        Remove input parameter validation for "level" upper limit in *tex* functions
        https://bugs.webkit.org/show_bug.cgi?id=40603

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.

2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Eric Seidel.

        Clean EFL header files in order to diminish the compilation time with
        EFL from subversion. We remove the EFL includes from header files and use
        forward declarations, including the headers in correspondent source
        files when needed. This causes only the needed source files to be
        recompiled in case a new version of EFL is installed instead of
        triggering a recompilation of almost all WebCore/WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40575

        No new functionalities, so no new tests.

        * CMakeListsEfl.txt:
        * platform/PlatformKeyboardEvent.h: forward declaration.
        * platform/PlatformMouseEvent.h: forward declaration and change method
        signature to not require enum.
        * platform/PlatformWheelEvent.h: forward declaration.
        * platform/Widget.h: forward declaration.
        * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
        * platform/efl/PlatformMouseEventEfl.cpp:
        (WebCore::PlatformMouseEvent::setClickCount): change method signature
        as mentioned above.
        * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
        * platform/efl/RenderThemeEfl.cpp: include needed header
        * platform/efl/RenderThemeEfl.h: forward declaration.
        * platform/efl/ScrollbarEfl.cpp: include needed header.
        * platform/efl/ScrollbarEfl.h: forward declaration.
        * platform/efl/WidgetEfl.cpp: include needed header.
        * platform/graphics/FloatRect.h: remove unused method.
        * platform/graphics/Icon.h: forward declaration.
        * platform/graphics/IntRect.h: remove unused method.
        * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
        implementing an unused method.
        * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
        implementing an unused method.

2010-06-17  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        Fixed a compile error in the paint() methods by making them use the
        new visitedDependentColor() method.
        https://bugs.webkit.org/show_bug.cgi?id=40327

        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child 
        was assumed to be a RenderMathMLBlock instance when that isn't the 
        case.  Also, layout() needed to mark the index for layout before 
        calling layout() on the index.
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Use adoptRef and create functions in more code paths
        https://bugs.webkit.org/show_bug.cgi?id=40760

        This helps prepare for an assertion that fires if you ref or destroy an
        object before calling adoptRef on it. That will help us catch mistakes
        that can lead to storage leaks.

        * WebCore.base.exp: Updated export now that Frame::create is not an
        inline function.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::createExplicit): Use create.
        (WebCore::CSSInitialValue::createImplicit): Ditto.
        (WebCore::CSSInitialValue::create): Added.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
        (WebCore::CSSPrimitiveValue::createUncachedColor): Added.
        (WebCore::CSSPrimitiveValue::createUncached): Added.
        (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
        instead of using new directly.
        (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
        of using new directly.
        (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
        new directly.
        * css/CSSPrimitiveValue.h: Declare the new functions above.

        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
        explicitly deleting it.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::SubresourceLoader): Move the call to
        addSubresourceLoader out of here.
        (WebCore::SubresourceLoader::create): Move it in here. This makes it so
        we don't ref the loader before finishing its creation and calling adoptRef.

        * page/Frame.cpp:
        (WebCore::Frame::Frame): Move the call to setMainFrame out of here.
        Also refactor the code so an assertion is easier to read.
        (WebCore::Frame::create): Move the call to setMainFrame in here.
        This makes it so we don't ref the frame before finishing its creation
        and calling adoptRef.
        * page/Frame.h: Made the create function non-inline.

        * platform/text/BidiContext.cpp:
        (WebCore::BidiContext::createUncached): Added.
        (WebCore::BidiContext::create): Call createUncached instead of callling
        new directly.
        * platform/text/BidiContext.h: Declare createUncached.

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
        RefPtr instead of OwnPtr. And use the create function instead of new.
        * rendering/RenderSVGResourceFilter.h: Ditto.
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGResourceContainer): Ditto.

        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
        StorageAreaSync::create out of here.
        (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
        don't ref the storage area before finishing its creation and calling adoptRef.

        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::defaultFill): Use create instead of new.
        (WebCore::SVGPaint::defaultStroke): Ditto.

        * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
        and added a create function since this is a reference counted object and
        should not be constructed directly.

2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Gustavo Noronha.

        Update CMake build system to use new script for generating source files
        with gperf (r61091).
        This updates also the build system to cope with recent changes to
        source files list.
        https://bugs.webkit.org/show_bug.cgi?id=40628

        No new tests since it's just compilation fixes.

        * CMakeLists.txt:

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Fix boolean reflected attributes to use empty string consistently for the content attribute value
        https://bugs.webkit.org/show_bug.cgi?id=40758

        Test: fast/dom/boolean-attribute-reflection.html

        The HTML5 specification and other browsers are all consistent:
        When setting a boolean IDL attribute to true, the attribute value
        gets set to the empty string. The guidelines for authors allow either
        the empty string or the name of the attribute, but for implementers
        of the DOM, the reflected attribute gets empty string.

        * dom/Element.cpp:
        (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
        attribute to the empty string.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
        not "autofocus".
        (WebCore::HTMLFormControlElement::setRequired): Use the empty string,
        not "required".

2010-06-17  Pavel Feldman  <pfeldman@chromium.org>

        Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.

        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
        (.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
        (.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
        (.WebInspector.InspectorBackendStub.prototype.addInspectedNode):

2010-06-17  Mark Brand  <mabrand@mabrand.nl>

        Reviewed by Simon Hausmann.

        [Qt] use "win32-g++*" scope to match all MinGW makespecs

        The scope "win32-g++" comes from the name of the makespec. However, it
        is frequently used to check for MinGW. This works fine as long as
        win32-g++ is the only makespec for MinGW. Now we need the wildcard
        to cover "win32-g++-cross" as well.

        * WebCore.pro:

2010-06-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joe Pecoraro.

        Web Inspector: move get/setOuterHTML, addInspectedNode and
        clearConsole to native InspectorDOMAgent. This is done to allow
        inspected nodes array to store nodes from different domains,
        also moves outerhtml manipulation closer to the rest of the DOM
        operations. In addition to that, we are slowly getting rid of
        InjectedScriptAccess in favor of IDL-defined InspectorBackend
        interface for clearer remote debugging API.

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

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::inspectedNode):
        * inspector/InjectedScriptHost.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::changeTagName):
        (WebCore::InspectorBackend::getOuterHTML):
        (WebCore::InspectorBackend::setOuterHTML):
        (WebCore::InspectorBackend::addInspectedNode):
        (WebCore::InspectorBackend::clearConsoleMessages):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::inspectedNode):
        (WebCore::InspectorDOMAgent::changeTagName):
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::addInspectedNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetOuterHTML):
        (WebCore::InspectorFrontend::didSetOuterHTML):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
        ():
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:

2010-06-17  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        Move the call to the notification presenter that a Notification is being
        destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
        method.

        Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
        https://bugs.webkit.org/show_bug.cgi?id=40097

        No new tests; code paths are well-covered by existing tests.

        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
        (WebCore::V8NotificationCenter::createNotificationCallback):
        * notifications/Notification.cpp:
        (WebCore::Notification::~Notification):
        (WebCore::Notification::contextDestroyed):
        * notifications/Notification.h:

2010-06-17  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.

        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
        https://bugs.webkit.org/show_bug.cgi?id=36702

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):

2010-05-28  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Simon Hausmann, Antti Koivisto

        Make repaint throttling parameters runtime configurable.
        https://bugs.webkit.org/show_bug.cgi?id=38401

        REPAINT_THROTTLING now chooses default values for throttling parameters.
        Should be removed when applications start using runtime configuration.

        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::updateDeferredRepaintDelay):
        (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
        (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
        (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
        (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
        * page/FrameView.h:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved

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

        setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
        work for DRT. So call it if we are in DRT mode and the window geometry
        has changed.

        Unskips plugins/reentrant-update-widget-positions.html

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):

2010-06-17  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Christiansen.

        [Qt] Avoid unnecessary calls to save() and restore() when drawing images

        Avoid calling the expensive save() and restore() on the GraphicsContext just
        for changing the composition mode. Instead save and restore it manually
        on QPainter.

        Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
        call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
        changed.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::toQtCompositionMode):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):

2010-06-16  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Simon Hausmann.

        [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
        https://bugs.webkit.org/show_bug.cgi?id=40567

        Avoid preventable crashes by ensuring gtk_init() is called in the
        flash viewer plugins before calling NP_Initialize.

        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::load):

2010-06-16  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by David Levin.

        Guarantee that references are held for CachedScripts in HTMLDocumentParser.
        https://bugs.webkit.org/show_bug.cgi?id=40177

        No new tests because no new functionality.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::reset):
        (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):

2010-06-16  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

         [Qt] Repeat pattern should start from origin
         https://bugs.webkit.org/show_bug.cgi?id=39225

         Patterns must be painted so that the top left of the first image 
         is anchored at the origin of the coordinate space.

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

2010-06-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] WebGL viewport does not show up on N900  
        https://bugs.webkit.org/show_bug.cgi?id=38528

        With OGLES2 add default precision to the shader code.
        Use GLsizeiptr and GLintptr with OGLES2.
        Call paint() in beginPaint() so that drawTexture() is used 
        whenever possible.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::beginPaint):
        (WebCore::GraphicsContext3D::paint):
        (WebCore::GraphicsContext3D::shaderSource):

2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial Navigation: refactor scrollInDirection to work with scrollable content
        https://bugs.webkit.org/show_bug.cgi?id=39195

        scrollInDirection now receives as parameter the node that the Spatial Navigation
        found as the more appropriated to move focus to. If it is in a scrollable container
        (e.g. <div> with clipped overflow content), it scrolls recursively starting from
        the container, not the current focused node.

        Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html

        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusDirectionally):
        * page/SpatialNavigation.cpp:
        (WebCore::scrollInDirection):
        * page/SpatialNavigation.h:

2010-06-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Eric Carlson

        <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
        ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()

        No new tests. (Discovered via crash reports, no reproducible cases noted)

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willCacheResponse):  Null check m_frame->settings(), 
          but also add an ASSERT so debug-build developers can learn more about why
          this might be happening.

2010-06-16  Darin Adler  <darin@apple.com>

        Try to fix the MathML build.

        * mathml/MathMLMathElement.h: Added missing return type.

2010-06-16  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Deploy adoptRef in more places, including all HTML and MathML elements
        https://bugs.webkit.org/show_bug.cgi?id=39941

        * dom/Element.cpp:
        (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
        in commented-out code.
        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.

        * dom/Node.h: Removed now-unused CreateElementZeroRefCount and
        CreateHTMLElementZeroRefCount.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::insertList): Use create instead of new, fixing
        a storage leak.

        * editing/ModifySelectionListLevel.cpp:
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
        Removed "WithType" from function name. Use create instead of new, fixing a
        storage leak.
        (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
        create instead of new, fixing a storage leak.

        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.

        * editing/ModifySelectionListLevel.h: Added create functions.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::HTMLMeterElement):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::HTMLProgressElement):
        Removed code to explicitly pass CreateHTMLElement construction type since that's
        now the type used for all HTML elements.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        * html/HTMLFormControlElement.h:
        Removed construction type argument, since CreateHTMLElement is now the type used
        for all HTML elements.

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::MathMLElement): Removed construction type of
        CreateStyledElementZeroRefCount so we'll use the default construction
        type, CreateStyledElement.
        (WebCore::MathMLElement::create): Use adoptRef.

        * mathml/MathMLElement.h: Made isMathMLElement function private and
        removed unneeded override of createRenderer, because it did the
        same thing as the base class's createRenderer function.

        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::create): Use adoptRef.
        (WebCore::MathMLInlineContainerElement::createRenderer):
        Removed unnecessarily initialization of local variable and removed the
        case for mathTag, since that uses a different derived class.

        * mathml/MathMLInlineContainerElement.h: Made createRenderrer override
        private.

        * mathml/MathMLMathElement.cpp:
        (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
        it is called in only one place.
        (WebCore::MathMLMathElement::create): Use adoptRef.
        (WebCore::MathMLMathElement::createRenderer): Added. Creates a
        RenderMathMLMath object.

        * mathml/MathMLMathElement.h: Made constructor private and added a
        private override of createRenderer.

        * mathml/MathMLTextElement.cpp:
        (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
        it is called in only one place.
        (WebCore::MathMLTextElement::create): Use adoptRef.
        (WebCore::MathMLTextElement::createRenderer): Changed to call through
        to the base class instead of calling RenderObject::createObject directly.

        * mathml/MathMLTextElement.h: Made the constructor and createRenderer
        function private.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
        Removed an unneeded initializer.

        * rendering/RenderProgress.cpp: Tweaked includes.

        * rendering/ShadowElement.cpp: Added a "using namespace" directive.
        * rendering/ShadowElement.h: Tweaked formatting. Made more functions
        private.

        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::create):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        (WebCore::HTMLAudioElement::createForJSConstructor):
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::create):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::create):
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::create):
        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::create):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::create):
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::create):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::create):
        * html/HTMLDListElement.cpp:
        (WebCore::HTMLDListElement::create):
        * html/HTMLDataGridCellElement.cpp:
        (WebCore::HTMLDataGridCellElement::create):
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::create):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::create):
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::create):
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::create):
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::create):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::create):
        * html/HTMLElement.h:
        (WebCore::HTMLElement::HTMLElement):
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::create):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::create):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::create):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::create):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::create):
        * html/HTMLHeadElement.cpp:
        (WebCore::HTMLHeadElement::create):
        * html/HTMLHeadingElement.cpp:
        (WebCore::HTMLHeadingElement::create):
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::create):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::create):
        (WebCore::HTMLImageElement::createForJSConstructor):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::create):
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::create):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::create):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::create):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::create):
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::create):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::create):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::create):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLMenuElement.cpp:
        (WebCore::HTMLMenuElement::create):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::create):
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::create):
        * html/HTMLNoScriptElement.cpp:
        (WebCore::HTMLNoScriptElement::create):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::create):
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::create):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::create):
        (WebCore::HTMLOptionElement::createForJSConstructor):
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::create):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::create):
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::create):
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::create):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::create):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::create):
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::create):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::create):
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::create):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::create):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::create):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::create):
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::create):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::create):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::create):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::create):
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::create):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::create):
        (WebCore::MediaControlElement::create):
        (WebCore::MediaControlTimelineContainerElement::create):
        (WebCore::MediaControlVolumeSliderContainerElement::create):
        (WebCore::MediaControlStatusDisplayElement::create):
        (WebCore::MediaControlMuteButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlSeekButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlTimeDisplayElement::create):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::create):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::create):
        (WebCore::TextControlInnerTextElement::create):
        (WebCore::SearchFieldResultsButtonElement::create):
        (WebCore::SearchFieldCancelButtonElement::create):
        (WebCore::SpinButtonElement::create):
        Use adoptRef.

2010-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 parser crash when setTimeout document.write after slow script
        https://bugs.webkit.org/show_bug.cgi?id=40726

        According to the HTML5 spec, we're supposed to open() a new document if
        we receive a document.write() after we've received EOF for the network.
        The old parser just dumped those bytes onto the end of the network
        stream.  After this patch, our behavior matches Minefield.

        Test: http/tests/misc/write-while-waiting.html

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentParser.h:
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::finishWasCalled):
        * dom/XMLDocumentParser.h:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::finishWasCalled):
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::InputStream::isClosed):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finishWasCalled):
        * html/HTMLDocumentParser.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageTokenizer::finishWasCalled):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::finishWasCalled):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::finishWasCalled):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::finishWasCalled):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::finishWasCalled):

2010-06-16  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] ClipboardGtk::setURL does not match the behavior of other platforms
        https://bugs.webkit.org/show_bug.cgi?id=40640

        Instead of writing URL labels to the text portion of the clipboard or
        drag-and-drop data, write the URL itself. Also escape the label text
        of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
        PasteboardGtk can share it.

        Tests for this issue will be activated when dropping support has been
        added to the GTK+ EventSender.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::setURL):
        Added. Write URL to the text portion and remember to escape the
        label when creating the markup portion.
        * platform/gtk/DataObjectGtk.h: Add declaration of new method.
        * platform/gtk/PasteboardGtk.cpp: 
        (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.

2010-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
        https://bugs.webkit.org/show_bug.cgi?id=40729

        This was a copy/paste error.  Yay for ASSERTs.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-16  Stuart Morgan  <stuartmorgan@chromium.org>

        Reviewed by Anders Carlsson.

        Bring npapi.h more in line with upstream npapi-headers version:
        - Remove obsolete XP_MAC sections.
        - Remove Metrowerks defines.
        - Add OS/2 defines.
        - Add Maemo defines.
        - Add new version of the custom Carbon event definitions.
        - Sync platform define style/details

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

        * bridge/npapi.h:

2010-06-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Allow transitions and animations of clip: rect
        https://bugs.webkit.org/show_bug.cgi?id=38130
        
        Make the CSS clip property animatable.

        Test: transitions/clip-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc): New blend function for LengthBox
        (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.

        * platform/LengthBox.h:
        (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setClip): New method that takes a LengthBox.

2010-06-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix clipping via CSS clip: with composited descendants
        https://bugs.webkit.org/show_bug.cgi?id=40579
        
        Consult the 'clip' style, as well as overflow, when creating clipping
        compositing layers.

        Tests: compositing/geometry/clip.html
               compositing/overflow/clip-descendents.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox): Utility function that returns the union of the clip and overflow
        boxes.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
        get the correct clipping rectangle.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
        clip as well as overflow.
        (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.

2010-06-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Undocked inspector toolbar is white
        https://bugs.webkit.org/show_bug.cgi?id=40644

        Make the html element 100% height so that we don't erase the background to white, after r61215.

        * inspector/front-end/inspector.css:
        (html):

2010-06-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Darin Adler.

        User scripts injected on start are not run on image documents.
        https://bugs.webkit.org/show_bug.cgi?id=40722
        <rdar://8087394>
        
        User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
        but this is never called from ImageDocument, so call it when we create a document element for
        our image document.

        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
            after creating our document element.

2010-06-16  Brady Eidson  <beidson@apple.com>

        Reviewed by NOBODY (Build fix for Mac)

        * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.

2010-06-16  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Eric Carlson.

        https://bugs.webkit.org/show_bug.cgi?id=40643
        
        Second of three steps - rename Canvas3DLayer to WebGLLayer

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/mac/Canvas3DLayer.h: Removed.
        * platform/graphics/mac/Canvas3DLayer.mm: Removed.
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
        * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
        * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.

2010-06-16  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=40643
        
        Rename GraphicsContext3DMac.cpp so it can interact with CALayer

        * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
        * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
        * WebCore.xcodeproj/project.pbxproj

2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Add new files, needed in SVG Text rewrite
        https://bugs.webkit.org/show_bug.cgi?id=40676

        Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
        in a later patch, completing the SVG Text rewrite, that will enable them.

        Doesn't affect any code for now, it should just reduce the review amount.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/SVGTextChunkLayoutInfo.cpp: Added.
        (WebCore::cummulatedWidthOrHeightOfTextChunk):
        (WebCore::cummulatedWidthOfTextChunk):
        (WebCore::cummulatedHeightOfTextChunk):
        (WebCore::calculateTextAnchorShiftForTextChunk):
        (WebCore::applyTextAnchorToTextChunk):
        (WebCore::calculateTextLengthCorrectionForTextChunk):
        (WebCore::applyTextLengthCorrectionToTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::startTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
        (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
        (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
        * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
        * rendering/SVGTextQuery.cpp: Added.
        (WebCore::SVGTextQuery::Data::Data):
        (WebCore::flowBoxForRenderer):
        (WebCore::mapLengthThroughChunkTransformation):
        (WebCore::SVGTextQuery::SVGTextQuery):
        (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
        (WebCore::SVGTextQuery::executeQuery):
        (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
        (WebCore::SVGTextQuery::measureCharacterRange):
        (WebCore::NumberOfCharactersData::NumberOfCharactersData):
        (WebCore::SVGTextQuery::numberOfCharactersCallback):
        (WebCore::SVGTextQuery::numberOfCharacters):
        (WebCore::TextLengthData::TextLengthData):
        (WebCore::SVGTextQuery::textLengthCallback):
        (WebCore::SVGTextQuery::textLength):
        (WebCore::SubStringLengthData::SubStringLengthData):
        (WebCore::SVGTextQuery::subStringLengthCallback):
        (WebCore::SVGTextQuery::subStringLength):
        (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
        (WebCore::SVGTextQuery::startPositionOfCharacter):
        (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
        (WebCore::SVGTextQuery::endPositionOfCharacter):
        (WebCore::RotationOfCharacterData::RotationOfCharacterData):
        (WebCore::SVGTextQuery::rotationOfCharacterCallback):
        (WebCore::SVGTextQuery::rotationOfCharacter):
        (WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
        (WebCore::SVGTextQuery::extentOfCharacterCallback):
        (WebCore::SVGTextQuery::extentOfCharacter):
        (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
        (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
        (WebCore::SVGTextQuery::characterNumberAtPosition):
        * rendering/SVGTextQuery.h: Added.

2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Provide floating-point support for text selection framework
        https://bugs.webkit.org/show_bug.cgi?id=40665

        This is the first chunk of the SVG Text rewrite patches.
        offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
        of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
        selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
        Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.

        Add a glyphScale parameter to TextRun, that will be used to support text selection
        in lengthAdjust/textLength scenarios in SVG text, soon.

        Doesn't affect any testcases so far. HTML is not affected in any way,
        as it only ever passes integers to these functions.

        * platform/graphics/Font.cpp:
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::offsetForPositionForSimpleText):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::glyphScale):
        (WebCore::TextRun::setGlyphScale):
        (WebCore::TextRun::applyGlyphScaling):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/efl/FontEfl.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/haiku/FontHaiku.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::offsetForPosition):
        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::offsetForPositionForSimpleText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/win/FontWin.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/wince/FontWince.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/wx/FontWx.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * svg/SVGFont.cpp:
        (WebCore::Font::selectionRectForTextUsingSVGFont):
        (WebCore::Font::offsetForPositionForTextUsingSVGFont):

2010-06-16  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] Introduce single element caches for WebCore::String to v8::String conversions
        https://bugs.webkit.org/show_bug.cgi?id=40435
        Measurements show that for some web apps (GMail, Wave) and some scenarios
        (intensive reading and/or keeping a tab open for a long time),
        hit rate lies in 30--50% interval.
        Inlining fast case gives another minor performance win.

        * bindings/v8/V8Binding.cpp:
        (WebCore::getStringCache):
        (WebCore::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString):

2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Kenneth Christiansen.

        Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
        https://bugs.webkit.org/show_bug.cgi?id=39439

        As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
        "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
        that's just the distance from the offsetParent, not the absolute position".

        Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
        starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
        because all tests were done in htmls where the {i}frame element was a directly a child of the body,
        e.g. <html>...<body><iframe src=xxx>....<body></html>.

        Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html

        * page/SpatialNavigation.cpp:
        (WebCore::renderRectRelativeToRootDocument):

2010-06-16  Dan Bernstein  <mitz@apple.com>

        Try to fix the Tiger build

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph):

2010-06-16  Dan Bernstein  <mitz@apple.com>

        Try to fix the Tiger build

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph):

2010-06-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
        https://bugs.webkit.org/show_bug.cgi?id=40386

        Test: platform/mac/fast/text/x-height.html

        The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
        -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
        correctly.
        (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
        as well.

2010-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Don't crash when a document ends with an entity
        https://bugs.webkit.org/show_bug.cgi?id=40658

        When we SWITCH_TO a state, we're expecting our caller to have advanced
        the source.  Rather than have all the callers check for empty, we do
        that ourselves.

        * html/HTML5Lexer.cpp:

2010-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Enable HTML5 lexer
        https://bugs.webkit.org/show_bug.cgi?id=40650

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2010-06-15  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by David Harrison.

        sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
        Explicitly initialize it to null, just to be safe.

        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):

2010-06-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation

        Back/forward navigation currently does not create or update items in the global history. This is usually
        desirable, except for in the event where the back/forward list was created programmatically and attached
        to the WebView and the initial load in that WebView is being performed as a result of a back/forward
        navigation. In that situation it is preferable to ensure that global history item is created or updated.

        No test case is added because DumpRenderTree is not able to test the scenario where the initial
        load in a WebView occurs via a back/forward navigation.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
        back/forward navigation then we should update the history as if it were a standard load, with the
        exception of updating the back/forward list.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
        the back/forward list.
        * loader/HistoryController.h:
        (WebCore::HistoryController::):

2010-06-15  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Fix compilation errors in BlobBuilder with FILE_WRITER enabled
        https://bugs.webkit.org/show_bug.cgi?id=40606

        No functionality change so no new tests.

        * html/BlobBuilder.cpp:
        * html/BlobBuilder.h:

2010-06-15  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Move type attribute from File.idl to Blob.idl per latest File API spec.
        https://bugs.webkit.org/show_bug.cgi?id=40642

        * html/Blob.idl:
        * html/File.idl:

2010-06-15  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Move functions out of Frame class that were marked "move to Chrome"
        https://bugs.webkit.org/show_bug.cgi?id=39636

        Refactoring that does not require new tests.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
        on DOMWindow rather than going through Frame.
        (WebCore::FrameLoader::open): Ditto.
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
        shouldClose on this object instead of going through Frame.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
        shouldClose on FrameLoader instead of going through Frame.
        (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
        in here.
        (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
        in here.
        (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
        in here.
        (WebCore::DOMWindow::setStatus): Moved the code from
        Frame::setJSStatusBarText in here.
        (WebCore::DOMWindow::setDefaultStatus): Moved the code from
        Frame::setJSDefaultStatusBarText in here.

        * page/DOMWindow.h: Added m_status and m_defaultStatus members to
        store the status messages being set by the DOM.

        * page/Frame.cpp: Removed all the functions that were marked
        "to be moved into Chrome".
        * page/Frame.h: Ditto.

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Fix crashing tests; need to check for null documentElement().

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Garbage shown outside HTML if HTML is absolutely positioned
        https://bugs.webkit.org/show_bug.cgi?id=36163
        
        Add a check that the root renderer (the document element's renderer) covers
        the entire viewport before deciding that we don't need the RenderView
        to paint its background. Fixes lack of painting with positioned, floated, and
        display: table html elements.

        Test: fast/repaint/positioned-document-element.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Safari 5 does not clear background with transformed html element
        https://bugs.webkit.org/show_bug.cgi?id=40498
        
        When the document element is composited, ensure that the FrameView
        paints the background, because the composited layer may be transparent,
        or might get moved via animation.

        Test: compositing/repaint/composited-document-element.html

        * rendering/RenderView.cpp:
        (WebCore::isComposited):
        (WebCore::rendererObscuresBackground):

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        * platform/gtk/GtkVersioning.h:

2010-06-15  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        Introduce HistoryItem::itemSequenceNumber and use it to identify
        HistoryItems that are clones of one another.

        Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
        equality instead of isTargetItem as the pre-requisite for not calling
        FrameLoader::loadItem.

        Changes FrameLoader::loadItem to require equivalent
        documentSequenceNumber before initiating a same document navigation.
        This alone would appear to fix the bug, but it does not go far enough
        since without the itemSequenceNumber equality check, we'd re-load more
        often than we should.

        Moves documentSequenceNumber assignment into createItemTree as cleanup
        and to ensure that it gets called properly whenever we create a cloned
        HistoryItem.  (createItemTree's mission is to create clones up until
        or including the target frame depending on the value of the doClip
        parameter.)

        Removes the now unused HistoryController::urlsMatchItem.

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

        Test: fast/history/history-back-within-subframe.html
              http/tests/navigation/history-back-across-form-submission-to-fragment.html

        * history/HistoryItem.cpp:
        (WebCore::generateSequenceNumber):
        (WebCore::HistoryItem::HistoryItem):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::setItemSequenceNumber):
        (WebCore::HistoryItem::itemSequenceNumber):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
        (WebCore::HistoryController::createItemTree):
        (WebCore::HistoryController::recursiveGoToItem):
        (WebCore::HistoryController::pushState):
        * loader/HistoryController.h:

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Does not compile with -DGSEAL_ENABLE
        https://bugs.webkit.org/show_bug.cgi?id=37851

        Fix compilation with GSEAL_ENABLE.

        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show):
        * platform/gtk/ScrollbarGtk.cpp:
        (ScrollbarGtk::detachAdjustment):
        (ScrollbarGtk::updateThumbPosition):
        (ScrollbarGtk::updateThumbProportion):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::paint):
        (WebCore::PluginView::initXEvent):
        (WebCore::PluginView::platformGetValue):
        (WebCore::PluginView::platformStart):
        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_realize):
        (gtk_xtbin_new):
        (gtk_xtbin_set_position):
        (gtk_xtbin_unrealize):

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix.

        Fix the build when WebSockets are disabled.

        * bindings/js/JSWorkerContextCustom.cpp:

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        YouTube thumbnail borders vanish during transition
        https://bugs.webkit.org/show_bug.cgi?id=40551
        
        Turn off the direct image optimization if the image has a clip style, so that is is
        correctly rendered with the clip.

        Test: compositing/images/clip-on-directly-composited-image.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):

2010-06-15  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
        https://bugs.webkit.org/show_bug.cgi?id=40623

        * bindings/v8/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
        not much to inspect.

2010-06-15  Adam Roben  <aroben@apple.com>

        Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds

        Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.

        Reviewed by Sam Weinig.

        * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
        DerivedSources directory to AppleInternal/Sources/WebCore.

2010-06-15  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Bring framebuffer functions to GLES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=40175

        Test: fast/canvas/webgl/framebuffer-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
        (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
        * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.

2010-06-15  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by David Levin.

        Buildfix for ResourceHandleWin after r24202 and r55542.
        https://bugs.webkit.org/show_bug.cgi?id=32963

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onHandleCreated):
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::transferJobStatusCallback):
        (WebCore::ResourceHandle::start):

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

        Reviewed by Joe Pecoraro.

        Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.

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

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

2010-06-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] The qt_webkit_version.pri file gets overwritten on install
        https://bugs.webkit.org/show_bug.cgi?id=40487

        Don't install qt_webkit_version.pri when building WebKit inside of Qt.
        The import of WebKit into Qt will take care of providing the file
        in mkspecs/modules and it'll be installed through projects.pro.

        * WebCore.pro:

2010-06-15  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        resolve urls in text/html clipboard data
        https://bugs.webkit.org/show_bug.cgi?id=40044

        Allow text/html data copied from a page to contain full URLs when
        dragging or copy/pasting.

        Tests: editing/pasteboard/copy-resolves-urls.html
               http/tests/misc/copy-resolves-urls.html

        * WebCore.base.exp:
        * editing/markup.cpp:
        (WebCore::appendStartMarkup):
        (WebCore::getStartMarkup):
        (WebCore::MarkupAccumulator::appendMarkup):
        (WebCore::createMarkup):
        * editing/markup.h:
        (WebCore::):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::writeRange):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::writeRange):
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::markup):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeSelection):
        * platform/haiku/PasteboardHaiku.cpp:
        (WebCore::Pasteboard::writeSelection):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::writeRange):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):

2010-06-14  Chris Fleizach  <cfleizach@apple.com>

        No review. GTK build fix.

        AX: need ListItemRole and PresentationalRole
        https://bugs.webkit.org/show_bug.cgi?id=40133

        Mostly speculative fix to make GTK unit tests work.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (atkRole):
        (webkit_accessible_get_role):

2010-06-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8090895> Update http streaming MIME types

        * platform/MIMETypeRegistry.cpp:
        (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.

2010-06-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        audio/x-mp3 MIME type not recognized
        <rdar://problem/7875393>
        https://bugs.webkit.org/show_bug.cgi?id=40594
        
        Allow MIMETypeRegistry to have more than one MIME type for a
        media file extension, and have the QTKit media engine register
        all MIME types it can find for each file type QTKit supports.

        Test: media/media-can-play-mp3.html

        * platform/MIMETypeRegistry.cpp:
        (WebCore::mediaMIMETypeMap): Update for new HashMap format.
        (WebCore::TypeExtensionPair::): Store String+Vector<String>
        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
        mediaMIMETypeMap(), it has the canonical answer.
        (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
        a Vector of all MIME types for an extension.
        * platform/MIMETypeRegistry.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::addFileTypesToCache): Add all MIME types returned in the 
        getMediaMIMETypesForExtension Vector.

2010-06-14  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder

        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
        not be the case with some versions of SQLite. Instead we must null-check before dereferencing.

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Fix Tiger build.

        * plugins/mac/PluginDataMac.mm:

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Use an array for extensions in MimeClassInfo
        https://bugs.webkit.org/show_bug.cgi?id=40602

        Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.

        * plugins/MimeType.cpp:
        (WebCore::MimeType::suffixes):
        Create a string of joined extensions.

        * plugins/MimeType.h:
        * plugins/PluginData.h:
        (WebCore::operator==):
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::getPluginMimeTypeFromExtension):
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-06-14  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Add an include to try to fix Chromium build.

        * html/HTML5DocumentParser.cpp:

2010-06-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Safari beach-balls loading large pages with HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40596

        Implement parser yielding, similar to how the old
        HTMLDocumentParser yields.

        This implementation re-uses the tokenizerTimeDelay and
        tokenizerChunkSize settings even though they don't map exactly
        to the token loop that the HTML5 parser uses.

        * dom/DocumentParser.h:
         - Add a FIXME for processingData() and clarify how the
           appendData flag is used by renaming it to isFromNetwork.
        * html/HTML5DocumentParser.cpp:
        (WebCore::parserTimeLimit):
         - Defaults accessor, probably belongs on Page.
        (WebCore::parserChunkSize):
         - Defaults accessor, probably belongs on Page.
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::stopParsing):
         - Stop the continue-parsing timer if active.
        (WebCore::HTML5DocumentParser::processingData):
         - Implement this poorly understood accessor to match
           the old parser's behavior.  It's unclear what this does
           and it does not affect any layout tests to my knowledge
           but likely affects the WebKit API in some way.
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
         - Pass SynchronousMode.
         - Do not ever pump if we've yielded to the timer.
        (WebCore::HTML5DocumentParser::PumpSession::PumpSession):
         - A struct for storing the yield counters.
        (WebCore::HTML5DocumentParser::shouldContinueParsing):
         - Mostly matches HTMLDocumentParser::shouldContinueParsing.
        (WebCore::HTML5DocumentParser::pumpLexer):
         - Respect SynchronousMode.
         - ASSERT that a timer is not scheduled if we're pumping.
        (WebCore::isLayoutTimerActive):
         - This belongs on Document.
        (WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
        (WebCore::HTML5DocumentParser::write):
        (WebCore::HTML5DocumentParser::end):
         - We should never end() if a timer is still outstanding.
        (WebCore::HTML5DocumentParser::attemptToEnd):
        (WebCore::HTML5DocumentParser::endIfDelayed):
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::):
        * html/HTMLDocumentParser.cpp:
         - Clarify the old TimeDelay and ChunkSize constants.

2010-06-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add a preload scanner for the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40557

        This patch adds a simple preload scanner for the HTML5 parser.  This
        preload scanner is not as awesome as the old one because it doesn't
        scan CSS, but it's much simpler.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            - Build file torture.
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::write):
            - Call into the preload scanner when waiting for a script.
        * html/HTML5DocumentParser.h:
        * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
        (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
        (WebCore::HTML5PreloadScanner::scan):
            - A simple loop to pump the preload scanner's lexer.
        (WebCore::HTML5PreloadScanner::processToken):
            - Preload interesting resources.  Stolen from the old preload
              scanner.
        (WebCore::HTML5PreloadScanner::scanningBody):
        * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.

2010-06-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Constify some HTML5Token methods
        https://bugs.webkit.org/show_bug.cgi?id=40592

        I keep wanting these methods to be const.  Eric wanted this in a
        separate patch.

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::state):
        * html/HTML5Token.h:
        (WebCore::HTML5Token::attributes):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::comment):
        (WebCore::HTML5Token::publicIdentifier):
        (WebCore::HTML5Token::systemIdentifier):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::adjustedLexerState):
            - Technically, this might belong in the other patch, but I think
              it's fine here.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTML5TreeBuilder.h:

2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, build fix.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Remove accidental specifying of the class name twice.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.

2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Get DatabaseTracker ready for sync DBs.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::~AbstractDatabase):
        * storage/AbstractDatabase.h:
        * storage/Database.cpp:
        (WebCore::Database::closeImmediately):
        * storage/Database.h:
        (WebCore::Database::scriptExecutionContext):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
        (WebCore::DatabaseTracker::databaseChanged):
        (WebCore::DatabaseTracker::addOpenDatabase):
        (WebCore::DatabaseTracker::removeOpenDatabase):
        (WebCore::DatabaseTracker::getOpenDatabases):
        (WebCore::DatabaseTracker::deleteDatabaseFile):
        * storage/DatabaseTracker.h:
        * storage/OriginQuotaManager.cpp:
        (WebCore::OriginQuotaManager::markDatabase):
        * storage/OriginQuotaManager.h:
        * storage/chromium/DatabaseObserver.h:
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        (WebCore::TrackerRemoveOpenDatabaseTask::create):
        (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
        (WebCore::DatabaseTracker::removeOpenDatabase):
        (WebCore::DatabaseTracker::getOpenDatabases):
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):

2010-06-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=40529
        eventSender.keyDown("delete") incorrectly sends a backspace on some platforms

        * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        Use virtual key code to force correct character code for clarity. Also, reworded comment,
        since saying that "backspace needs to always be 8" misleadingly implied that it could
        "sometimes" be such without this code.

2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Refactor form submission code in HTMLFormElement to add clarity.
        https://bugs.webkit.org/show_bug.cgi?id=39430

        Covered by existing tests in fast/forms/mailto.

        * html/HTMLFormElement.cpp:
        (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
            removed clearing out of the FormData and moved it to a new place (next to the call site).
        (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
            prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
        (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
        * html/HTMLFormElement.h: Renamed createFormData to prepareFormData.

2010-06-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: need ListItemRole and PresentationalRole
        https://bugs.webkit.org/show_bug.cgi?id=40133

        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isListItem):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove pluginIndex from MimeClassInfo
        https://bugs.webkit.org/show_bug.cgi?id=40588

        * plugins/PluginData.h:
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-06-14  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
        https://bugs.webkit.org/show_bug.cgi?id=36903

        No new tests; they will be added when we add jsc bindings.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp: Added.
        * html/BlobBuilder.h: Added.
        (WebCore::BlobBuilder::create):
        * platform/BlobItem.cpp:
        (WebCore::StringBlobItem::convertToCString): Added EndingNative support.
        * platform/BlobItem.h: Added EndingNative line-ending type.
        (WebCore::):

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Stop using MimeClassInfo::pluginIndex
        https://bugs.webkit.org/show_bug.cgi?id=40582

        Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.

        * plugins/MimeType.cpp:
        (WebCore::MimeType::enabledPlugin):
        Get the plug-in index from the mimePluginIndices vector.
        
        * plugins/Plugin.cpp:
        (WebCore::Plugin::item):
        Compare the mime plugin index as well.
        
        * plugins/PluginData.cpp:
        (WebCore::PluginData::PluginData):
        Populate the m_mimePluginIndices vector.

        (WebCore::PluginData::pluginNameForMimeType):
        Get the plug-in index from the m_mimePluginIndices vector.

        * plugins/PluginData.h:
        (WebCore::operator==):
        Don't check for pluginIndex.

        (WebCore::PluginData::mimePluginIndices):
        Add getter for m_mimePluginIndices.

2010-06-14  Sam Weinig  <sam@webkit.org>

        Better build fix.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Another windows build fix.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Another build fix.

        * bindings/js/JSDOMWindowCustom.cpp:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Add missing comma to fix GTK build.

        * xml/XSLTProcessor.idl:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
        Auto-generate most of the JS constructors

        - Auto-generates all the JS constructors that don't have custom
          names (eg, Not Image(), Audio() or Option())
        - Fixes two typos.
            (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
            (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSArrayBufferConstructor.cpp: Removed.
        * bindings/js/JSArrayBufferConstructor.h: Removed.
        * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSEventSourceConstructor.cpp: Removed.
        * bindings/js/JSEventSourceConstructor.h: Removed.
        * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
        (WebCore::JSEventSourceConstructor::constructJSEventSource):
        * bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
        * bindings/js/JSFloat32ArrayConstructor.h: Removed.
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
        * bindings/js/JSInt16ArrayConstructor.cpp: Removed.
        * bindings/js/JSInt16ArrayConstructor.h: Removed.
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
        * bindings/js/JSInt32ArrayConstructor.cpp: Removed.
        * bindings/js/JSInt32ArrayConstructor.h: Removed.
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
        * bindings/js/JSInt8ArrayConstructor.cpp: Removed.
        * bindings/js/JSInt8ArrayConstructor.h: Removed.
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
        * bindings/js/JSMessageChannelConstructor.cpp: Removed.
        * bindings/js/JSMessageChannelConstructor.h: Removed.
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
        * bindings/js/JSSharedWorkerConstructor.cpp: Removed.
        * bindings/js/JSSharedWorkerConstructor.h: Removed.
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        * bindings/js/JSUint16ArrayConstructor.cpp: Removed.
        * bindings/js/JSUint16ArrayConstructor.h: Removed.
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
        * bindings/js/JSUint32ArrayConstructor.cpp: Removed.
        * bindings/js/JSUint32ArrayConstructor.h: Removed.
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
        * bindings/js/JSUint8ArrayConstructor.cpp: Removed.
        * bindings/js/JSUint8ArrayConstructor.h: Removed.
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
        * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
        * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
        * bindings/js/JSWebKitPointConstructor.cpp: Removed.
        * bindings/js/JSWebKitPointConstructor.h: Removed.
        * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
        (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
        * bindings/js/JSWebSocketConstructor.cpp: Removed.
        * bindings/js/JSWebSocketConstructor.h: Removed.
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/JSWorkerConstructor.cpp: Removed.
        * bindings/js/JSWorkerConstructor.h: Removed.
        * bindings/js/JSWorkerContextCustom.cpp:
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorkerConstructor::constructJSWorker):
        * bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
        * bindings/js/JSXSLTProcessorConstructor.h: Removed.
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/WebKitCSSMatrix.idl:
        * dom/MessageChannel.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * page/EventSource.idl:
        * page/WebKitPoint.idl:
        * websockets/WebSocket.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl:
        * xml/XSLTProcessor.idl:

2010-05-16  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed naming fixes of local variables used in Spatial Navigation methods.

        Summary:
            * "candidate" renamed to "node";
            * "currentFocusCandidate" renamed to "candidate"
            * "closestFocusCandidate" renamed to "closest"

        That way naming is more consistent in the various Spatial Navigation methods.

        * page/FocusController.cpp:
        (WebCore::FocusController::findFocusableNodeInDirection):
        (WebCore::FocusController::deepFindFocusableNodeInDirection):

2010-06-14  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser and Kenneth Christiansen.

        Spatial Navigation: make it work with focusable elements in overflow content
        https://bugs.webkit.org/show_bug.cgi?id=36463

        This patch addresses the problem with Spatial Navigation. It currently does not
        properly traverse scrollable contents, including scrollable div's. For this to work,
        a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
        keeps track of the current scrollable box Node wrapping a FocusCandidate.

        To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
        (FocusController::findNextFocusableInDirection) was changed as follows: when it
        encounters a scrollable Node, each focusable node which is 'inner' keeps track of
        the container reference. By the time a sibling of the scrollable Node is encountered,
        there is no need to track this reference any more and the traversal algorithm continues
        normally.

        The common case is obviously that there is no scrollable container wrapping it.

        updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
        newly introduced enclosingScrollableBox class member, getting simpler and more
        easily maintainable.

        Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
               fast/events/spatial-navigation/snav-clipped-overflow-content.html

        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateInSameContainer):
        (WebCore::updateFocusCandidateIfCloser):
        (WebCore::FocusController::findFocusableNodeInDirection):
        (WebCore::FocusController::deepFindFocusableNodeInDirection):
        * page/SpatialNavigation.cpp:
        (WebCore::isScrollableContainerNode):
        * page/SpatialNavigation.h:
        (WebCore::FocusCandidate::FocusCandidate):
        (WebCore::FocusCandidate::isInScrollableContainer):

2010-06-14  Jian Li  <jianli@chromium.org>

        Unreviewed. Fix build break in GTK.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:

2010-06-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: AXUnknown objects are being returned
        https://bugs.webkit.org/show_bug.cgi?id=40574

        Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html

        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

2010-06-14  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        Fix code generators to better support Conditional attribute and add test
        coverage for it.
        https://bugs.webkit.org/show_bug.cgi?id=39512

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_conditional_attr1):
        (webkit_dom_test_obj_set_conditional_attr1):
        (webkit_dom_test_obj_get_conditional_attr2):
        (webkit_dom_test_obj_set_conditional_attr2):
        (webkit_dom_test_obj_get_conditional_attr3):
        (webkit_dom_test_obj_set_conditional_attr3):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjConditionalAttr1):
        (WebCore::jsTestObjConditionalAttr2):
        (WebCore::jsTestObjConditionalAttr3):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj conditionalAttr1]):
        (-[DOMTestObj setConditionalAttr1:]):
        (-[DOMTestObj conditionalAttr2]):
        (-[DOMTestObj setConditionalAttr2:]):
        (-[DOMTestObj conditionalAttr3]):
        (-[DOMTestObj setConditionalAttr3:]):
        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        * bindings/scripts/test/V8/V8TestInterface.h:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::conditionalAttr1AttrGetter):
        (WebCore::TestObjInternal::conditionalAttr1AttrSetter):
        (WebCore::TestObjInternal::conditionalAttr2AttrGetter):
        (WebCore::TestObjInternal::conditionalAttr2AttrSetter):
        (WebCore::TestObjInternal::conditionalAttr3AttrGetter):
        (WebCore::TestObjInternal::conditionalAttr3AttrSetter):
        (WebCore::):

2010-06-14  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
        Using IntSize loses precision and fails the test.
        Note: This code change fixes Qt port but Mac is still failing due to
        platform issue.

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

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::applyShadow):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::getShadow):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::drawFilledShadowPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

2010-06-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7752961> Unevenly distributed space in justified text
        https://bugs.webkit.org/show_bug.cgi?id=36105

        Test: fast/text/justify-padding-distribution.html

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
        padding and the number of spaces rather than truncating it.
        (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
        between its old and new values, when rounded, to the advance.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::UniscribeController):
        (WebCore::UniscribeController::shapeAndPlaceItem):
        * platform/graphics/win/UniscribeController.h:

2010-06-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Stack overflow when converting navigator object to QVariant
        https://bugs.webkit.org/show_bug.cgi?id=40572

        Protect against infinite recursion in JSValue->QVariant conversion.
        This fixes a crash when trying to convert MimeType objects (they
        recurse infinitely and on-the-fly via the enabledPlugin property.)

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2010-06-14  Yong Li  <yoli@rim.com>

        Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>

        Reviewed by Darin Adler.

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

        Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
        There's no reason why we suspend all active DOM timers on the page but not suspend
        this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.

        It can only be tested manually.
        * manual-tests/load-deferrer-script-element.html: Added.
        * manual-tests/resources/load-deferrer-script-element.js: Added.

        * dom/Document.cpp:
        (WebCore::Document::executeScriptSoon):
        (WebCore::Document::suspendExecuteScriptSoonTimer): Added.
        (WebCore::Document::resumeExecuteScriptSoonTimer): Added.
        * dom/Document.h:
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Platform plugin support for Notifications UI
        https://bugs.webkit.org/show_bug.cgi?id=40005

        To avoid race condition when GC is run during shutdown,
        disconnect the Notification from the NotificationPresenter
        when the presenter deletes itself.
        This cannot be tested by a layout test, the race condition happens only
        when GC is run during shutdown. It can be tested manually by loading
        manually any notification test and closing the browser.

        * notifications/Notification.cpp:
        (WebCore::Notification::~Notification):
        * notifications/Notification.h:
        (WebCore::Notification::detachPresenter):

2010-06-08  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Adds IndexedDB's KeyRange.
        https://bugs.webkit.org/show_bug.cgi?id=40250

        Test: storage/indexeddb/idb-keyrange.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/IDBKeyRange.cpp: Added.
        (WebCore::IDBKeyRange::IDBKeyRange):
        * storage/IDBKeyRange.h: Added.
        (WebCore::IDBKeyRange::):
        (WebCore::IDBKeyRange::create):
        (WebCore::IDBKeyRange::~IDBKeyRange):
        (WebCore::IDBKeyRange::left):
        (WebCore::IDBKeyRange::right):
        (WebCore::IDBKeyRange::flags):
        * storage/IDBKeyRange.idl: Added.
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
        (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
        (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
        (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        And another.

        * storage/IndexedDatabaseRequest.h:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        More build fixes.

        * storage/IndexedDatabaseRequest.h:

2010-06-14  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] navigator.geolocation support for Qt port
        https://bugs.webkit.org/show_bug.cgi?id=39724

        Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.

        * WebCore.pri:
        * WebCore.pro:
        * platform/qt/GeolocationServiceQt.cpp: Added.
        (WebCore::GeolocationServiceQt::create):
        (WebCore::GeolocationServiceQt::GeolocationServiceQt):
        (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
        (WebCore::GeolocationServiceQt::positionUpdated):
        (WebCore::GeolocationServiceQt::startUpdating):
        (WebCore::GeolocationServiceQt::stopUpdating):
        * platform/qt/GeolocationServiceQt.h: Added.
        (WebCore::GeolocationServiceQt::lastPosition):
        (WebCore::GeolocationServiceQt::lastError):

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        2 more build fixes.

        * storage/IDBDatabaseImpl.h:
        * storage/IndexedDatabaseRequest.h:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed build fix for my last.

        * workers/WorkerScriptLoaderClient.h:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Clean up SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=40482

        SerializedScriptValue doesn't follow WebKit's style guidelines very well
        and needlessly inlines quite a bit within the .h file. This change cleans
        things up. No funcitonal changes.

        No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:

2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
        data from inspected page to WebInspector as JSON string via http. The native
        serialization to JSON string is supported by InspectorValue's classes. This patch
        has the implementation of sendMessageToFrontend function. WebKit version of it still
        uses ScriptFunctionCall and will be switched to another transport a little bit later.
        https://bugs.webkit.org/show_bug.cgi?id=40134

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatchMessageToFrontend):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::sendMessageToFrontend):

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        Reenable IDBDatabaseRequest's description attribute
        https://bugs.webkit.org/show_bug.cgi?id=39826

        On the 26th, Beth commented out the description attribute in
        IDBDatabaseRequest because it was causing problems with the
        objective c bindings.  Turns out that this is the same bug as
        in http://trac.webkit.org/changeset/19486.  (Thanks for the
        pointer, Mark!)
 
        The solution is to change the objective C bindings generator
        to change the name in the generated code.  id and hash both
        just appended "Name" to them in the past.  I couldn't think
        of anything else particularly better to append, so I just
        went with name as well.

        Test: building the world works on the first try.  Layout
              test verifies description works again.

        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_description):
        (webkit_dom_test_obj_get_id):
        (webkit_dom_test_obj_set_id):
        (webkit_dom_test_obj_get_hash):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjDescription):
        (WebCore::jsTestObjId):
        (WebCore::jsTestObjHash):
        (WebCore::setJSTestObjId):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj descriptionName]):
        (-[DOMTestObj idName]):
        (-[DOMTestObj setIdName:]):
        (-[DOMTestObj hashName]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::descriptionAttrGetter):
        (WebCore::TestObjInternal::idAttrGetter):
        (WebCore::TestObjInternal::idAttrSetter):
        (WebCore::TestObjInternal::hashAttrGetter):
        (WebCore::):
        * storage/IDBDatabaseRequest.idl:

2010-06-13  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ScreenQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39766

        * platform/qt/ScreenQt.cpp:

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename HTMLParser to LegacyHTMLTreeConstructor
        https://bugs.webkit.org/show_bug.cgi?id=40554

        This makes our old HTML parsing system closer match the
        HTML5 spec, and thus easier to compare to the new HTML5
        parsing system.

        This rename was entirely automatic.  Done by do-webcore-rename.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::htmlTreeConstructor):
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::htmlTreeConstructor):
        * html/HTML5DocumentParser.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLInputElement.cpp:
        * html/HTMLMeterElement.cpp:
        * html/HTMLProgressElement.cpp:
        * html/LegacyHTMLTreeConstructor.cpp: Renamed from WebCore/html/HTMLParser.cpp.
        (WebCore::addTags):
        (WebCore::HTMLStackElem::HTMLStackElem):
        (WebCore::HTMLStackElem::derefNode):
        (WebCore::LegacyHTMLTreeConstructor::LegacyHTMLTreeConstructor):
        (WebCore::LegacyHTMLTreeConstructor::~LegacyHTMLTreeConstructor):
        (WebCore::LegacyHTMLTreeConstructor::reset):
        (WebCore::LegacyHTMLTreeConstructor::setCurrent):
        (WebCore::tagPriorityOfNode):
        (WebCore::LegacyHTMLTreeConstructor::limitDepth):
        (WebCore::LegacyHTMLTreeConstructor::insertNodeAfterLimitDepth):
        (WebCore::LegacyHTMLTreeConstructor::parseToken):
        (WebCore::LegacyHTMLTreeConstructor::parseDoctypeToken):
        (WebCore::isTableSection):
        (WebCore::isTablePart):
        (WebCore::isTableRelated):
        (WebCore::isScopingTag):
        (WebCore::LegacyHTMLTreeConstructor::insertNode):
        (WebCore::LegacyHTMLTreeConstructor::handleError):
        (WebCore::LegacyHTMLTreeConstructor::textCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::commentCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::headCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::bodyCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::framesetCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::formCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::isindexCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::selectCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::ddCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::dtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::rpCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::rtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::nestedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::nestedPCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::nestedStyleCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::tableCellCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::tableSectionCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::noembedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::noframesCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::noscriptCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::pCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::pCloserStrictCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::mapCreateErrorCheck):
        (WebCore::mapTagToFunc):
        (WebCore::mapTagsToFunc):
        (WebCore::LegacyHTMLTreeConstructor::getNode):
        (WebCore::LegacyHTMLTreeConstructor::allowNestedRedundantTag):
        (WebCore::LegacyHTMLTreeConstructor::processCloseTag):
        (WebCore::LegacyHTMLTreeConstructor::isHeadingTag):
        (WebCore::LegacyHTMLTreeConstructor::isInline):
        (WebCore::LegacyHTMLTreeConstructor::isResidualStyleTag):
        (WebCore::LegacyHTMLTreeConstructor::isAffectedByResidualStyle):
        (WebCore::LegacyHTMLTreeConstructor::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::LegacyHTMLTreeConstructor::reopenResidualStyleTags):
        (WebCore::LegacyHTMLTreeConstructor::pushBlock):
        (WebCore::LegacyHTMLTreeConstructor::popBlock):
        (WebCore::LegacyHTMLTreeConstructor::popOneBlockCommon):
        (WebCore::LegacyHTMLTreeConstructor::popOneBlock):
        (WebCore::LegacyHTMLTreeConstructor::moveOneBlockToStack):
        (WebCore::LegacyHTMLTreeConstructor::checkIfHasPElementInScope):
        (WebCore::LegacyHTMLTreeConstructor::popInlineBlocks):
        (WebCore::LegacyHTMLTreeConstructor::freeBlock):
        (WebCore::LegacyHTMLTreeConstructor::createHead):
        (WebCore::LegacyHTMLTreeConstructor::handleIsindex):
        (WebCore::LegacyHTMLTreeConstructor::startBody):
        (WebCore::LegacyHTMLTreeConstructor::finished):
        (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
        (WebCore::shouldCreateImplicitHead):
        (WebCore::serializeForNumberType):
        (WebCore::parseToDoubleForNumberType):
        * html/LegacyHTMLTreeConstructor.h: Renamed from WebCore/html/HTMLParser.h.
        (WebCore::LegacyHTMLTreeConstructor::skipMode):
        (WebCore::LegacyHTMLTreeConstructor::isHandlingResidualStyleAcrossBlocks):
        (WebCore::LegacyHTMLTreeConstructor::setSkipMode):
        (WebCore::LegacyHTMLTreeConstructor::popBlock):
        (WebCore::LegacyHTMLTreeConstructor::hasPElementInScope):
        (WebCore::LegacyHTMLTreeConstructor::reportError):
        (WebCore::LegacyHTMLTreeConstructor::):
        (WebCore::shouldCreateImplicitHead):
        * html/StepRange.cpp:
        * html/ValidityState.cpp:
        * rendering/RenderSlider.cpp:

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Rename m_parser, htmlParser() to m_treeConstructor, htmlTreeConstructor() in preparation for renaming HTMLParser
        https://bugs.webkit.org/show_bug.cgi?id=40514

        This rename was done by hand.  I realize now I should have
        renamed HTMLParser to HTMLTreeConstructor before renaming HTMLTokenizer.

        No functional changes, thus no tests.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::htmlTreeConstructor):
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::end):
        (WebCore::HTML5DocumentParser::htmlTreeConstructor):
        (WebCore::HTML5DocumentParser::isWaitingForScripts):
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
        (WebCore::HTML5DocumentParser::notifyFinished):
        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
        * html/HTML5DocumentParser.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        (WebCore::HTML5TreeBuilder::finished):
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::scriptHandler):
        (WebCore::HTMLDocumentParser::parseTag):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::processToken):
        (WebCore::HTMLDocumentParser::processDoctypeToken):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Rename tok, asHTMLTokenizer to parser, asHTMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=40513

        Last set of Tokenizer related renames, also done via do-webcore-rename:
        asHTMLTokenizer => asHTMLDocumentParser
        tok => parser

        No functional changes, thus no tests.

        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asHTMLDocumentParser):
        * html/HTMLDocumentParser.cpp:
        (WebCore::parseHTMLDocumentFragment):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::asHTMLDocumentParser):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Fix the rest of the references to the old Tokenizer class (now DocumentParser)
        https://bugs.webkit.org/show_bug.cgi?id=40512

        No functional changes, thus no new tests.
        This was mostly done by do-webcore-rename:
        tokenizer => parser
        m_tokenizer => m_parser
        createTextTokenizer => createTextDocumentParser
        createTokenizer => createParser
        getTokenizer => getParser

        However had to be careful to avoid renaming things related to
        css/tokenizer.flex (which we should later rename to CSSTokenizer.flex)

        Still a couple references with "tok" and "asHTMLTokenizer" which I'll
        get in the next patch.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isLoaded):
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        (WebCore::Document::~Document):
        (WebCore::Document::createParser):
        (WebCore::Document::open):
        (WebCore::Document::cancelParsing):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::implicitClose):
        (WebCore::Document::write):
        (WebCore::Document::finishParsing):
        (WebCore::Document::removePendingSheet):
        * dom/Document.h:
        (WebCore::Document::parser):
        * dom/DocumentParser.h:
        * dom/ViewportArguments.cpp:
        (WebCore::reportViewportWarning):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
        (WebCore::PendingCallbacks::PendingCommentCallback::call):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
        (WebCore::PendingCallbacks::):
        (WebCore::getParser):
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::warningHandler):
        (WebCore::fatalErrorHandler):
        (WebCore::normalErrorHandler):
        (WebCore::getEntityHandler):
        (WebCore::startDocumentHandler):
        (WebCore::endDocumentHandler):
        (WebCore::internalSubsetHandler):
        (WebCore::externalSubsetHandler):
        (WebCore::parseXMLDocumentFragment):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::parseXMLDocumentFragment):
        * html/HTML5EntityParser.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocument.h:
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::write):
        (WebCore::HTMLDocumentParser::stopParsing):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::finished):
        (WebCore::HTMLParser::reportErrorToConsole):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        (WebCore::HTMLViewSourceDocument::addLine):
        * html/HTMLViewSourceDocument.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        (WebCore::DocumentWriter::addData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::createParser):
        * loader/FTPDirectoryDocument.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::stop):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createParser):
        * loader/ImageDocument.h:
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::createParser):
        * loader/MediaDocument.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::createParser):
        * loader/PluginDocument.h:
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::createParser):
        * loader/SinkDocument.h:
        * loader/TextDocument.cpp:
        (WebCore::TextDocument::createParser):
        (WebCore::createTextDocumentParser):
        * loader/TextDocument.h:
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):
        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing):
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError):
        * wml/WMLTemplateElement.cpp:
        (WebCore::WMLTemplateElement::registerTemplatesInDocument):

2010-06-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: link won't return linked element if URL contains #
        https://bugs.webkit.org/show_bug.cgi?id=40192

        Test: platform/mac/accessibility/internal-link-when-document-has-fragment.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):

2010-06-13  Sam Weinig  <sam@webkit.org>

        Try and fix the chrome build.

        * bindings/scripts/CodeGeneratorV8.pm:
        * xml/XMLHttpRequest.idl:

2010-06-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=40550
        XMLHttpRequest constructor object should expose the constants from the IDL.

        Test: fast/dom/XMLHttpRequest-constants.html

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSWorkerContextCustom.cpp:
        * bindings/js/JSXMLHttpRequestConstructor.cpp: Removed.
        * bindings/js/JSXMLHttpRequestConstructor.h: Removed.
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
        * bindings/scripts/CodeGeneratorJS.pm:
        * xml/XMLHttpRequest.idl:

2010-06-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        -webkit-transition font-size and font-family
        https://bugs.webkit.org/show_bug.cgi?id=33429
        
        When animating font-size, update the font with a saved
        version of the font selector to ensure that we don't clobber
        the font family.        

        Test: transitions/font-family-during-transition.html

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setBlendedFontSize):

2010-06-13  Tony Chang  <tony@chromium.org>

        Build fix, not reviewed.

        fix chromium compile after r61094 (id attribute refactor)
        https://bugs.webkit.org/show_bug.cgi?id=40553

        * bindings/v8/custom/V8NamedNodesCollection.cpp:
        (WebCore::V8NamedNodesCollection::itemWithName):

2010-06-13  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Partly done support for alternate ID attributes should be removed
        https://bugs.webkit.org/show_bug.cgi?id=39692

        Removed the include of "HTMLNames.h" from "Element.h". This prevents
        near-world-rebuilds every time you change HTMLTagNames.in.

        Renamed the getIDAttribute function in the Element class to
        idForStyleResolution, since it returns a value of the id attribute
        that has been lowercased as appropriate for style matching, not the
        actual value of the attribute. With the old name it was easy to
        misuse it in non-style contexts.

        Got rid of the idAttributeName function on Element, since it is
        easy to use it wrong. Replace it with isIdAttributeName, getIdAttribute,
        and setIdAttribute functions, which are a good fit for the needs of
        most call sites that were dealing with the id attribute.

        Added an idAttributeName function to Document. This is for a future
        where a document can have a custom id attribute name specified in its
        doctype. It's possible this will be insufficient because the same
        document might have XHTML or SVG elements in it, and it's possible
        that on those elements we will want the attribute named "id" with
        no namespace to still work. We can deal with that when we implement
        the actual feature, though. For now, it seems OK to fetch the name
        of the id attribute from the document.

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicNodeList::itemWithName):
        * dom/StaticNodeList.cpp:
        (WebCore::StaticNodeList::itemWithName):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::idChanged):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::handleDeepUseReferencing):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
        Use the new idForStyleResolution function, which is the new name of
        the getIDAttribute function. There's a good chance these call sites are
        incorrect, which is something we should investigate later, so there's
        a FIXME at each call site.

        * dom/Document.cpp:
        (WebCore::Document::Document): Initialize m_idAttributeName to the
        standard id attribute from HTML.
        (WebCore::Document::getElementById): Use Element::getIdAttribute.
        * dom/Document.h: Added Document::idAttributeName.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute): Use Document::idAttributeName.
        (WebCore::Element::setAttributeMap): Use Element::isIdAttributeName.
        (WebCore::Element::insertedIntoDocument): Use Document::idAttributeName.
        (WebCore::Element::removedFromDocument): Ditto.
        (WebCore::Element::formatForDebugger): Use Element::getIdAttribute.
        * dom/Element.h: Added isIdAttributeName, getIdAttribute, setIdAttribute,
        idForStyleResolution. Removed rareIDAttributeName.

        * dom/ElementRareData.h: Removed m_idAttributeName.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setAttributes): Use Document::idAttributeName.
        * dom/NamedNodeMap.h: Renamed id, setID, and m_id to idForStyleResolution,
        setIdForStyleResolution, and m_idForStyleResolution since this is not the
        value of the id attribute because it gets lowercased for compatibility-mode
        documents.

        * rendering/RenderIFrame.cpp:
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderProgress.cpp:
        Added include of HTMLNames.h now that Element.h no longer includes it.

        * editing/SetNodeAttributeCommand.h:
        * editing/markup.cpp:
        * html/HTMLParser.cpp:
        Removed unneeded includes.

        * html/HTMLParser.h: Sorted includes.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules): Use idForStyleResolution.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Use idForStyleResolution.
        * dom/Attr.cpp:
        (WebCore::Attr::isId): Use Document::idAttributeName.
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute): Use isIdAttributeName,
        and setIdForStyleResolution.
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI): Use setIdAttribute.
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule): Ditto.
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute): Use isIdAttributeName.
        (WebCore::HTMLAppletElement::createRenderer): Use getIdAttribute.
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch): Use getIdAttribute.
        (WebCore::HTMLCollection::updateNameCache): Use getIdAttribute.
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::ensureColumn): Use getIdAttribute.
        (WebCore::HTMLDataGridColElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::nextNamedItem): Added missing braces.
        (WebCore::HTMLFormCollection::updateNameCache): Use getIdAttribute.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Use isIdAttributeName.
        (WebCore::HTMLFrameElementBase::setName): Use getIdAttribute.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::parseMappedAttribute): Use isIdAttributeName.
        Also restructured the function a bit to make its structure clearer and added
        a comment pointing out that it can't be quite right.
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter): Use getIdAttribute.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::parseMappedAttribute): Use isIdAttributeName.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::getSVGFontById): Use getIdAttribute.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::nameForLayer): Use getIdAttribute.
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGPaintingResource): Use getIdAttribute.
        (WebCore::writeSVGResourceContainer): Ditto.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::insertedIntoDocument): Use getIdAttribute.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isKnownAttribute): Use isIdAttributeName.
        (WebCore::SVGStyledElement::svgAttributeChanged): Use isIdAttributeName.
        * wml/WMLElement.cpp:
        (WebCore::WMLElement::parseMappedAttribute): Use isIdAttributeName.

2010-06-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8087385> REGRESSION (r60974): Continuous wheel scrolling is too fast in list boxes and in Safari Reader
        https://bugs.webkit.org/show_bug.cgi?id=40537

        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Only multiply by pixelsPerLineStep() if the
        event is not continuous, as was before r56012.

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

        Reviewed by Darin Adler.

        Centralize the gperf code generation commands into make-hash-tools.pl
        to avoid redundancy across multiple build systems.
        Do this in preparation of refactoring the usage of these generated
        sources to fix the debug linking error on Linux with gcc >= 4.4.0.

        webkit.org/b/29244

        No functionality change, so no new tests needed.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_gperf.py: Removed.
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):
        (WebCore::cssValueKeywordID):
        * css/makeprop.pl:
        * css/makevalues.pl:
        * html/DocTypeStrings.gperf:
        * html/HTML5EntityParser.cpp:
        * html/HTMLDocumentParser.cpp:
        * html/HTMLEntityNames.gperf:
        * html/PreloadScanner.cpp:
        * make-hash-tools.pl: Added.
        * platform/ColorData.gperf:
        * platform/graphics/Color.cpp:

2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] tests/hybridPixmap fails
        https://bugs.webkit.org/show_bug.cgi?id=37316

        The problem was that JSC::Instance::createRuntimeObject was never called.
        This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
        in between, instead of creating the runtime object directly inside the static function
        QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.

        This fixes an existing test, tests/hybridPixmap

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapInstance::newRuntimeObject):
        (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
        * bridge/qt/qt_pixmapruntime.h:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):

2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Darin Adler.

        GraphicsContext3D.h in the Qt port includes too many unnecessary files
        https://bugs.webkit.org/show_bug.cgi?id=40536

        Removed unncessary includes.

        No new tests; Compilation improvement.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
        https://bugs.webkit.org/show_bug.cgi?id=40535

        Made sure the painter ends its operation before copying the pixmap.

        No new tests: this is an optimization.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::recache):

2010-06-13  Clemmitt Sigler  <cmsigler@gmail.com>

        Reviewed by Eric Seidel.

        Patch to fix missing references to RenderMathMLRoot,
        RenderMathMLSquareRoot when building GtkLauncher.
        https://bugs.webkit.org/show_bug.cgi?id=40326

        No change in functionality so no new tests.

        * GNUmakefile.am:

2010-06-12  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Dan Bernstein.
        
        https://bugs.webkit.org/show_bug.cgi?id=40538
        
        Some machines have started to see the return of the dreaded: WebCore.lib : fatal error LNK1106: invalid 
        file or disk full. Since we don't have the hotfix for VS2005, work around this in the meantime
        by creating an EditingAllInOne file, that includes all of the cpp files in the editing subdirectory.
        
        * WebCore.vcproj/WebCore.vcproj: Prevnt the editing cpp from building, so we only compile EditingAllInOne.
        * editing/EditingAllInOne.cpp: Added. Includes all of the editing cpp files.

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

        Unreviewed, rolling out r61031.
        http://trac.webkit.org/changeset/61031
        https://bugs.webkit.org/show_bug.cgi?id=40539

        Crashes Dromaeo jslib test in Release Chromium (Requested by
        dimich_ on #webkit).

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ExternalString):
        * bindings/v8/V8Binding.h:

2010-06-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename the last few *Tokenizer classes (which don't have their own files) to *DocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=40508

        This was a very simple do-webcore-rename-generated patch.

        PluginTokenizer => PluginDocumentParser
        TextTokenizer => TextDocumentParser
        SinkTokenizer => SinkDocumentParser
        MediaTokenizer => MediaDocumentParser
        FTPDirectoryTokenizer => FTPDirectoryDocumentParser

        No functional changes, thus no tests.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::appendEntry):
        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
        (WebCore::FTPDirectoryDocumentParser::write):
        (WebCore::FTPDirectoryDocumentParser::finish):
        (WebCore::FTPDirectoryDocument::createTokenizer):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::MediaDocumentParser):
        (WebCore::MediaDocumentParser::write):
        (WebCore::MediaDocumentParser::createDocumentStructure):
        (WebCore::MediaDocumentParser::writeRawData):
        (WebCore::MediaDocumentParser::finish):
        (WebCore::MediaDocumentParser::isWaitingForScripts):
        (WebCore::MediaDocument::createTokenizer):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::PluginDocumentParser):
        (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
        (WebCore::PluginDocumentParser::write):
        (WebCore::PluginDocumentParser::createDocumentStructure):
        (WebCore::PluginDocumentParser::writeRawData):
        (WebCore::PluginDocumentParser::finish):
        (WebCore::PluginDocumentParser::isWaitingForScripts):
        (WebCore::PluginDocument::createTokenizer):
        (WebCore::PluginDocument::pluginWidget):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::SinkDocumentParser):
        (WebCore::SinkDocumentParser::finish):
        (WebCore::SinkDocument::createTokenizer):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::~TextDocumentParser):
        (WebCore::TextDocumentParser::write):
        (WebCore::TextDocumentParser::finish):
        (WebCore::TextDocumentParser::isWaitingForScripts):
        (WebCore::TextDocument::createTokenizer):
        (WebCore::createTextTokenizer):

2010-06-12  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] EventHandlerQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=40259

        Coding style change only.

        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::eventActivatedView):

2010-06-12  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        Unify fileSystemRepresentation and filenameFromString
        https://bugs.webkit.org/show_bug.cgi?id=40201

        Remove filenameFromString and use fileSystemRepresentation instead
        as they do the same job.

        * platform/FileSystem.cpp: Removed.
        * platform/FileSystem.h:
        * platform/efl/FileSystemEfl.cpp:
        (WebCore::fileSystemRepresentation):
        * platform/gtk/FileChooserGtk.cpp:
        (WebCore::FileChooser::basenameForWidth):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::fileSystemRepresentation):
        (WebCore::filenameForDisplay):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        * platform/gtk/SharedBufferGtk.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        * platform/posix/SharedBufferPOSIX.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-12  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Eric Seidel.

        [Haiku] Cleanup SharedBuffer::createWithContentsOfFile
        https://bugs.webkit.org/show_bug.cgi?id=39003

        * platform/haiku/SharedBufferHaiku.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-12  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] WheelEventQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39760

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2010-06-12  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Don't include POSIX headers in WebCorePrefix.h
        https://bugs.webkit.org/show_bug.cgi?id=39411

        When building for BREW MP, don't include POSIX headers:
        <fcntl.h>, <pthread.h> and <sys/types.h>.

        * WebCorePrefix.h:

2010-06-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename the rest of the *Tokenizer classes to *DocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=40507

        This search/replace was done by do-webcore-rename.
        Just looking for a rubber stamp.
        
        XMLTokenizer => XMLDocumentParser
        XMLTokenizerLibxml2 => XMLDocumentParserLibxml2
        XMLTokenizerQt => XMLDocumentParserQt
        XMLTokenizerScope => XMLDocumentParserScope
        HTML5Tokenizer => HTML5DocumentParser
        HTMLTokenizer => HTMLDocumentParser

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Document.cpp:
        (WebCore::Document::createTokenizer):
        (WebCore::Document::write):
        * dom/Document.h:
        (WebCore::Document::setXMLEncoding):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asHTMLTokenizer):
        * dom/Element.cpp:
        * dom/ProcessingInstruction.cpp:
        * dom/XMLDocumentParser.cpp: Added.
        (WebCore::XMLDocumentParser::isWMLDocument):
        (WebCore::XMLDocumentParser::pushCurrentNode):
        (WebCore::XMLDocumentParser::popCurrentNode):
        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
        (WebCore::XMLDocumentParser::write):
        (WebCore::XMLDocumentParser::handleError):
        (WebCore::XMLDocumentParser::enterText):
        (WebCore::toString):
        (WebCore::XMLDocumentParser::exitText):
        (WebCore::XMLDocumentParser::end):
        (WebCore::XMLDocumentParser::finish):
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        (WebCore::XMLDocumentParser::notifyFinished):
        (WebCore::XMLDocumentParser::isWaitingForScripts):
        (WebCore::XMLDocumentParser::pauseParsing):
        * dom/XMLDocumentParser.h: Added.
        (WebCore::XMLParserContext::context):
        (WebCore::XMLParserContext::XMLParserContext):
        (WebCore::XMLDocumentParser::):
        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
        (WebCore::XMLDocumentParser::isXHTMLDocument):
        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
        (WebCore::XMLDocumentParser::wellFormed):
        (WebCore::XMLDocumentParser::context):
        * dom/XMLDocumentParserLibxml2.cpp: Added.
        (WebCore::PendingCallbacks::~PendingCallbacks):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        (WebCore::PendingCallbacks::isEmpty):
        (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
        (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
        (WebCore::PendingCallbacks::PendingCommentCallback::call):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
        (WebCore::PendingCallbacks::):
        (WebCore::matchFunc):
        (WebCore::OffsetBuffer::OffsetBuffer):
        (WebCore::OffsetBuffer::readOutBytes):
        (WebCore::shouldAllowExternalLoad):
        (WebCore::openFunc):
        (WebCore::readFunc):
        (WebCore::writeFunc):
        (WebCore::closeFunc):
        (WebCore::errorFunc):
        (WebCore::XMLParserContext::createStringParser):
        (WebCore::XMLParserContext::createMemoryParser):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLParserContext::~XMLParserContext):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::toString):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::error):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::endDocument):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::getTokenizer):
        (WebCore::hackAroundLibXMLEntityBug):
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::warningHandler):
        (WebCore::fatalErrorHandler):
        (WebCore::normalErrorHandler):
        (WebCore::):
        (WebCore::sharedXHTMLEntity):
        (WebCore::getXHTMLEntity):
        (WebCore::getEntityHandler):
        (WebCore::startDocumentHandler):
        (WebCore::endDocumentHandler):
        (WebCore::internalSubsetHandler):
        (WebCore::externalSubsetHandler):
        (WebCore::ignorableWhitespaceHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::xmlDocPtrForString):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::stopParsing):
        (WebCore::XMLDocumentParser::resumeParsing):
        (WebCore::parseXMLDocumentFragment):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        * dom/XMLDocumentParserQt.cpp: Added.
        (WebCore::EntityResolver::resolveUndeclaredEntity):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::stopParsing):
        (WebCore::XMLDocumentParser::resumeParsing):
        (WebCore::parseXMLDocumentFragment):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        (WebCore::prefixFromQName):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        (WebCore::XMLDocumentParser::parseCharacters):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::endDocument):
        (WebCore::XMLDocumentParser::hasError):
        (WebCore::XMLDocumentParser::parseDtd):
        * dom/XMLDocumentParserScope.cpp: Added.
        (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
        (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
        * dom/XMLDocumentParserScope.h: Added.
        * dom/XMLTokenizer.cpp: Removed.
        * dom/XMLTokenizer.h: Removed.
        * dom/XMLTokenizerLibxml2.cpp: Removed.
        * dom/XMLTokenizerQt.cpp: Removed.
        * dom/XMLTokenizerScope.cpp: Removed.
        * dom/XMLTokenizerScope.h: Removed.
        * html/HTML5DocumentParser.cpp: Added.
        (WebCore::):
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::~HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::begin):
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::write):
        (WebCore::HTML5DocumentParser::end):
        (WebCore::HTML5DocumentParser::attemptToEnd):
        (WebCore::HTML5DocumentParser::endIfDelayed):
        (WebCore::HTML5DocumentParser::finish):
        (WebCore::HTML5DocumentParser::executingScript):
        (WebCore::HTML5DocumentParser::lineNumber):
        (WebCore::HTML5DocumentParser::columnNumber):
        (WebCore::HTML5DocumentParser::htmlParser):
        (WebCore::HTML5DocumentParser::isWaitingForScripts):
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
        (WebCore::HTML5DocumentParser::watchForLoad):
        (WebCore::HTML5DocumentParser::stopWatchingForLoad):
        (WebCore::HTML5DocumentParser::shouldLoadExternalScriptFromSrc):
        (WebCore::HTML5DocumentParser::executeScript):
        (WebCore::HTML5DocumentParser::notifyFinished):
        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTML5DocumentParser::script):
        * html/HTML5DocumentParser.h: Added.
        (WebCore::HTML5DocumentParser::InputStream::InputStream):
        (WebCore::HTML5DocumentParser::InputStream::appendToEnd):
        (WebCore::HTML5DocumentParser::InputStream::insertAtCurrentInsertionPoint):
        (WebCore::HTML5DocumentParser::InputStream::close):
        (WebCore::HTML5DocumentParser::InputStream::current):
        (WebCore::HTML5DocumentParser::InputStream::splitInto):
        (WebCore::HTML5DocumentParser::InputStream::mergeFrom):
        (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord):
        (WebCore::HTML5DocumentParser::InsertionPointRecord::~InsertionPointRecord):
        (WebCore::HTML5DocumentParser::inWrite):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::columnNumber):
        * html/HTML5Tokenizer.cpp: Removed.
        * html/HTML5Tokenizer.h: Removed.
        * html/HTML5TreeBuilder.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createTokenizer):
        * html/HTMLDocumentParser.cpp: Added.
        (WebCore::):
        (WebCore::fixUpChar):
        (WebCore::tagMatch):
        (WebCore::Token::addAttribute):
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::reset):
        (WebCore::HTMLDocumentParser::begin):
        (WebCore::HTMLDocumentParser::setForceSynchronous):
        (WebCore::HTMLDocumentParser::processListing):
        (WebCore::HTMLDocumentParser::parseNonHTMLText):
        (WebCore::HTMLDocumentParser::scriptHandler):
        (WebCore::HTMLDocumentParser::scriptExecution):
        (WebCore::HTMLDocumentParser::parseComment):
        (WebCore::HTMLDocumentParser::parseServer):
        (WebCore::HTMLDocumentParser::parseProcessingInstruction):
        (WebCore::HTMLDocumentParser::parseText):
        (WebCore::HTMLDocumentParser::parseEntity):
        (WebCore::HTMLDocumentParser::parseDoctype):
        (WebCore::HTMLDocumentParser::parseTag):
        (WebCore::HTMLDocumentParser::continueProcessing):
        (WebCore::HTMLDocumentParser::advance):
        (WebCore::HTMLDocumentParser::willWriteHTML):
        (WebCore::HTMLDocumentParser::didWriteHTML):
        (WebCore::HTMLDocumentParser::write):
        (WebCore::HTMLDocumentParser::stopParsing):
        (WebCore::HTMLDocumentParser::processingData):
        (WebCore::HTMLDocumentParser::timerFired):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::processToken):
        (WebCore::HTMLDocumentParser::processDoctypeToken):
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::enlargeBuffer):
        (WebCore::HTMLDocumentParser::enlargeScriptBuffer):
        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLDocumentParser::notifyFinished):
        (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
        (WebCore::HTMLDocumentParser::executeExternalScriptsTimerFired):
        (WebCore::HTMLDocumentParser::continueExecutingExternalScripts):
        (WebCore::HTMLDocumentParser::isWaitingForScripts):
        (WebCore::HTMLDocumentParser::setSrc):
        (WebCore::parseHTMLDocumentFragment):
        (WebCore::decodeNamedEntity):
        * html/HTMLDocumentParser.h: Added.
        (WebCore::Token::Token):
        (WebCore::Token::~Token):
        (WebCore::Token::isOpenTag):
        (WebCore::Token::isCloseTag):
        (WebCore::Token::reset):
        (WebCore::Token::addViewSourceChar):
        (WebCore::):
        (WebCore::DoctypeToken::DoctypeToken):
        (WebCore::DoctypeToken::reset):
        (WebCore::DoctypeToken::state):
        (WebCore::DoctypeToken::setState):
        (WebCore::HTMLDocumentParser::forceSynchronous):
        (WebCore::HTMLDocumentParser::executingScript):
        (WebCore::HTMLDocumentParser::lineNumber):
        (WebCore::HTMLDocumentParser::columnNumber):
        (WebCore::HTMLDocumentParser::processingContentWrittenByScript):
        (WebCore::HTMLDocumentParser::htmlParser):
        (WebCore::HTMLDocumentParser::asHTMLTokenizer):
        (WebCore::HTMLDocumentParser::checkBuffer):
        (WebCore::HTMLDocumentParser::checkScriptBuffer):
        (WebCore::HTMLDocumentParser::):
        (WebCore::HTMLDocumentParser::State::State):
        (WebCore::HTMLDocumentParser::State::tagState):
        (WebCore::HTMLDocumentParser::State::setTagState):
        (WebCore::HTMLDocumentParser::State::entityState):
        (WebCore::HTMLDocumentParser::State::setEntityState):
        (WebCore::HTMLDocumentParser::State::inScript):
        (WebCore::HTMLDocumentParser::State::setInScript):
        (WebCore::HTMLDocumentParser::State::inStyle):
        (WebCore::HTMLDocumentParser::State::setInStyle):
        (WebCore::HTMLDocumentParser::State::inXmp):
        (WebCore::HTMLDocumentParser::State::setInXmp):
        (WebCore::HTMLDocumentParser::State::inTitle):
        (WebCore::HTMLDocumentParser::State::setInTitle):
        (WebCore::HTMLDocumentParser::State::inIFrame):
        (WebCore::HTMLDocumentParser::State::setInIFrame):
        (WebCore::HTMLDocumentParser::State::inPlainText):
        (WebCore::HTMLDocumentParser::State::setInPlainText):
        (WebCore::HTMLDocumentParser::State::inProcessingInstruction):
        (WebCore::HTMLDocumentParser::State::setInProcessingInstruction):
        (WebCore::HTMLDocumentParser::State::inComment):
        (WebCore::HTMLDocumentParser::State::setInComment):
        (WebCore::HTMLDocumentParser::State::inDoctype):
        (WebCore::HTMLDocumentParser::State::setInDoctype):
        (WebCore::HTMLDocumentParser::State::inTextArea):
        (WebCore::HTMLDocumentParser::State::setInTextArea):
        (WebCore::HTMLDocumentParser::State::escaped):
        (WebCore::HTMLDocumentParser::State::setEscaped):
        (WebCore::HTMLDocumentParser::State::inServer):
        (WebCore::HTMLDocumentParser::State::setInServer):
        (WebCore::HTMLDocumentParser::State::skipLF):
        (WebCore::HTMLDocumentParser::State::setSkipLF):
        (WebCore::HTMLDocumentParser::State::startTag):
        (WebCore::HTMLDocumentParser::State::setStartTag):
        (WebCore::HTMLDocumentParser::State::discardLF):
        (WebCore::HTMLDocumentParser::State::setDiscardLF):
        (WebCore::HTMLDocumentParser::State::allowYield):
        (WebCore::HTMLDocumentParser::State::setAllowYield):
        (WebCore::HTMLDocumentParser::State::loadingExtScript):
        (WebCore::HTMLDocumentParser::State::setLoadingExtScript):
        (WebCore::HTMLDocumentParser::State::forceSynchronous):
        (WebCore::HTMLDocumentParser::State::setForceSynchronous):
        (WebCore::HTMLDocumentParser::State::inAnyNonHTMLText):
        (WebCore::HTMLDocumentParser::State::hasTagState):
        (WebCore::HTMLDocumentParser::State::hasEntityState):
        (WebCore::HTMLDocumentParser::State::needsSpecialWriteHandling):
        (WebCore::HTMLDocumentParser::State::):
        (WebCore::HTMLDocumentParser::State::setBit):
        (WebCore::HTMLDocumentParser::State::testBit):
        * html/HTMLElement.cpp:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::reportErrorToConsole):
        * html/HTMLParser.h:
        * html/HTMLTokenizer.cpp: Removed.
        * html/HTMLTokenizer.h: Removed.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        * html/HTMLViewSourceDocument.h:
        * loader/DocumentLoader.cpp:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer):
        (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
        (WebCore::FTPDirectoryTokenizer::finish):
        * loader/FrameLoader.cpp:
        * loader/ImageDocument.cpp:
        * loader/MediaDocument.cpp:
        * loader/PluginDocument.cpp:
        * loader/TextDocument.cpp:
        * page/XSSAuditor.h:
        * svg/SVGDocumentExtensions.cpp:
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::parseString):
        * xml/XSLTProcessor.cpp:
        * xml/XSLTProcessorLibxslt.cpp:

2010-06-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Window object should have CanvasGradient and CanvasPattern
        https://bugs.webkit.org/show_bug.cgi?id=40394

        This fixes the following tests:
        - canvas/philip/tests/2d.gradient.object.return.html
        - canvas/philip/tests/2d.pattern.basic.type.html

        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasPattern.idl:
        * page/DOMWindow.idl:

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

        Reviewed by Oliver Hunt.

        <rdar://problem/8025267> REGRESSION (Safari 4-TOT): Crash when a frame’s resize handler removes the frame
        https://bugs.webkit.org/show_bug.cgi?id=40534

        Test: fast/replaced/frame-removed-during-resize.html

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::updateWidgetPosition): Null-check m_widget, since resizing the widget
        may trigger an iframe’s resize handler, which may destroy the widget.

2010-06-12  Dean Jackson  <dino@apple.com>

        Reviewed by Darin Adler.

        Animation keyframe timing functions are applying incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=38963
        
        When copying RenderStyles, we have to clone the AnimationList so that each keyframe
        can have its own timing function.

        Tests: animations/keyframe-timing-functions-transform.html
               animations/keyframe-timing-functions2.html

        * platform/animation/Animation.h:
        (WebCore::Animation::create):
        * platform/animation/AnimationList.cpp:
        (WebCore::AnimationList::AnimationList):
        * platform/animation/AnimationList.h:
        (WebCore::AnimationList::AnimationList):

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

        Reviewed by Dave Hyatt.

        <rdar://problem/7882140> -webkit-column-break-* properties don’t do anything
        https://bugs.webkit.org/show_bug.cgi?id=40531

        Test: fast/multicol/break-properties.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren): Check for -webkit-column-break-{before,after}: always
        and -webkit-column-break-inside: avoid when doing column layout.

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

        Reviewed by Alexey Proskuryakov.

        FrameLoader::clear() clears JS objects that cached pages later rely on

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

        Fix the following tests for Qt:

        fast/events/pageshow-pagehide-on-back-cached.html
        fast/events/pageshow-pagehide-on-back-cached-with-frames.html
        fast/loader/input-element-page-cache-crash.html
        fast/dom/Window/timer-resume-on-navigation-back.html
        loader/go-back-to-different-window-size.html
        fast/dom/javascript-url-crash-function.html
        fast/dom/location-new-window-no-crash.html
        http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html

        which currently fail because the page's Qt-bindings runtime objects are
        cleared when navigating away from the page containing them.

        Track Qt-bindings objects in a separate ScriptController::cacheableRootBindingObject().
        RuntimeObjects tracked by this root object will not get invalidated on page navigations,
        so they will still be available when the pages containing them are retrieved from the
        b/f cache.

        This means the Qt bindings objects will only get cleared on Frame::pageDestroyed().

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::cacheableBindingRootObject):
        * bindings/js/ScriptController.h:

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

        Reviewed by Darin Adler.

        REGRESSION: Can't submit a form with <input type=radio required>
        https://bugs.webkit.org/show_bug.cgi?id=40429

        Validity state was not updated correctly for radio buttons, and it
        prevents form submission even if a radio button group has a
        checked radio button.

        Test: fast/forms/interactive-validation-required-radio.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
         Call setNeedsValidityCheck() for all of radio buttons in the same group
         to update validity state.
        (WebCore::HTMLInputElement::setChecked):
         Remove setNeedsValidityCheck() call because it is called in
         updateCheckedRadioButtons().

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

        Reviewed by Dimitri Glazkov.

        Disable interactive form validation in non-strict modes
        https://bugs.webkit.org/show_bug.cgi?id=40218

        The interactive validation feature of HTML5 is not compatible with
        HTML4, and users and page authors don't expect existing sites work
        differently in WebKit. For example, maxlength and required attributes
        in existing sites unexpectedly prevented form submission.
        So, we disable the interactive validation feature in non-strict
        modes to improve compatibility.

        Test: fast/forms/interactive-validation-compat-mode.html
              fast/forms/interactive-validation-html4.html

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
         Process interactive validation only in the strict mode.

2010-06-12  Eric Seidel  <eric@webkit.org>

        Reviewed by David Levin.

        Rename Tokenizer to DocumentParser to match what it actually does
        https://bugs.webkit.org/show_bug.cgi?id=40504

        The rename was entirely done by do-webcore-rename.
        The only manual changes were removing out-dated comments
        and fixing Tokenizer_h to DocumentParser_h in the header guards.

        I'll do all the rest of the renames (like the tokenizer subclasses
        and the tokenizer() createTokenizer() methods) in separate changes.

        No functional change, thus no tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLDocumentCustom.cpp:
        * bindings/v8/ScriptEventListener.cpp:
        * dom/Document.cpp:
        (WebCore::Document::createTokenizer):
        * dom/Document.h:
        (WebCore::Document::tokenizer):
        * dom/DocumentParser.h: Added.
        (WebCore::DocumentParser::~DocumentParser):
        (WebCore::DocumentParser::stopParsing):
        (WebCore::DocumentParser::processingData):
        (WebCore::DocumentParser::executingScript):
        (WebCore::DocumentParser::wantsRawData):
        (WebCore::DocumentParser::writeRawData):
        (WebCore::DocumentParser::inViewSourceMode):
        (WebCore::DocumentParser::setInViewSourceMode):
        (WebCore::DocumentParser::wellFormed):
        (WebCore::DocumentParser::lineNumber):
        (WebCore::DocumentParser::columnNumber):
        (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::DocumentParser::htmlParser):
        (WebCore::DocumentParser::asHTMLTokenizer):
        (WebCore::DocumentParser::xssAuditor):
        (WebCore::DocumentParser::setXSSAuditor):
        (WebCore::DocumentParser::DocumentParser):
        * dom/Tokenizer.h: Removed.
        * dom/ViewportArguments.cpp:
        (WebCore::reportViewportWarning):
        * dom/XMLTokenizer.h:
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::stopParsing):
        * dom/XMLTokenizerQt.cpp:
        (WebCore::XMLTokenizer::stopParsing):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
        * html/HTML5Tokenizer.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createTokenizer):
        * html/HTMLDocument.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::stopParsing):
        * html/HTMLTokenizer.h:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::addData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::createTokenizer):
        * loader/FTPDirectoryDocument.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createTokenizer):
        * loader/ImageDocument.h:
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::createTokenizer):
        * loader/MediaDocument.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::createTokenizer):
        * loader/PluginDocument.h:
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::createTokenizer):
        * loader/SinkDocument.h:
        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextDocument::createTokenizer):
        (WebCore::createTextTokenizer):
        * loader/TextDocument.h:
        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing):

2010-06-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5Tokenizer needs to tell the InspectorTimelineAgent before and after it writes
        https://bugs.webkit.org/show_bug.cgi?id=40417

        This "fixes" inspector/timeline-script-tag-1.html.  HTML5 results
        differ from the old parser for expected reasons.

        HTML5Tokenizer calls InspectorTimelineAgent::will/didWriteHTML every
        time we pump the lexer instead of every write() call.
        We end up pumping the lexer slightly more often than the old code called
        write() in order to cleanly handle unclosed-entities, unclosed tags,
        buffered characters, etc. at the end of a document.

        I discussed this extensively with James Robinson in #webkit and we decided
        that it was better for the HTML5Tokenizer to call for every pump and
        that the Inspector should later filter out empty pumps.

        We can't filter out empty pumps yet, because the number of parsed
        characters is passed in willWrite instead of didWrite and thus is
        speculative (and wrong).  This is a problem independent of this change
        as willWrite's "length" argument is wrong in different ways for the old
        parser, including always being 0 when the old parser resumes.

        Tested by inspector/timeline-script-tag-1.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::willPumpLexer):
         - Notify the InspectorTimelineAgent we're about to process input.
        (WebCore::HTML5Tokenizer::didPumpLexer):
         - Notify the InspectorTimelineAgent we did process tokens.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Call willPump and didPump
        * html/HTML5Tokenizer.h:
        * inspector/InspectorTimelineAgent.h:
         - Add a FIXME about passing length to didWrite instead of willWrite.

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

        Unreviewed, rolling out r61052.
        http://trac.webkit.org/changeset/61052
        https://bugs.webkit.org/show_bug.cgi?id=40517

        "Broke fast/forms/caret-rtl.html on Mac bots" (Requested by
        eseidel on #webkit).

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapToEntry):
        (WebCore::HTMLElement::parseMappedAttribute):

2010-06-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ojan Vafai.

        Implement HTML5 hidden attribute
        https://bugs.webkit.org/show_bug.cgi?id=40511

        Test: fast/html/hidden-attr.html
        
        Note: I used the mapped attribute mechanism for this instead of a rule in the UA stylesheet
        to avoid a performance hit from adding a global attribute rule to the UA stylesheet.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
        (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.

2010-06-10  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Do not render CSS Styles :first-letter and :first-line in a SVG text element context. 
        https://bugs.webkit.org/show_bug.cgi?id=40031

        Test: svg/text/text-style-invalid.svg

        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::firstLineBlock):
        (WebCore::RenderSVGText::updateFirstLetter):
        * rendering/RenderSVGText.h:

2010-06-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        getParameter with UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL is buggy
        https://bugs.webkit.org/show_bug.cgi?id=40506

        Return the data members of WebGLRenderingContext for these
        parameter queries rather than asking OpenGL, which knows nothing
        about them.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getParameter):

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

        Reviewed by Dr Dan Bernstein.

        REGRESSION: crash when unloading an iFrame with Flash from the DOM
        https://bugs.webkit.org/show_bug.cgi?id=40161
        <rdar://problem/7994710>
        
        Null-check the ownerElement of the RenderView's document when unhooking the compositing
        root of an iframe whose layers are parented via the enclosing document. Fixes a crash when
        dynamically removing such an iframe.

        Test: compositing/iframes/remove-iframe-crash.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):

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

        Reviewed by David Hyatt.

        Don't process floats if parent node is not a RenderBlock.
        https://bugs.webkit.org/show_bug.cgi?id=40033

        Test: svg/text/clear-floats-crash.svg

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

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

        Unreviewed, rolling out r61036.
        http://trac.webkit.org/changeset/61036
        https://bugs.webkit.org/show_bug.cgi?id=40499

        broke chromium compile (Requested by jamesr on #webkit).

        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):

2010-06-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Add texImage2D and texSubImage2D signatures with internal format, etc.
        https://bugs.webkit.org/show_bug.cgi?id=40318

        Added new texImage2D and texSubImage2D entry points following
        WebGL specification changes. Added UNPACK_FLIP_Y_WEBGL and
        UNPACK_PREMULTIPLY_ALPHA_WEBGL pixelStorei parameters, honored
        them for the new entry points taking HTML elements, and added
        support to getParameter. Added warnings to the console for calls
        to the obsolete entry points, which will be removed in a few
        weeks.  Updated all layout tests to use the new entry points and
        pixelStorei parameters, and associated expectations. No other new
        tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::printWarningToConsole):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):

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

        Reviewed by Dimitri Glazkov.

        [chromium] Skia mispaints pages with border-radius
        https://bugs.webkit.org/show_bug.cgi?id=40456

        Skia mispaints pages that have border radius set in some cases. The bug is in the anti aliased
        clip path logic used to implement anti aliased curves in Skia.  Since Skia internally only supports
        1-bit clips, anti aliased clipping is emulated by creating a new alpha layer, storing a set of
        clip paths on the side, and then 'erasing' the regions outside the clip.  See r49641.
        PlatformContextSkia maintains a stack of PlatformContextSkia::State objects that preserve information
        like fill color, drawing mode, etc that is manipulated by GraphicsContext::save() / 
        GraphicsContext::restore() calls as well some internal functions.  Whenever a new State object is pushed
        a new copy of the current State object is pushed onto the top of this stack using the copy c'tor.  The
        set of anti alias clip paths is also stored on the State object, but not copied when new entries are
        added as the paths only apply to that entry on the stack.

        The bug is that the state stack is stored in a WTF::Vector.  When this vector exceeds its capacity
        (by default at 16 elements) all of the existing State entries are copied into the new buffer using
        State's copy constructor.  This does not preserve the anti alias clip paths, so when the State entries
        are popped the anti aliasing info is lost.  This corrupts all further paint operations since it results
        in inbalanced save/restore calls to the underlying SkCanvas.

        The fix is to make the PlatformContextSkia::State copy constructor copy all fields and to add a new
        function PlatformContextSkia::State::cloneInheritedProperties to use when pushing new State entries
        that copies everything except for the anti aliased clip paths.

        Test: fast/css/nested-rounded-corners.html

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::State::cloneInheritedProperties):
        (PlatformContextSkia::save):

2010-06-11  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Clean up SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=40482

        SerializedScriptValue doesn't follow WebKit's style guidelines very well
        and needlessly inlines quite a bit within the .h file. This change cleans
        things up. No funcitonal changes.

        No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:

2010-06-11  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Introduce single element caches for WebCore::String to v8::String conversions
        https://bugs.webkit.org/show_bug.cgi?id=40435
        Measurements show that for some web apps (GMail, Wave) and some scenarios
        (intensive reading and/or keeping a tab open for a long time),
        hit rate lies in 30--50% interval.
        Inlining fast case gives another minor performance win.

        * bindings/v8/V8Binding.cpp:
        (WebCore::getStringCache):
        (WebCore::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString):

2010-06-11  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        [EFL] Build fix: remove unneeded file (npapi.cpp) and add
        other files that got added to the tree.
        http://webkit.org/b/40331

        * CMakeLists.txt:
        * CMakeListsEfl.txt:

2010-06-11  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
        https://bugs.webkit.org/show_bug.cgi?id=40454

        This required exposing the HTMLParser which we definitely don't want to
        do, but the good news is that it can go away when the HTMLParser goes
        away.

        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.

        * dom/Tokenizer.h:
        (WebCore::Tokenizer::htmlParser):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::htmlParser):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::htmlParser):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::htmlParser):

2010-06-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=40443

        Deleted custom JSC bindings for bufferData, texImage2D and
        texSubImage2D and fixed minor associated issues in code generator
        and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
        which now runs as intended. Ran all layout tests, including WebGL
        tests, in Safari.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
         - Deleted custom bindings.
        * bindings/scripts/CodeGeneratorJS.pm:
         - Made overload helper functions static to fix compiler warnings.
         - Added needed isObject check for overloads between object and non-object arguments.
         - Added JSValue::encode to exception return path, needed on Leopard in particular.
        * html/HTMLCanvasElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLVideoElement.idl:
         - Added GenerateNativeConverter extended attribute.
        * html/canvas/WebGLRenderingContext.idl:
         - Deleted #ifdefs for custom JSC bindings.

2010-06-11  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, add KillRingNone.cpp until we can implement it.

        * wscript:

2010-06-11  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        DOM storage should only create databases when needed
        https://bugs.webkit.org/show_bug.cgi?id=40301

        As soon as a page attempts to use localstorage, StorageAreaSync will
        create an empty database if one doesn't already exist. This can lead to
        lots of unnecessary database files. In particular, they are created
        even when the privacy settings or private browsing mode disallow
        localstorage data, which may seem odd to the user.

        Database creation should be put off in StorageAreaSync until it is time
        to actually write something to the database.

        Tests:
         manual-tests/localstorage-empty-database.html

        * manual-tests/localstorage-empty-database.html: Added.
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::openDatabase):
        (WebCore::StorageAreaSync::performImport):
        (WebCore::StorageAreaSync::sync):
        * storage/StorageAreaSync.h:
        (WebCore::StorageAreaSync::):

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

        Reviewed by Eric Seidel.

        Perl scripts for bindings don't use strict keyword.
        As result some problems in the script code were not detected at compile stage.
        https://bugs.webkit.org/show_bug.cgi?id=40468

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/IDLParser.pm:
        * bindings/scripts/IDLStructure.pm:

2010-06-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5Tokenizer should not delete itself while running scripts
        https://bugs.webkit.org/show_bug.cgi?id=40458

        Tested by fast/dom/document-clear.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::attemptToEnd):
         - Don't ever end() while running scripts.
           This matches the old HTMLTokenizer.cpp

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getActiveUniform must ensure names of arrays end in "[0]"
        https://bugs.webkit.org/show_bug.cgi?id=38709

        Test: fast/canvas/webgl/get-active-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getActiveAttrib): Append "[0]" to the name if needed.

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        readPixels with negative width/height should generate INVALID_VALUE and return
        https://bugs.webkit.org/show_bug.cgi?id=39704

        * html/canvas/WebGLRenderingContext.cpp: Deal with negative width/height.
        (WebCore::WebGLRenderingContext::readPixels):
        * html/canvas/WebGLRenderingContext.h: Change width/height type from unsigned long to long.
        * html/canvas/WebGLRenderingContext.idl: Ditto.

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        uniform* entry points must ignore the call if a null WebGLUniformLocation is passed
        https://bugs.webkit.org/show_bug.cgi?id=38707

        * html/canvas/WebGLRenderingContext.cpp: uniform* entry points ignore the call if a null WebGLUniformLocation is passed.
        (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):

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        drawElements/drawArrays should validate input parameters according to GLES2 spec
        https://bugs.webkit.org/show_bug.cgi?id=38700

        Tests: fast/canvas/webgl/draw-arrays-out-of-bounds.html
               fast/canvas/webgl/draw-elements-out-of-bounds.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::drawArrays): Validate input parameters.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::validateDrawMode): Validate mode for draw{Arrays/Elements}.
        * html/canvas/WebGLRenderingContext.h: Add validateDrawMode, fix incorrect parameter types.
        * html/canvas/WebGLRenderingContext.idl: Fix incorrect parameter types.

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

        Reviewed by Antti Koivisto.

        CSS3 Media Queries are not serialized according to CSSOM
        https://bugs.webkit.org/show_bug.cgi?id=39220

        MediaQuery serialization according to specification
        http://dev.w3.org/csswg/cssom/#serializing-media-queries.

        MediaQuery objects now ignore duplicated expressions. MediaQueryEvaluator::eval()
        now does not proccess MediaQuery objects that are known to be invalid.

        Test: fast/media/media-query-serialization.html

        * css/MediaQuery.cpp:
        (WebCore::stringCompare):
        (WebCore::MediaQuery::serialize):
        (WebCore::MediaQuery::MediaQuery):
        (WebCore::MediaQuery::~MediaQuery):
        (WebCore::MediaQuery::operator==):
        (WebCore::MediaQuery::cssText):
        (WebCore::MediaQuery::append):
        * css/MediaQuery.h:
        (WebCore::MediaQuery::ignored):
        (WebCore::MediaQuery::begin):
        (WebCore::MediaQuery::end):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::serialize):
        * css/MediaQueryExp.h:
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):


2010-06-10  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Implement more of IndexedDB's Indexes and ObjectStores
        https://bugs.webkit.org/show_bug.cgi?id=40424

        Clean up both of these classes a bit and add create/open/remove
        methods as needed.

        Tests in a future patch (promise).

        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::objectStores):
        (WebCore::IDBDatabaseImpl::createObjectStore):
        (WebCore::IDBDatabaseImpl::objectStore):
        (WebCore::IDBDatabaseImpl::removeObjectStore):
        * storage/IDBDatabaseImpl.h:
        (WebCore::IDBDatabaseImpl::name):
        (WebCore::IDBDatabaseImpl::description):
        (WebCore::IDBDatabaseImpl::version):
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        (WebCore::IDBDatabaseRequest::createObjectStore):
        (WebCore::IDBDatabaseRequest::objectStore):
        (WebCore::IDBDatabaseRequest::removeObjectStore):
        * storage/IDBDatabaseRequest.h:
        (WebCore::IDBDatabaseRequest::create):
        (WebCore::IDBDatabaseRequest::name):
        (WebCore::IDBDatabaseRequest::description):
        (WebCore::IDBDatabaseRequest::version):
        (WebCore::IDBDatabaseRequest::objectStores):
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStoreImpl.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::get):
        (WebCore::IDBObjectStoreRequest::add):
        (WebCore::IDBObjectStoreRequest::modify):
        (WebCore::IDBObjectStoreRequest::addOrModify):
        (WebCore::IDBObjectStoreRequest::remove):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::index):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:

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

        Reviewed by Pavel Feldman.

        Web Inspector: Enable serialization/deserialization of the frontend state
        https://bugs.webkit.org/show_bug.cgi?id=40228

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::saveApplicationSettings):
        (WebCore::InspectorBackend::saveSessionSettings):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setSessionSettings):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::populateApplicationSettings):
        (WebCore::InspectorFrontend::populateSessionSettings):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._settingsLoaded):
        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
        (WebInspector.EventListenersSidebarPane.prototype):
        ():
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.saveApplicationSettings):
        (.WebInspector.InspectorBackendStub.prototype.saveSessionSettings):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._selectTab):
        (WebInspector.ResourceView.prototype._selectHeadersTab):
        (WebInspector.ResourceView.prototype.selectContentTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
        * inspector/front-end/Settings.js:
        (WebInspector.populateApplicationSettings):
        (WebInspector.populateSessionSettings):
        (WebInspector.Settings):
        (WebInspector.Settings.prototype.reset):
        (WebInspector.Settings.prototype._load):
        (WebInspector.Settings.prototype._set):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._changeSetting):
        (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
        (WebInspector.ComputedStyleSidebarPane.settingsLoaded):
        (WebInspector.ComputedStyleSidebarPane.showInheritedToggleFunction):
        (WebInspector.ComputedStyleSidebarPane):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane):
        (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
        (WebInspector.WatchExpressionsSection):
        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.reset):

2010-06-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.

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

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::addNodesToSearchResult):
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::performSearch):
        (WebCore::InspectorBackend::searchCanceled):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::):
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::searchCanceled):
        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
        * inspector/InspectorDOMAgent.h:
        (WebCore::MatchJob::~MatchJob):
        (WebCore::MatchJob::MatchJob):
        (WebCore::MatchJob::addNodesToResults):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addNodesToSearchResult):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:

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

        Reviewed by Pavel Feldman.

        [Chromium] Restore 'console.profiles' access.

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

        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::stop):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::profilesAccessorGetter):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::stopUserInitiatedProfiling):

2010-06-10  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: Make a close brace in Styles pane selectable.
        https://bugs.webkit.org/show_bug.cgi?id=40157

        * inspector/front-end/inspector.css:
        (.styles-selector):
        (.styles-section .properties li):
        (.styles-section):

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

        Reviewed by Pavel Feldman.

        Web Inspector: localize missing script source message
        https://bugs.webkit.org/show_bug.cgi?id=40467

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource): fixed typo in comment.

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
        https://bugs.webkit.org/show_bug.cgi?id=40315

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateRenderingState): Check if an enabled vertext attribs is bound to a buffer.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Set bound buffer in vertex attrib state.
        * html/canvas/WebGLRenderingContext.h: Add a member in vertex attrib state to track bound buffer.

2010-05-31  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Implement the simple text code path.
        https://bugs.webkit.org/show_bug.cgi?id=40077

        Remove the FONT_FAST_PATH macro and use the Qt's
        fast text implementation instead of the one of WebKit.

        The Qt::TextBypassShaping flag is used to tell Qt to
        only use the glyph advances.

        Qt 4.7 is needed to get this flag thus the complex path is always
        used if QtWebKit is compiled against an earlier version.

        Contrary to the WebKit's implementation, the complex code path
        is taken if the text is RightToLeft, justified or is formatted
        with non-zero letter or word spacing.

        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        * platform/graphics/Font.h:
        (WebCore::Font::isRoundingHackCharacter):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::fromRawDataWithoutRef):
        (WebCore::needComplexCodePath):
        (WebCore::setupPlatformContext):
        (WebCore::Font::canReturnFallbackFontsForComplexText):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForSimpleText):
        (WebCore::Font::offsetForPositionForSimpleText):
        (WebCore::Font::selectionRectForSimpleText):

2010-06-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        Move the text code path detection code from FontFastPath.cpp to Font.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=40077

        This is a patch preliminary to the implementation of the
        simple font code path for the Qt port.

        * platform/graphics/Font.cpp:
        (WebCore::Font::setCodePath):
        (WebCore::Font::codePath):
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:

2010-06-11  Sterling Swigart  <sswigart@google.com>

        Reviewed by Dmitry Titov.

        Added AsyncImageResizer and ImageResizerThread classes, which after further
        patches will be capable of resizing images.
        https://bugs.webkit.org/show_bug.cgi?id=40018

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/AsyncImageResizer.cpp: Added.
        (WebCore::AsyncImageResizer::create):
        (WebCore::AsyncImageResizer::AsyncImageResizer):
        (WebCore::AsyncImageResizer::~AsyncImageResizer):
        (WebCore::AsyncImageResizer::notifyFinished):
        * html/AsyncImageResizer.h: Added.
        (WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo):
        (WebCore::AsyncImageResizer::):
        (WebCore::AsyncImageResizer::resizeComplete):
        (WebCore::AsyncImageResizer::resizeError):
        * html/ImageResizerThread.cpp: Added.
        (WebCore::returnBlobOrError):
        (WebCore::ImageResizerThread::start):
        (WebCore::ImageResizerThread::ImageResizerThread):
        (WebCore::ImageResizerThread::~ImageResizerThread):
        (WebCore::ImageResizerThread::imageResizerThreadStart):
        (WebCore::ImageResizerThread::imageResizerThread):
        * html/ImageResizerThread.h: Added.

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

        Reviewed by Alexey Proskuryakov.

        Client-based Geolocation does not handle multiple simultaneous requests
        https://bugs.webkit.org/show_bug.cgi?id=40148

        Test: fast/dom/Geolocation/multiple-requests.html

        The Geolocation must handle multiple calls to addObserver() from the same Geolocation object.

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

2010-06-11  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: When completing using a tab key, select very first value, not a second.
        https://bugs.webkit.org/show_bug.cgi?id=40409

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):

2010-06-10  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Implement render style selection for pages to support CSS3 Paged Media.
        https://bugs.webkit.org/show_bug.cgi?id=35961

        Test: printing/page-rule-selection.html

        * WebCore.base.exp:
        * css/CSSGrammar.y:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::specificity):
        (WebCore::CSSSelector::specificityForPage):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::CSSSelector):
        (WebCore::CSSSelector::isForPage):
        (WebCore::CSSSelector::setForPage):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::matchPageRules):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        (WebCore::CSSStyleSelector::isLeftPage):
        (WebCore::CSSStyleSelector::isFirstPage):
        (WebCore::CSSStyleSelector::pageName):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::isRightPage):
        * css/html.css:
        (@page):
        * dom/Document.cpp:
        (WebCore::Document::styleForPage):
        * dom/Document.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty):
        * page/PrintContext.h:


2010-06-10  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Fix Bug 40452: REGRESSION: printing is broken if stylesheet has @page
        https://bugs.webkit.org/show_bug.cgi?id=40452

        Test: printing/page-rule-in-media-query.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSRuleSet::addStyleRule):

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

        Unreviewed, rolling out r60989.
        http://trac.webkit.org/changeset/60989
        https://bugs.webkit.org/show_bug.cgi?id=40462

        It makes things crash (Requested by abarth on #webkit).

        * dom/Tokenizer.h:
        (WebCore::Tokenizer::isHTMLTokenizer):
        * html/HTML5Tokenizer.cpp:
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::isHTMLTokenizer):
        (WebCore::HTMLTokenizer::htmlParser):

2010-06-10  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
        https://bugs.webkit.org/show_bug.cgi?id=40454

        This required exposing the HTMLParser which we definitely don't want to
        do, but the good news is that it can go away when the HTMLParser goes
        away.

        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.

        * dom/Tokenizer.h:
        (WebCore::Tokenizer::htmlParser):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::htmlParser):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::htmlParser):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::htmlParser):

2010-06-10  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        crash when focus is changed while trying to focus next element
        https://bugs.webkit.org/show_bug.cgi?id=40407

        Test: fast/events/focus-change-crash.html

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

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

        Unreviewed, rolling out r60979.
        http://trac.webkit.org/changeset/60979
        https://bugs.webkit.org/show_bug.cgi?id=40450

        Broke build on Leopard (Requested by kbr_google on #webkit).

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        * bindings/scripts/CodeGeneratorJS.pm:
        * html/HTMLCanvasElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLVideoElement.idl:
        * html/canvas/WebGLRenderingContext.idl:

2010-06-10  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=40443

        Deleted custom JSC bindings for bufferData, texImage2D and
        texSubImage2D and fixed minor associated issues in code generator
        and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
        which now runs as intended. Ran all layout tests, including WebGL
        tests, in Safari.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
         - Deleted custom bindings.
        * bindings/scripts/CodeGeneratorJS.pm:
         - Made overload helper functions static to fix compiler warnings.
         - Added needed isObject check for overloads between object and non-object arguments.
        * html/HTMLCanvasElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLVideoElement.idl:
         - Added GenerateNativeConverter extended attribute.
        * html/canvas/WebGLRenderingContext.idl:
         - Deleted #ifdefs for custom JSC bindings.

2010-06-10  David Hyatt  <hyatt@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
        wheel delta values.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2010-06-10  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add null pointer checks for nativeImageForCurrentFrame
        function calls.
        https://bugs.webkit.org/show_bug.cgi?id=39797

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeImage):

2010-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Implement TypedArray BYTES_PER_ELEMENT
        https://bugs.webkit.org/show_bug.cgi?id=39100

        Implemented BYTES_PER_ELEMENT on all ArrayBufferView subclasses.
        Required bug fixes to JSC bindings' custom constructors. Updated
        fast/canvas/webgl/array-unit-tests.html to verify. Ran all WebGL
        layout tests in Safari and Chromium.

        * bindings/js/JSFloat32ArrayConstructor.cpp:
        (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
        (WebCore::JSFloat32ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSFloat32ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSFloat32ArrayConstructor.h:
        (WebCore::JSFloat32ArrayConstructor::createStructure):
        * bindings/js/JSInt16ArrayConstructor.cpp:
        (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
        (WebCore::JSInt16ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSInt16ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSInt16ArrayConstructor.h:
        (WebCore::JSInt16ArrayConstructor::createStructure):
        * bindings/js/JSInt32ArrayConstructor.cpp:
        (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
        (WebCore::JSInt32ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSInt32ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSInt32ArrayConstructor.h:
        (WebCore::JSInt32ArrayConstructor::createStructure):
        * bindings/js/JSInt8ArrayConstructor.cpp:
        (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
        (WebCore::JSInt8ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSInt8ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSInt8ArrayConstructor.h:
        (WebCore::JSInt8ArrayConstructor::createStructure):
        * bindings/js/JSUint16ArrayConstructor.cpp:
        (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
        (WebCore::JSUint16ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSUint16ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSUint16ArrayConstructor.h:
        (WebCore::JSUint16ArrayConstructor::createStructure):
        * bindings/js/JSUint32ArrayConstructor.cpp:
        (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
        (WebCore::JSUint32ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSUint32ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSUint32ArrayConstructor.h:
        (WebCore::JSUint32ArrayConstructor::createStructure):
        * bindings/js/JSUint8ArrayConstructor.cpp:
        (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
        (WebCore::JSUint8ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSUint8ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSUint8ArrayConstructor.h:
        (WebCore::JSUint8ArrayConstructor::createStructure):
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser should continue parsing after script execution
        https://bugs.webkit.org/show_bug.cgi?id=40416

        The previous code was just wrong.  We were always blocking
        the parser after any script execution.  Now we correctly continue
        parsing after a successful script execution and only block the
        parser when we weren't able to execute the script immediately.

        Added a new haveParsingBlockingScript() function to HTML5ScriptRunner
        to make some of the code more self-documenting.

       Test: fast/tokenizer/write-multiple-scripts.html
             fast/js/implicit-call-with-global-reentry.html

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::execute):
         - Remove some old (now bogus) FIXMEs and notImplemented() calls.
         - Fix the logic to match the HTML5 spec by continuing parsing
           after script execution and only blocking the parser when the
           script wasn't able to immediately run.
        (WebCore::HTML5ScriptRunner::haveParsingBlockingScript):
         - New function to make some of the code read better.
        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
         - Use haveParsingBlockingScript().
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Use haveParsingBlockingScript().
        (WebCore::HTML5ScriptRunner::runScript):
         - Use haveParsingBlockingScript().
        * html/HTML5ScriptRunner.h:

2010-06-10  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: to reduce the front end start up time don't push script
        sources to frontend if debugger is always enabled, instead request
        script content lazily at the moment it should be displyed. It is critical for
        always enabled debugger because in that case lots of script may have
        already been parsed when the front end is opening and pushing all
        of them at once may slow things down(even though the script sources will never
        be used if scripts panel isn't open).
        https://bugs.webkit.org/show_bug.cgi?id=40364

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getScriptSource):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::getScriptSource):
        (WebCore::InspectorController::didParseSource):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetScriptSource):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.editScriptSource):
        (.WebInspector.InspectorBackendStub.prototype.getScriptSource):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
        (WebInspector.ScriptView.prototype._didGetScriptSource):
        (WebInspector.ScriptView.prototype._sourceFrameSetupFinished):

2010-06-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Use allowRequestIfNoIllegalURICharacters instead of context for XSSAuditor::canLoadExternalScriptFromSrc
        https://bugs.webkit.org/show_bug.cgi?id=40404

        We originally added the context parameter to
        canLoadExternalScriptFromSrc to work around some false positives caused
        by folks checking external script URLs on the server.  Our thought was
        that we could tell these were not real XSS attacks because the
        surrounding context wouldn't match in the URL and the document.

        Implementing this feature in the HTML5 parser is hard because it
        pierces a layer of abstraction (the token abstraction of the input
        stream).  We could hack this into the new parser, but instead I think
        it's better to switch to using the allowRequestIfNoIllegalURICharacters
        heuristic.

        We designed the allowRequestIfNoIllegalURICharacters after the context
        heuristic to deal with other cases where the server was validating
        input before echoing it.  However, we never tried applying it to
        canLoadExternalScriptFromSrc.

        It's possible that this will cause false positives and will need to be
        reverted, which is why I've left in some of the infrustructure for
        computing context.  We don't have a good way to know if that will
        happen except to try.  We do know, however, that this heuristic will
        work for the original false positives we saw.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        * page/XSSAuditor.h:

2010-06-10  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Add ENABLE(DATABASE) guard for DatabaseAuthorizer.cpp
        https://bugs.webkit.org/show_bug.cgi?id=40399

        Build fix for ENABLE(DATABASE)=0.

        * storage/DatabaseAuthorizer.cpp:

2010-06-10  Shu Chang  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Change the type of ShadowBlur from int to float in GraphicsContext.
        Using int for ShadowBlur loses precision and fails the test.
        Note: This code change fixes Qt port but Mac is still failing due to
        platform issue. Function CGContextSetShadowWithColor() does not take
        a blur value less than 0.5.

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

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::getShadow):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::drawFilledShadowPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

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

        Reviewed by Kenneth Rohde Christiansen.

        Support for loading notification icons
        https://bugs.webkit.org/show_bug.cgi?id=40396

        Make notification objects download the icon needed for displaying the
        notification before calling the NotificationPresenter to display the
        notification.

        An error during the download would cause the notification to be displayed
        without an icon.

        If a notification is in the process of download, and a new notification
        is created with the same ReplaceId, the download is not cancelled
        immediately and the notification is removed only after the download is
        complete.
  
        Tests: http/tests/notifications/icon-does-not-exist.html
               http/tests/notifications/icon-exists-cancel.html
               http/tests/notifications/icon-exists-show-alert-during-load.html
               http/tests/notifications/icon-exists.html
               http/tests/notifications/icon-requires-auth.html

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        (WebCore::Notification::~Notification):
        (WebCore::Notification::show):
        (WebCore::Notification::cancel):
        (WebCore::Notification::startLoading):
        (WebCore::Notification::stopLoading):
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::didReceiveData):
        (WebCore::Notification::didFinishLoading):
        (WebCore::Notification::didFail):
        (WebCore::Notification::didFailRedirectCheck):
        (WebCore::Notification::didReceiveAuthenticationCancellation):
        (WebCore::Notification::finishLoading):
        * notifications/Notification.h:
        (WebCore::Notification::iconData):
        (WebCore::Notification::releaseIconData):
        (WebCore::Notification::):

2010-06-10  Raine Makelainen  <raine.makelainen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Impossible to set input method hints based HTML5 input types
        https://bugs.webkit.org/show_bug.cgi?id=40107

        Helper methods for checking "tel", "number", "email",
        and "url" input element types.

        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isTelephoneField):
        (WebCore::HTMLInputElement::isNumberField):
        (WebCore::HTMLInputElement::isEmailField):
        (WebCore::HTMLInputElement::isUrlField):

2010-06-10  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Jian Li.

        Don't convert filenames to URLs in edit drags.
        https://bugs.webkit.org/show_bug.cgi?id=38826

        For security reasons, we don't want to expose file system paths to web
        content, so we filter them out of edit drags.

        Test: editing/pasteboard/file-drag-to-editable.html

        * page/DragController.cpp:
        (WebCore::documentFragmentFromDragData):
        * platform/DragData.h:
        (WebCore::DragData::):
        * platform/android/DragDataAndroid.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/efl/DragDataEfl.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/haiku/DragDataHaiku.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::getURL):
        (WebCore::getPlainText):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::getData):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/wince/DragDataWince.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/wx/DragDataWx.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):

2010-06-10  Mike Belshe  <mbelshe@chromium.org>

        Reviewed by David Levin

        Track whether a resource is loaded via a proxy.

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

        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::wasFetchedViaProxy):
        (WebCore::ResourceResponse::setWasFetchedViaProxy):

2010-06-10  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Kent Tamura

        Bug 38224 - [chromium] Enable rendering of Ethiopic, Lao, Tibetan 
                    and a few other scripts on Win XP

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

        Make it possible to specify a list of fonts for per-script
        fallback instead of a single font per script. This is
        necessary for Malayalam (for which Windows font doesn't
        support Unicode 5.x fully on Vista or earlier), Ethiopic 
        (we want to support on XP with a 3rd party font because XP
        doesn't have any Ethiopic font out of the box) and some other
        scripts. This is a short-term 'fix' until we have per-script
        font preferences.

        No layout test is added because the test results would be
        dependent on which fonts are present. 

        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        (WebCore::):
        (WebCore::FontMap::ScriptToFontFamilies::):

2010-06-09  Andrei Popescu  <andreip@google.com>

        Reviewed by Adam Barth.

        CodeGeneratorJS.pm incorrectly increments $paramIndex when a method is declared with [CallWith]
        https://bugs.webkit.org/show_bug.cgi?id=40372

        Use two variables to keep track of the number of arguments passed from JavaScript vs the number
        of arguments passed to the corresponding C++ method. These numbers can be different since
        the parameter declared via [CallWith] is generated in the bindings instead of being passed
        from JavaScript.

        Test: storage/indexeddb/idb-objectstore-request.html

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::withScriptExecutionContext):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):

2010-06-09  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Refactoring: Simple shadow elements should be factored out .
        https://bugs.webkit.org/show_bug.cgi?id=40400
        
        Pulled ShadowElement class up from SliderThumbElement,
        ProgressValueElement, ShadowInputElement. 
        And renamed ProgressValueElement to ShadowBlockElement.

        No new tests. Because there is no functional change.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::updateValuePartState):
        * rendering/RenderProgress.h:
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::SliderThumbElement::detach):
        * rendering/ShadowElement.cpp: Added.
        (WebCore::ShadowBlockElement::create):
        (WebCore::ShadowBlockElement::ShadowBlockElement):
        (WebCore::ShadowInputElement::create):
        (WebCore::ShadowInputElement::ShadowInputElement):
        * rendering/ShadowElement.h: Added.
        (WebCore::ShadowElement::ShadowElement):
        (WebCore::ShadowElement::isShadowNode):
        (WebCore::ShadowElement::shadowParentNode):

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        Another fix for Qt.

        * page/Frame.h:
         - Include CSSMutableStyleDeclaration.h since it's used by m_typingStyle = 0;

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        More attempted build fixes for Tiger and Qt.

        * page/Frame.cpp:
        * page/Frame.h:

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        Add a few more RenderLayer.h includes to fix non-mac builds.

        * page/FrameView.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderTreeAsText.cpp:

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        Cleaned up FrameView.h includes and then propagated the
        cascade of includes to the necessary .cpp files.
        This should reduce the set of files rebuilt every
        time FrameView.h changes, and should also reduce the size
        of some .o files.

        No functional changes, thus no tests.

        * accessibility/AccessibilityRenderObject.cpp:
        * dom/ContainerNode.cpp:
        * dom/Document.cpp:
        * dom/Element.cpp:
        * dom/EventTarget.h:
        * dom/Node.cpp:
        * editing/EditorCommand.cpp:
        * editing/SelectionController.cpp:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::script):
         - No need for this to be inline.  Being inline required
           Frame.h in the header, which causes huge include cascade.
        * html/HTML5Tokenizer.h:
        * page/DragController.cpp:
        * page/EventHandler.cpp:
        * page/Frame.h:
        * page/FrameView.h:
        * page/PrintContext.cpp:
        * page/SpatialNavigation.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlockLineLayout.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderInline.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderWidget.cpp:
        * rendering/SVGRenderSupport.cpp:

2010-06-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move HTML5 entity parser to its own file
        https://bugs.webkit.org/show_bug.cgi?id=40406

        Moving this algorithm to its own file better encapsulates its
        dependencies and makes it callable from other parts of WebCore.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5EntityParser.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
        (WebCore::):
        (WebCore::consumeHTML5Entity):
        * html/HTML5EntityParser.h: Copied from WebCore/html/HTML5Lexer.h.
        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::processEntity):
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:

2010-06-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        HTML5 Parser: Fix fast/profiler tests that depend on event handler line numbers
        https://bugs.webkit.org/show_bug.cgi?id=40393

        This emulated the old behavior in HTMLTokenizer:processToken()

        No new tests because covered by:
         - fast/profiler/dead-time.html
         - fast/profiler/inline-event-handler.html
         - fast/profiler/stop-profiling-after-setTimeout.html
         - fast/profiler/throw-exception-from-eval.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):

2010-06-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=9504
        img tag rewritten by innerHTML doesn't use image map

        Test: fast/dom/replaced-image-map.html

        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::~HTMLMapElement): Destructor is not a good place to make changes
        that affect page behavior, because destructors are called by garbage collector. Don't
        undregister the image map from here.
        (WebCore::HTMLMapElement::parseMappedAttribute): Only tell document about the map if it's
        actually in document. A map in a detached subtree isn't used by Firefox at least.
        (WebCore::HTMLMapElement::insertedIntoDocument): Register the map.
        (WebCore::HTMLMapElement::removedFromDocument): Unregister the map.

        * html/HTMLMapElement.h: Added insertedIntoDocument/removedFromDocument overrides.

2010-06-09  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Ojan Vafai.

        Bug 35632 -  htmlediting.cpp : isEmptyTableCell() is incomplete
        https://bugs.webkit.org/show_bug.cgi?id=35632

        Correct isEmptyTableCell to check for the presence of other renderer
        children.

        Test: editing/deleting/delete-br-in-last-table-cell.html

        * editing/htmlediting.cpp:
        (WebCore::isEmptyTableCell):

2010-06-09  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.transformation.html
        https://bugs.webkit.org/show_bug.cgi?id=38598

        In path transform function handle path only have moveElement case.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::transform):

2010-06-09  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] First phase of switching to new named property query API
        https://bugs.webkit.org/show_bug.cgi?id=40303

        To allow better management of attributes of intercepted properties,
        we're starting to switch to new named property query API which
        now could return attributes instead of simple property present/absent
        flag.  The next step would remove USE_NEW_QUERY_CALLBACK, then
        v8 would have them enabled by default.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/NPV8Object.cpp:
        * bindings/v8/ScriptArray.cpp:
        * bindings/v8/ScriptCallStack.cpp:
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8GCController.cpp:
        * bindings/v8/V8IsolatedContext.cpp:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectQueryProperty):
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Storage::namedPropertyQuery):
        * config.h:

2010-06-09  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Need to include V8Proxy.h in V8 generated bindings for toV8Context()
        https://bugs.webkit.org/show_bug.cgi?id=40290

        No new tests, build fix only.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-06-09  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        WebGL rendering context does not activate unless accelerated
        compositing is enabled from settings.
        https://bugs.webkit.org/show_bug.cgi?id=37772

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):

2010-06-09  Yong Li  <yoli@rim.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=40252
        Make image down-sampling threshold runtime adjustable.

        No new test needed.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::setData):
        * platform/graphics/ImageSource.h:
        (WebCore::ImageSource::maxPixelsPerDecodedImage):
        (WebCore::ImageSource::setMaxPixelsPerDecodedImage):

2010-06-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix handling of bytes received from the network while in document.write
        https://bugs.webkit.org/show_bug.cgi?id=40356

        The old tokenizer has specially logic for handling the case of
        receiving bytes from the network while in a nested call to
        document.write.  This patch implements similar logic for the HTML5
        tokenizer.  Also, this patch abstracts the tricky shuffling of
        SegmentedStrings behind a simple API.

        I'm not sure how to trigger this case.  My guess is we can trigger it
        using a nested event loop, e.g., via alert(), but I'm not sure how to
        test that in a LayoutTest.  There don't appear to be any LayoutTests
        that currently test this behavior despite it being present in the old
        tokenizer.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):
        (WebCore::HTML5Tokenizer::write):
            - Added a branch for the |append| argument.
        (WebCore::HTML5Tokenizer::end):
        (WebCore::HTML5Tokenizer::finish):
        (WebCore::HTML5Tokenizer::executeScript):
            - Switch over to using a RAII pattern for recording and restoring
              insertion points.
        * html/HTML5Tokenizer.h:
        (WebCore::HTML5Tokenizer::InputStream::InputStream):
        (WebCore::HTML5Tokenizer::InputStream::appendToEnd):
        (WebCore::HTML5Tokenizer::InputStream::insertAtCurrentInsertionPoint):
        (WebCore::HTML5Tokenizer::InputStream::close):
            - Putting the close() method on InputStream makes it much easier to
              handle EOF.  We now just close the last buffer in the stream when
              the network says it's done.
        (WebCore::HTML5Tokenizer::InputStream::current):
            - This class could be moved to its own file, but it shouldn't be
              used outside of the tokenizer.
        (WebCore::HTML5Tokenizer::InsertionPointRecord::InsertionPointRecord):
        (WebCore::HTML5Tokenizer::InsertionPointRecord::~InsertionPointRecord):
            - A simple RAII class for managing saved insertion points.
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::operator=):
            - Fix a related bug where m_closed was not being copied properly in
              the assignment operator.

2010-06-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Fix fast/parser/hex-entities-length.html for HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40385

        Stripping surrogate pair values appears to be a problem with the spec
        in "Preprocessing the input stream." Minefield doesn't appear to
        implement the part in question. So this patch removes that guard and
        adds a FIXME to track the issue.

        No new tests because covered by fast/parser/hex-entities-length.html

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):

2010-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Update readPixels to take ArrayBufferView rather than returning it
        https://bugs.webkit.org/show_bug.cgi?id=40322

        No new tests; covered by existing tests, which have been modified.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2010-06-09  Enrico Ros  <eros@codeaurora.org>

        Reviewed by Ariya Hidayat.

        Fix drawing zero-sized gradients on Canvas.
        https://bugs.webkit.org/show_bug.cgi?id=40340

        HTML5 draft says that nothing must be painted if the gradient start
        point equals the stop point.

        This commit fixes the following canvas test:
        http://philip.html5.org/tests/canvas/suite/tests/2d.gradient.interpolate.zerosize.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect): skip zero-sized linear gradients
        * platform/graphics/Gradient.h:
        (WebCore::Gradient::isRadial): made public
        (WebCore::Gradient::isZeroSize): true if start == stop

2010-06-09  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Adam Treat.

        [EFL] Allow building core libraries as shared objects to speed up
        linking time on machines with small amounts of memory.
        http://webkit.org/b/39899

        * CMakeLists.txt: If building with shared core, install the lib.
        Remove npapi.cpp (causes conflicts when linking dynamically).
        * CMakeListsEfl.txt: EFL libraries are needed to link dynamically.

2010-06-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/8070662> REGRESSION (r51629): WebBackForwardList created via -init crashes when -addItem: is called.

        A WebBackForwardList created via -init results in a BackForwardList being created with a null m_page.
        BackForwardList needs to be careful not to dereference m_page without first ensuring it's not null.

        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::addItem): Null-check m_page.
        (WebCore::BackForwardList::goBack): Ditto.
        (WebCore::BackForwardList::goForward): Ditto.
        (WebCore::BackForwardList::goToItem): Ditto.
        (WebCore::BackForwardList::setCapacity): Ditto.

2010-06-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add dummy Context Menu implementation
        https://bugs.webkit.org/show_bug.cgi?id=40223

        Brew MP does not use Context Menu. Add dummy implementation.

        * platform/brew/ContextMenuBrew.cpp: Added.
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemWithAction):
        (WebCore::ContextMenu::itemAtIndex):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::platformDescription):
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/brew/ContextMenuItemBrew.cpp: Added.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):
        (WebCore::ContextMenuItem::enabled):

2010-06-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port Clipboard
        https://bugs.webkit.org/show_bug.cgi?id=35734

        Add dummy Clipboard.

        * platform/brew/ClipboardBrew.cpp: Added.
        (WebCore::ClipboardBrew::ClipboardBrew):
        (WebCore::ClipboardBrew::~ClipboardBrew):
        (WebCore::ClipboardBrew::clearData):
        (WebCore::ClipboardBrew::clearAllData):
        (WebCore::ClipboardBrew::getData):
        (WebCore::ClipboardBrew::setData):
        (WebCore::ClipboardBrew::types):
        (WebCore::ClipboardBrew::files):
        (WebCore::ClipboardBrew::setDragImage):
        (WebCore::ClipboardBrew::setDragImageElement):
        (WebCore::ClipboardBrew::createDragImage):
        (WebCore::ClipboardBrew::declareAndWriteDragImage):
        (WebCore::ClipboardBrew::writeURL):
        (WebCore::ClipboardBrew::writeRange):
        (WebCore::ClipboardBrew::writePlainText):
        (WebCore::ClipboardBrew::hasData):
        * platform/brew/ClipboardBrew.h: Added.

2010-06-09  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        [Qt] ClipboardQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39781

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::declareAndWriteDragImage):

2010-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Rename FloatArray to Float32Array
        https://bugs.webkit.org/show_bug.cgi?id=40323

        Used do-webcore-rename to perform renaming. Manually undid
        incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
        WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
        ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
        all layout tests on Safari; built Chromium and ran selected WebGL
        tests.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::float32ArrayEnabled):
        * bindings/js/JSArrayBufferViewCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::float32Array):
        (WebCore::JSDOMWindow::webGLFloatArray):
        * bindings/js/JSFloat32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSFloatArrayConstructor.cpp.
        (WebCore::):
        (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
        (WebCore::constructCanvasFloatArray):
        (WebCore::JSFloat32ArrayConstructor::getConstructData):
        * bindings/js/JSFloat32ArrayConstructor.h: Copied from WebCore/bindings/js/JSFloatArrayConstructor.h.
        * bindings/js/JSFloat32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSFloatArrayCustom.cpp.
        (WebCore::JSFloat32Array::indexSetter):
        (WebCore::toJS):
        (WebCore::JSFloat32Array::set):
        * bindings/js/JSFloatArrayConstructor.cpp: Removed.
        * bindings/js/JSFloatArrayConstructor.h: Removed.
        * bindings/js/JSFloatArrayCustom.cpp: Removed.
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::dataFunctionf):
        (WebCore::dataFunctionMatrix):
        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8FloatArrayCustom.cpp.
        (WebCore::V8Float32Array::constructorCallback):
        (WebCore::V8Float32Array::setCallback):
        (WebCore::toV8):
        * bindings/v8/custom/V8FloatArrayCustom.cpp: Removed.
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformMatrixHelper):
        * html/canvas/Float32Array.cpp: Copied from WebCore/html/canvas/FloatArray.cpp.
        (WebCore::Float32Array::create):
        (WebCore::Float32Array::Float32Array):
        (WebCore::Float32Array::slice):
        * html/canvas/Float32Array.h: Copied from WebCore/html/canvas/FloatArray.h.
        * html/canvas/Float32Array.idl: Copied from WebCore/html/canvas/FloatArray.idl.
        * html/canvas/FloatArray.cpp: Removed.
        * html/canvas/FloatArray.h: Removed.
        * html/canvas/FloatArray.idl: Removed.
        * html/canvas/WebGLGetInfo.cpp:
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        (WebCore::WebGLGetInfo::getWebGLFloatArray):
        * html/canvas/WebGLGetInfo.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * page/DOMWindow.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

2010-06-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser needs to integrate with the XSSAuditor
        https://bugs.webkit.org/show_bug.cgi?id=40287

        This fixes most of the XSSAuditor tests, except for the ones
        which rely on the srcValue "context".  The previous HTMLTokenizer
        implementation was both Lexer and ScriptRunner and thus could
        provide the XSSAuditor with the un-modified attribute source.
        This naive implementation will fail the context-sensitive tests
        but Adam Barth says he'll just have to find a new way to provide
        the required information to the XSSAuditor in a later patch.

        Covered by numerous http/tests/security/xssAuditor tests.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::requestScript):
         - Ask the HTML5ScriptRunner host before running any scripts.
        * html/HTML5ScriptRunnerHost.h:
         - Add a shouldLoadExternalScriptFromSrc declaration.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
         - Ask the XSSAuditor if we're allowed to run the passed script.
        * html/HTML5Tokenizer.h:

2010-06-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Fix script-after-frameset test in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40274

        The old HTMLTokenizer enforced this in scriptHandler(). We don't use
        that code anymore, so it needs to be implemented. The spec does this
        as a part of "insertion mode"->"after frameset", so this adds an
        InsertionMode enum instead of a one-off boolean.

        No new tests because covered by fast/tokenizer/script-after-frameset.html

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::):
        (WebCore::HTML5TreeBuilder::setInsertionMode):
        (WebCore::HTML5TreeBuilder::insertionMode):

2010-06-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add EventLoop
        https://bugs.webkit.org/show_bug.cgi?id=39401

        BREW MP does not have an explicit event loop. Add dummy EventLoop::cycle.

        * platform/brew/EventLoopBrew.cpp: Added.
        (WebCore::EventLoop::cycle):

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

        Unreviewed, rolling out r60889.
        http://trac.webkit.org/changeset/60889
        https://bugs.webkit.org/show_bug.cgi?id=40365

        gtk bot has some kind of memory corruption (Requested by
        loislo on #webkit).

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/front-end/inspector.js:
        * loader/EmptyClients.h:

2010-06-09  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Carlson.

        [Windows] Build fix on Japanese Windows
        https://bugs.webkit.org/show_bug.cgi?id=40358

        cl.exe on Japanese Windows assumes files with invalid CP932
        sequences broken and doesn't build them at all.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Remove non-ASCII characters
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: ditto.
        * platform/graphics/win/WKCAImageQueue.cpp: ditto.
        * platform/graphics/win/WKCAImageQueue.h: ditto.

2010-06-09  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Add isDebuggerAlwaysEnabled method to ScriptDebugServer.
        This method returns true if debugger should always be enabled when
        frontend is attached.
        https://bugs.webkit.org/show_bug.cgi?id=40289

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setFrontend):

2010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
        data from inspected page to WebInspector as JSON string via http. The native
        serialization to JSON string is supported by InspectorValue's classes. This patch
        has the implementation of sendMessageToFrontend function. WebKit version of it still
        uses ScriptFunctionCall and will be switched to another transport a little bit later.
        https://bugs.webkit.org/show_bug.cgi?id=40134

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatchMessageToFrontend):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::sendMessageToFrontend):

2010-06-09  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Dirk Schulze.

        [Qt] Imperfect dependency for generated SVGNames.cpp
        https://bugs.webkit.org/show_bug.cgi?id=40359

        * WebCore.pri: Missing dependency added.

2010-06-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
        https://bugs.webkit.org/show_bug.cgi?id=31438
        
        This is the implementation of the SVG property vector-effect according
        to the specification of SVG Tiny 1.2.
        getScreenCTM() was not able to calculate the transformation matrix in
        comparison to the host coordinate system for objects, that get refereced
        by a use element. This is fixed and covered by the the new test as well.
        This patch is based upon a patch of Jeff Schiller.

        Test: svg/custom/non-scaling-stroke.svg

        * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
        (WebCore::):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
        * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
        (WebCore::fillAndStrokePath):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
        (WebCore::):
        * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
        (WebCore::SVGLocatable::computeCTM):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2010-06-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK

        Revert the change to ContextMenu::addInspectElementItem from r56051. It was made without
        explanation and broke a reliance that WebKit has on the presence of a separator before the
        Inspect Element menu item. This also restores the context menu item to the correct location
        at the bottom of the context menu in applications built against the Mac OS X 10.4 SDK.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::addInspectElementItem):

2010-06-08  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed build fix

        Bug 38145 - Validate *tex* functions input parameters according to ES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=38145
        https://bugs.webkit.org/show_bug.cgi?id=40346

        Fix for 38145 broke the build ('log2 not found' on Windows),
        the fix from 40346 also didn't catch ('log ambiguous').

        2nd quick fix: add explicit casts to double and use double constants.

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):

2010-05-18  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
        Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
        Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
        https://bugs.webkit.org/show_bug.cgi?id=34529

        Test: fast/css/selector-text-escape.html

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSOMUtils.cpp: Added.
        (WebCore::appendCharacter):
        (WebCore::serializeCharacter):
        (WebCore::serializeCharacterAsCodePoint):
        (WebCore::serializeIdentifier):
        (WebCore::serializeString):
        * css/CSSOMUtils.h: Added.
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::selectorText):

2010-06-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia

        InsertListCommand needs cleanup
        https://bugs.webkit.org/show_bug.cgi?id=36430

        Separated code for listifying and unlistifying paragraphs.
        Also isolated the dependency on the selection in doApply.

        No test is added since this is a cleanup.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): isolated code to listify / unlistify paragraphs
        (WebCore::InsertListCommand::unlistifyParagraph): ditto
        (WebCore::InsertListCommand::listifyParagraph): ditto
        * editing/InsertListCommand.h:

2010-06-08  Kenneth Russell  <kbr@google.com>

        Unreviewed, build fix.

        Fix build breakage from 38145
        https://bugs.webkit.org/show_bug.cgi?id=40346

        The fix for bug 38145 broke the Chromium Win build because
        Microsoft's cmath doesn't define log2. Suggested fix by zmo is to
        change log2(x) to log(x) / log(2). Built and ran WebGL layout
        tests in Safari on Mac OS X. Changed download mirrors for
        python-irclib to working ones.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):

2010-06-08  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Validate *tex* functions input parameters according to ES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=38145

        Test: fast/canvas/webgl/tex-input-validation.html

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::getColorBufferFormat): Get color buffer internalformat.
        * html/canvas/WebGLFramebuffer.h: Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with max tex units and max texture size.
        (WebCore::WebGLRenderingContext::copyTexImage2D): Validate input parameters.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::texParameterf): Ditto.
        (WebCore::WebGLRenderingContext::texParameteri): Ditto.
        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::handleNPOTTextures): Deal with max tex units.
        (WebCore::WebGLRenderingContext::isTexInternalformatColorBufferCombinationValid): Check whether the texture format and framebuffer color buffer internalformat combination is valid.
        (WebCore::WebGLRenderingContext::getTextureBinding): get the current bound texture for given target.
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Validate input format/type for *tex* functions.
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Validate input parameters for *tex* functions.
        (WebCore::WebGLRenderingContext::texParameter): Base function for texParameteri and texParameterf.
        * html/canvas/WebGLRenderingContext.h: Deal with max tex units.
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::WebGLTexture): Cache internalformat.
        * html/canvas/WebGLTexture.h: Ditto.
        (WebCore::WebGLTexture::setInternalformat):
        (WebCore::WebGLTexture::getInternalformat):
        * platform/graphics/GraphicsContext3D.cpp: internalformat and format need to be the same.
        (WebCore::GraphicsContext3D::extractImageData):

2010-06-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
                                           returns false.

2010-06-08  Enrico Ros  <eros@codeaurora.org>

        Reviewed by Ariya Hidayat.

        [Qt] Crashfix on Path::contains
        https://bugs.webkit.org/show_bug.cgi?id=40253

        Fix accessing the first item of an empty vector, that happens when
        CanvasRenderingContext2D::isPointInPath is invoked over a borderless
        path (e.g. a path made of just a MoveTo operation).

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::isPointOnPathBorder):

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

        Unreviewed, rolling out r60859.
        http://trac.webkit.org/changeset/60859
        https://bugs.webkit.org/show_bug.cgi?id=40334

        Included debugging statements. Caused a test to fail.
        (Requested by ojan on #webkit).

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

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

        Unreviewed, rolling out r60858.
        http://trac.webkit.org/changeset/60858
        https://bugs.webkit.org/show_bug.cgi?id=40325

        Qt needs a clean build. Rolling out the patch for now and fix
        it tomorrow (Requested by krit on #webkit).

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        * css/CSSPrimitiveValueMappings.h:
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in:
        * rendering/RenderPath.cpp:
        (WebCore::fillAndStrokePath):
        * rendering/RenderSVGResourceContainer.h:
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h:
        (WebCore::):
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::computeCTM):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2010-06-08  Daniel Bates  <dbates@rim.com>

        Unreviewed, fix Xcode project file after change-set 60841.

        Xcode is not happy about the entries for files EditingBehavior.h and
        EditingBehaviorTypes.h that were added in change-set 60841 (Bug # 39854).
        Lets make Xcode happy.

        Also, lets place these entries in alphabetic order.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        We should not clear the selection when canStartSelection returns false.

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
                                           returns false.

2010-06-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
        https://bugs.webkit.org/show_bug.cgi?id=31438
        
        This is the implementation of the SVG property vector-effect according
        to the specification of SVG Tiny 1.2.
        getScreenCTM() was not able to calculate the transformation matrix in
        comparison to the host coordinate system for objects, that get refereced
        by a use element. This is fixed and covered by the the new test as well.
        This patch is based upon a patch of Jeff Schiller.

        Test: svg/custom/non-scaling-stroke.svg

        * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
        (WebCore::):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
        * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
        (WebCore::fillAndStrokePath):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
        (WebCore::):
        * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
        (WebCore::SVGLocatable::computeCTM):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2010-06-08  Alexey Proskuryakov  <ap@apple.com>

        * GNUmakefile.am: Also adding platform/Cursor.cpp to Gtk build.

2010-06-08  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r60849.

        * WebCore.pro: platform/Cursor.cpp is added to Qt build system.

2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Unreviewed Buildbot fix.

        Reset the Qt TextBreakIterator when reusing it.

        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::setUpIterator):

2010-06-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=15779
        <rdar://problem/8002964> Custom CSS .cur cursor anchor point is ignored

        Test: manual-tests/cur-hotspot.html

        Currently, this patch only has effect in Safari 5 on Windows. Other platforms will need
        to implement getting hot spot information from .cur files.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added Cursor.cpp. Looks like TextWrangler fixed line endings in vcproj file.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::CSSCursorImageValue): Renamed "hotspot" to "hotSpot" to match
        other code.
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Ditto. Added a FIXME about possibly
        incorrect code for resolving differences with CSS specified hotspot.

        * css/CSSCursorImageValue.h:
        (WebCore::CSSCursorImageValue::create):
        (WebCore::CSSCursorImageValue::hotSpot):
        Renamed "hotspot" to "hotSpot" to match other code.

        * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Start with an invalid value for hot
        spot, so that we can differentiate between missing and (0, 0) CSS hot spots. Missing and
        invalid (-1, -1) are treated identically by Firefox, so we don't need to differentiate these.

        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Renamed "hotspot" to
        "hotSpot" to match other code.

        * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Don't ignore cursors with
        invalid CSS hot spots. Firefox ignores only the hot spot, not the whole cursor in this case
        (and IE doesn't support CSS3 cursor declarations).

        * platform/Cursor.cpp: Added. (WebCore::determineHotSpot): Added a function that decides
        where hot spot is, provided an image and a possible out of band coordinate specification.

        * platform/Cursor.h: Added determineHotSpot().

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::getHotSpot):
        * platform/graphics/BitmapImage.h:
        * platform/graphics/Image.h:
        (WebCore::Image::getHotSpot):
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::getHotSpot):
        * platform/graphics/ImageSource.h:
        Added plumbing to get hot spot data from an image provider.

        * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::getHotSpot): CG implemantation.

        * platform/mac/CursorMac.mm: (WebCore::createCustomCursor): Call determineHotSpot() to 
        determine where hot spot should be.
        (WebCore::Cursor::Cursor): Renamed "hotspot" to "hotSpot" to match other code.

        * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Call determineHotSpot() to determine
        where hot spot should be.

        * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): Ditto. This must be done despite
        this platform not having an implementation for ImageSource::getHotSpot(), because we no longer
        check for out of bounds hot spots in EventHandler::selectCursor().

        * platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): Ditto.

2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Antti Koivisto.

        [Qt] TextBreakIterator Qt performance
        https://bugs.webkit.org/show_bug.cgi?id=39958

        Rework TextBreakIteratorQt to be more in line with the ICU version.

        We now reuse iterators where ever possible. The string data is compared
        with memcmp, which should be faster than using a hash, as you need
        to traverse the full buffer in the case the strings don't match,
        where as the compare would fail quickly.

        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::TextBreakIterator::TextBreakIterator):
        (WebCore::setUpIterator):
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::lineBreakIterator):
        (WebCore::sentenceBreakIterator):

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

        Unreviewed build fix after r60785.

        [GTK] Add missing GtkVersioning.h include to fix the build
        on older GTK+ versions.

        No new tests needed.

        * platform/gtk/WidgetGtk.cpp:

2010-06-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extend ScriptDebugServer to support script source editing
        https://bugs.webkit.org/show_bug.cgi?id=40297

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::editScriptSource):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::editScriptSource):
        (WebCore::InspectorController::currentCallFrames):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::didContinue):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didEditScriptSource):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/Script.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.canEditScripts):
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._editLine):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._handleDoubleClick):
        (WebInspector.TextViewer.prototype._commitEditingLine):
        * inspector/front-end/inspector.css:
        (#scripts-files option.extension-script):

2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Ojan Vafai and Darin Adler.

        Refactor platform dependent editing behavior code out of Settings
        https://bugs.webkit.org/show_bug.cgi?id=39854

        As per discussion in bug 36627, Darin Adler suggested: "before the addition of any new EditingBehavior,
        I think we to add functions to translate the overall behavior policy into specific behaviors rather than
        directly saying 'behavior == Mac' or 'behavior == Windows'. Helper functions that expression the different
        rules in plain language.". Patch addresses this request.

        No behavior change, so no new tests.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore/WebCore.vcproj/WebCore.vcproj
        * WebCore/WebCore.xcodeproj/project.pbxproj
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Moved out EditingBehavior enum to WebCore/editing/EditingBehaviorTypes.h,
        and renamed to EditingBehaviorTypes.
        (WebCore::Settings::setEditingBehaviorType): Renamed from setEditingBehavior.
        (WebCore::Settings::editingBehaviorType): Renamed from editingBehavior.
        * editing/EditingBehavior.h: Added.
        (WebCore::EditingBehavior::EditingBehavior): Class to work as a central point for
        editing behavior that might have to be handled differently in the different platforms/ports.
        Class should be not used or instantiated directly, but rather implicitly constructed
        through the Editor class.
        (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
        (WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
        (WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
        * editing/EditingBehaviorTypes.h: Added.
        (WebCore::):
        * editing/Editor.cpp:
        (WebCore::Editor::behavior): Getter for EditingBehavior class.
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::setIsDirectional):
        (WebCore::SelectionController::positionForPlatform):
        (WebCore::SelectionController::modify):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForPointWithInlineChildren):

        - Call sites will look like:
        if (frame->editor()->behavior().shouldThisIfThat()))
           // do something

2010-06-08  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists
        https://bugs.webkit.org/show_bug.cgi?id=40162

        Before making callbacks, we check that the relevant ScriptExecutionContext still exists.
        To achieve this, the callbacks inherit from ActiveDOMObject.

        The ScriptExecutionContext is ref'ed from script, so may not be GC'ed for some time after
        it is disconnected from its frame. Making the callback currently involves accessing the
        Frame, so an additional check for the Frame is required.

        This change also prevents the V8 bindings from incorrectly holding a reference to the Frame.

        Test: fast/dom/Geolocation/callback-to-deleted-context.html

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomPositionCallback.cpp:
        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
        (WebCore::JSCustomPositionCallback::handleEvent):
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
        (WebCore::JSCustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionCallback.cpp:
        (WebCore::V8CustomPositionCallback::V8CustomPositionCallback):
        (WebCore::V8CustomPositionCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionCallback.h:
        (WebCore::V8CustomPositionCallback::create):
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
        (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback):
        (WebCore::V8CustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionErrorCallback.h:
        (WebCore::V8CustomPositionErrorCallback::create):
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        (WebCore::createPositionCallback):
        (WebCore::createPositionErrorCallback):
        * page/PositionCallback.h:
        (WebCore::PositionCallback::PositionCallback):
        * page/PositionErrorCallback.h:
        (WebCore::PositionErrorCallback::PositionErrorCallback):

2010-06-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Avoid duplicated signals in DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=40170

        Do not create duplicated event signals between a class and its
        ancestor.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-06-08  MORITA Hajime  <morrita@google.com>

        Unreviewd. Touched the file to force rebuild.

        * html/HTMLMeterElement.idl:

2010-06-08  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Fix the math for transform matrices of composited layers. There
        were problems both with how content layers were setting their position and
        how the overal matrix stack was computed when the layer anchor isn't at the
        center of the layer.
        https://bugs.webkit.org/post_bug.cgi

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateContentsRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5Lexer does not handle <div FOO ><img><img></div> correctly
        https://bugs.webkit.org/show_bug.cgi?id=40283

        Fix a typo in the AfterAttributeNameState.
        The compiler really should have caught this since the typo
        resulted in unreachable code.

        Tests:
         10 tables/mozilla/marvin/colgroup* tests.
         Also added a new sub-test in html5lib/resources/webkit01.dat

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
         - Fix typo of = instead of >

2010-06-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement HTML5's forceQuirks flag
        https://bugs.webkit.org/show_bug.cgi?id=40284

        I didn't implement this before because I didn't know how to test it,
        but now I do.
        
        Tests:
          * fast/doctypes/doctype-parsing.html.

        When we actually implement the quirks mode handling in the tree
        builder, we'll probably want to add to this test.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Token.h:
        (WebCore::HTML5Token::forceQuirks):
        (WebCore::HTML5Token::setForceQuirks):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::parseDoctypeToken):
        * html/HTMLTokenizer.h:
        (WebCore::DoctypeToken::reset):

2010-06-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove ASSERT in ~HTML5Tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=40282

        We thought this ASSERT would be a good idea, but the problem is that
        this object is deleted without warning in some circumstances, so
        there's no way to know whether it has reached the end of its state
        machine.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::~HTML5Tokenizer):

2010-06-07  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        [Mac] <meter> elements should be rendered as level indicators.        
        https://bugs.webkit.org/show_bug.cgi?id=40217

        Implemented RenderThemeMac::paintMeter() using NSLevelIndicatorCell.
        
        This change also added new -webkit-appearance values to select the
        style of level indicators:
        
        - relevancy-level-indicator,
        - continuous-capacity-level-indicator,
        - discrete-capacity-level-indicator, and 
        - rating-level-indicator.
        
        The size of elements are adjusted based on the bounds of the indicator
        to make room for painting whole indicator cells.

        Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
               fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
               fast/dom/HTMLMeterElement/meter-optimums.html

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::gaugeRegion):
        * html/HTMLMeterElement.h:
        (WebCore::HTMLMeterElement::):
        * platform/ThemeTypes.h:
        (WebCore::):
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::calcWidth):
        (WebCore::RenderMeter::calcHeight):
        * rendering/RenderMeter.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::meterSizeForBounds):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::meterSizeForBounds):
        (WebCore::RenderThemeMac::paintMeter):
        (WebCore::RenderThemeMac::levelIndicatorStyleFor):
        (WebCore::RenderThemeMac::levelIndicatorFor):

2010-06-07  MORITA Hajime  <morrita@google.com>
        
        Reviewed by Kent Tamura.
        
        [Mac] ENABLE_METER_TAG should be enabled.
        https://bugs.webkit.org/show_bug.cgi?id=40219
        
        * Configurations/FeatureDefines.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:
        
2010-06-07  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just commit an edit Xcode keeps making automatically.

        It appears someone hand-edited the file, Xcode no-like.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser fails script-tests which use document.write
        https://bugs.webkit.org/show_bug.cgi?id=40276

        We were leaving the TreeBuilder paused when executing the scripts
        resulting in document.write() calls being ignored.

        I don't see a good way to ASSERT this correct behavior, since
        the HTML5ScriptRunner and the HTML5TreeBuilder do not know about
        each other.  We should never have document.write() called while
        the HTML5TreeBuilder is paused, however both document.write and
        the network call the same HTML5Tokenizer::write method.  It's OK
        to be paused when the network writes, but during document.write
        (or any other script execution).

        Tested by all of fast/url and numerous other tests.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::notifyFinished):
         - Unpause the treebuilder before executing scripts.
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
         - Unpause the treebuilder before executing scripts.

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser hits ASSERT in fast/events/stop-load-in-unload-handler-using-document-write.html
        https://bugs.webkit.org/show_bug.cgi?id=40268

        Teach HTML5Tokenizer about m_parserStopped.

        While tracking down how m_parserStopped was used, I found
        several useless implementations of stopParsing() which I removed.

        I also found a comment in HTMLTokenizer which still talks about the
        "part" (an old class now split into Frame, Page, FrameLoader, etc.)
        and an nearly empty FrameLoader::tokenizerProcessedData which I just
        inlined into its one caller.

        Tests:
         fast/events/stop-load-in-unload-handler-using-document-write.html
         http/tests/security/xssAuditor/full-block-base-href.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexerIfPossible):
         - New method used instead of direct calls to pumpLexer for when
           callers would like to pump the lexer if possible, but don't want
           to check if the parser is stopped, etc.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Added an ASSERT that the parser is not stopped.
         - Stop pumping if the parser is stopped.
        (WebCore::HTML5Tokenizer::write):
         - Ignore the write if the parser is already stopped.
        (WebCore::HTML5Tokenizer::end):
        (WebCore::HTML5Tokenizer::attemptToEnd):
         - Move comment back to finish() which was incorrectly moved here.
        (WebCore::HTML5Tokenizer::endIfDelayed):
        (WebCore::HTML5Tokenizer::finish):
         - Move comment back here from attemptToEnd()
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - Remove a bogus ASSERT.  The lexer will stop when it needs
           more data, which may not necessarily mean m_source.isEmpty().
        * html/HTML5Tokenizer.h:
         - Add pumpLexerIfPossible().
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::stopParsing):
         - Add a FIXME about if we really should call checkCompleted() here.
         - Inline FrameLoader::tokenizerProcessedData() since this was the only caller.
        * loader/FrameLoader.cpp:
         - Remove tokenizerProcessedData()
        * loader/FrameLoader.h:
         - Remove tokenizerProcessedData()
        * loader/MediaDocument.cpp:
         - Remove unneeded Tokenizer::stopParsing() override.
        * loader/PluginDocument.cpp:
         - Remove unneeded Tokenizer::stopParsing() override.
        * loader/SinkDocument.cpp:
         - Remove unneeded Tokenizer::stopParsing() override.

2010-06-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix XFrameOptions and xssAuditor crashes in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40265

        We're not supposed to call end() while the tokenizer's write() method.
        This causes a bunch of LayoutTests to crash.  In particular, this patch
        fixes crashes in the following tests:

        Tests:
          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
          * http/tests/security/xssAuditor/full-block-base-href.html
          * http/tests/security/xssAuditor/full-block-get-from-iframe.html
          * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
          * http/tests/security/xssAuditor/full-block-link-onclick.html
          * http/tests/security/xssAuditor/full-block-post-from-iframe.html
          * http/tests/security/xssAuditor/full-block-script-tag.html
          * http/tests/security/xssAuditor/xss-protection-parsing-01.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::):
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
        (WebCore::HTML5Tokenizer::write):
        (WebCore::HTML5Tokenizer::attemptToEnd):
        (WebCore::HTML5Tokenizer::endIfDelayed):
        (WebCore::HTML5Tokenizer::finish):
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
        * html/HTML5Tokenizer.h:
        (WebCore::HTML5Tokenizer::inWrite):

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser hits ASSERT in http/tests/misc/window-dot-stop.html
        https://bugs.webkit.org/show_bug.cgi?id=40264

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::executeScript):

2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed.

        Avoid "warning: no previous prototype for" in Snow Leopard compilation.

        * platform/BlobItem.cpp: Added static to getFileSnapshotModificationTime().

2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
        https://bugs.webkit.org/show_bug.cgi?id=39083

        - Introduces a new class BlobItem as a basic component of Blob and FormDataList.
        - File would become a special type of Blob that contains only one FileBlobItem.
        - Fix the dependency violation in FormData so that the files under platform/ do not include any html/ files.

        The patch doesn't support the latest File API changes (e.g. type,
        url and slice's type parameters) and should not change any of its
        existing behaviors.

        The existing tests should be able to be used for regression.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        (WebCore::Blob::size):
        (WebCore::Blob::path):
        (WebCore::Blob::append):
        (WebCore::Blob::slice):
        * html/Blob.h:
        (WebCore::Blob::create):
        (WebCore::Blob::type):
        (WebCore::Blob::items):
        (WebCore::Blob::Blob):
        * html/File.cpp:
        (WebCore::File::File):
        (WebCore::File::name):
        * html/File.h:
        (WebCore::File::fileName):
        * html/FileReader.cpp:
        (WebCore::FileReader::readAsBinaryString):
        (WebCore::FileReader::readAsText):
        * html/FileStream.cpp:
        (WebCore::FileStream::openForRead):
        * html/FormDataList.cpp:
        (WebCore::FormDataList::appendString): Moved the line ending fix logic to StringBlobItem::convertToCString.
        (WebCore::FormDataList::appendBlob):
        * html/FormDataList.h:
        (WebCore::FormDataList::items):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::createFormData):
        * html/HTMLProgressElement.cpp:
        * platform/BlobItem.cpp: Added.
        * platform/BlobItem.h: Added.
        * platform/network/FormData.cpp:
        (WebCore::FormDataElement::FormDataElement):
        (WebCore::FormData::create):
        (WebCore::FormData::createMultiPart):
        (WebCore::FormData::deepCopy):
        (WebCore::FormData::appendData):
        (WebCore::FormData::appendString):
        (WebCore::FormData::appendFile):
        (WebCore::FormData::appendFileRange):
        (WebCore::FormData::appendItems):
        (WebCore::FormData::appendItem):
        (WebCore::FormData::appendKeyValuePairItems):
        * platform/network/FormData.h:
        (WebCore::operator!=):
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::closeCurrentStream):
        (WebCore::advanceCurrentStream):
        (WebCore::formCreate):
        (WebCore::formRead):
        (WebCore::setHTTPBody):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):

2010-06-07  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Decoupled transform matrix update of composited layers from
        drawing and interposed a sorting step so that the layers are now composited
        back to front to get transparency working correctly. Also added missing code
        for the preserves3D CSS property.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setDrawTransform):
        (WebCore::LayerChromium::drawTransform):
        (WebCore::LayerChromium::setDrawOpacity):
        (WebCore::LayerChromium::drawOpacity):
        (WebCore::LayerChromium::preserves3D):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::compareLayerZ):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-06-07  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] convert a key to AtomicString in V8NodeList::namedPropertyGetter
        https://bugs.webkit.org/show_bug.cgi?id=40238

        Comparison to "length" below could be performed faster in this (major) case
        as it would only require direct pointer comparison (cf. to full text
        comparison if key is converted to WebCore::String.)

        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::V8NodeList::namedPropertyGetter):

2010-06-07  Ariya Hidayat  <ariya.hidayat@codeaurora.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix GraphicsContext::clipOut to take the transformation matrix into account.

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

2010-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [gtk] web fonts not loaded properly in scribd html5 reader
        https://bugs.webkit.org/show_bug.cgi?id=38758

        Avoid always giving a positive reply in createFontPlatformData. We
        do not want every non-existing family name to be considered a hit,
        or weird usage of local sources in @font-face rules will make
        WebKitGTK+ never consider the online fonts.

        * GNUmakefile.am:
        * platform/graphics/cairo/FontCacheCairo.cpp:
        (WebCore::isWellKnownFontName):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/cairo/GOwnPtrCairo.cpp: Added.
        (WTF::FcPattern):
        (WTF::FcObjectSet):
        (WTF::FcFontSet):
        * platform/graphics/cairo/GOwnPtrCairo.h: Added.

2010-06-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        "Fix" fast/dom/stripNullFromTextNodes.html in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40200

        The proper handling of null characters is to replace them with U+FFFD.
        This patch "fixes" fast/dom/stripNullFromTextNodes.html in the sense
        that it makes it give the proper output w.r.t. HTML5.  However, that
        doesn't match the behavior of the old parser, which just stripped the
        nulls.

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):

2010-06-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 parser should normalize line endings
        https://bugs.webkit.org/show_bug.cgi?id=40199

        When reading characters from the source, we need to normalize line
        endings, which means treating \r as \n and folding \r\n sequences into
        a single \n.  Doing this requires a slightly tighter pattern for
        advancing the source (to make sure we update our state machine
        correctly).

        Fixes fast/css/first-child-pseudo-class.html and hundreds of other
        LayoutTests in the HTML5 parser.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::InputStreamPreprocessor::LineEndingNormalizer):
            - Introduced InputStreamPreprocessor to keep track of our line
              endings state machine.  This class will grow to eventually do
              all the input stream preprocessing required by the HTML5 spec.
        (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
            - We need to be careful not to read *source more than
              once because we need to know whether we've transformed the
              character.  Keeping the next input character in this state
              machine requires some careful coding, but seems advantageous.
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):

2010-06-07  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        run-bindings-tests results broken by Changeset 60776
        https://bugs.webkit.org/show_bug.cgi?id=40230

        The change to CodeGeneratorJS.pm in 
        http://trac.webkit.org/changeset/60776/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
        added the possibility to use [CallWith=ScriptExecutionContext] in idl files.

        Before the above change was submitted, CodeGeneratorJS.pm was modified so that native
        functions return EncodedJSValue instead of JSValues. This was done in
        http://trac.webkit.org/changeset/60631/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm

        This CL updates the CodeGeneratorJS.pm to correctly return an EncodedJSValue in the case
        where the ScriptExecutionContext pointer is 0 at the time when the native function is invoked.

        No new tests, just fixing run-bindings-tests.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
        * bindings/scripts/test/JS/JSTestObj.h:

2010-06-07  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        [BREWMP] Add dummy SearchPopupMenu implementation
        https://bugs.webkit.org/show_bug.cgi?id=40224

        Add dummy implementation of SearchPopupMenu.

        * platform/brew/SearchPopupMenuBrew.cpp: Added.
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):

2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed, reverting my HTML comment parsing change as it
        breaks Gtk and Qt.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment):
        (WebCore::HTMLTokenizer::parseTag):
        * html/HTMLTokenizer.h:

2010-06-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Oliver Hunt.

        [GTK] HTML5 input type=range is not drawn
        https://bugs.webkit.org/show_bug.cgi?id=39561

        Support HTML5 range widgets. They are now drawn using the standard
        GTK+ theme drawing mechanism.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::supportsFocus): Add focus support for parts of sliders.
        (WebCore::setMozillaState):
        Add the GtkThemeWidgetType argument and honor depressed states for slider thumbs.
        (WebCore::paintMozillaGtkWidget): Pass in the widget type to setMozillaState.
        (WebCore::RenderThemeGtk::paintSliderTrack): Added.
        (WebCore::RenderThemeGtk::adjustSliderTrackStyle): Added.
        (WebCore::RenderThemeGtk::paintSliderThumb): Added.
        (WebCore::RenderThemeGtk::adjustSliderThumbStyle): Added.
        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Added support for non-media sliders.
        * platform/gtk/RenderThemeGtk.h: Added new method declarations.

2010-06-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] gtk_widget_get_window should replace widget->window
        https://bugs.webkit.org/show_bug.cgi?id=40180

        Replace all uses of widget->window with gtk_widget_get_window. For older
        GTK+ versions, #define gtk_widget_get_window in GtkVersioning.h.

        No tests necessary as functionality has not changed.

        * platform/gtk/GtkPluginWidget.cpp:
        (WebCore::GtkPluginWidget::invalidateRect): Replace widget->window use.
        * platform/gtk/GtkVersioning.h: Add gtk_widget_get_window for old GTK+ versions.
        * platform/gtk/PlatformScreenGtk.cpp: 
        (WebCore::getVisual): Replace widget->window use.
        (WebCore::screenRect): Ditto.
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show): Ditto.
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::gdkDrawable): Ditto.
        (WebCore::Widget::setCursor): Ditto.

2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Sam Weinig.

        Add CPP bindings generator
        https://bugs.webkit.org/show_bug.cgi?id=38279

        Add CPP bindings generator used in Olympia platform.
        We can succesfully generate cpp bindings for all IDLs except:
        - DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
        - inspector/ (not needed for us at all)
        - svg/ (needs custom handling, related to animated attributes)

        All generated files are free of style issues: "Total errors found: 0 in 510 files"
        Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.

        * bindings/cpp: Added.
        * bindings/cpp/WebDOMCString.cpp: Added.
        (WebDOMCString::reset):
        (WebDOMCString::assign):
        (WebDOMCString::length):
        (WebDOMCString::data):
        (WebDOMCString::utf16):
        (WebDOMCString::fromUTF16):
        (WebDOMCString::WebDOMCString):
        (WebDOMCString::operator=):
        (WebDOMCString::operator WTF::CString):
        * bindings/cpp/WebDOMCString.h: Added.
        (WebDOMCString::~WebDOMCString):
        (WebDOMCString::WebDOMCString):
        (WebDOMCString::operator=):
        (WebDOMCString::isEmpty):
        (WebDOMCString::isNull):
        * bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
        (WebDOMEventListener::handleEvent):
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.cpp: Added.
        (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
        (WebDOMEventTarget::WebDOMEventTarget):
        (WebDOMEventTarget::~WebDOMEventTarget):
        (WebDOMEventTarget::impl):
        (toWebCore):
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.h: Added.
        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
        (documentWrite):
        (WebDOMHTMLDocument::write):
        (WebDOMHTMLDocument::writeln):
        * bindings/cpp/WebDOMNodeCustom.cpp: Added.
        (WebDOMNode::insertBefore):
        (WebDOMNode::replaceChild):
        (WebDOMNode::removeChild):
        (WebDOMNode::appendChild):
        (WebDOMNode::addEventListener):
        (WebDOMNode::removeEventListener):
        * bindings/cpp/WebDOMObject.h: Added.
        (WebDOMObject::WebDOMObject):
        (WebDOMObject::~WebDOMObject):
        * bindings/cpp/WebDOMString.cpp: Added.
        (WebDOMString::reset):
        (WebDOMString::assign):
        (WebDOMString::length):
        (WebDOMString::data):
        (WebDOMString::utf8):
        (WebDOMString::fromUTF8):
        (WebDOMString::WebDOMString):
        (WebDOMString::operator=):
        (WebDOMString::operator WebCore::String):
        (WebDOMString::operator WebCore::AtomicString):
        (WebDOMString::equals):
        * bindings/cpp/WebDOMString.h: Added.
        (WebDOMString::~WebDOMString):
        (WebDOMString::WebDOMString):
        (WebDOMString::operator=):
        (WebDOMString::isEmpty):
        (WebDOMString::isNull):
        * bindings/cpp/WebExceptionHandler.cpp: Added.
        (globalExceptionHandler):
        (webInstallExceptionHandler):
        (webRaiseDOMException):
        * bindings/cpp/WebExceptionHandler.h: Added.
        (webDOMRaiseError):
        * bindings/cpp/WebNativeEventListener.cpp: Added.
        (WebNativeEventListener::WebNativeEventListener):
        (WebNativeEventListener::~WebNativeEventListener):
        (WebNativeEventListener::handleEvent):
        (WebNativeEventListener::reportError):
        (WebNativeEventListener::operator==):
        * bindings/cpp/WebNativeEventListener.h: Added.
        (WebNativeEventListener::create):
        (WebNativeEventListener::cast):
        * bindings/scripts/CodeGeneratorCPP.pm: Added.
        * bindings/scripts/test/CPP: Added.
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
        (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
        (WebDOMTestCallback::WebDOMTestCallback):
        (WebDOMTestCallback::impl):
        (WebDOMTestCallback::~WebDOMTestCallback):
        (WebDOMTestCallback::callbackWithClass1Param):
        (WebDOMTestCallback::callbackWithClass2Param):
        (WebDOMTestCallback::callbackWithNonBoolReturnType):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
        (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
        (WebDOMTestInterface::WebDOMTestInterface):
        (WebDOMTestInterface::impl):
        (WebDOMTestInterface::~WebDOMTestInterface):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
        (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
        (WebDOMTestObj::WebDOMTestObj):
        (WebDOMTestObj::impl):
        (WebDOMTestObj::~WebDOMTestObj):
        (WebDOMTestObj::readOnlyIntAttr):
        (WebDOMTestObj::readOnlyStringAttr):
        (WebDOMTestObj::readOnlyTestObjAttr):
        (WebDOMTestObj::intAttr):
        (WebDOMTestObj::setIntAttr):
        (WebDOMTestObj::longLongAttr):
        (WebDOMTestObj::setLongLongAttr):
        (WebDOMTestObj::unsignedLongLongAttr):
        (WebDOMTestObj::setUnsignedLongLongAttr):
        (WebDOMTestObj::stringAttr):
        (WebDOMTestObj::setStringAttr):
        (WebDOMTestObj::testObjAttr):
        (WebDOMTestObj::setTestObjAttr):
        (WebDOMTestObj::attrWithException):
        (WebDOMTestObj::setAttrWithException):
        (WebDOMTestObj::attrWithSetterException):
        (WebDOMTestObj::setAttrWithSetterException):
        (WebDOMTestObj::attrWithGetterException):
        (WebDOMTestObj::setAttrWithGetterException):
        (WebDOMTestObj::scriptStringAttr):
        (WebDOMTestObj::voidMethod):
        (WebDOMTestObj::voidMethodWithArgs):
        (WebDOMTestObj::intMethod):
        (WebDOMTestObj::intMethodWithArgs):
        (WebDOMTestObj::objMethod):
        (WebDOMTestObj::objMethodWithArgs):
        (WebDOMTestObj::methodThatRequiresAllArgs):
        (WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
        (WebDOMTestObj::serializedValue):
        (WebDOMTestObj::methodWithException):
        (WebDOMTestObj::addEventListener):
        (WebDOMTestObj::removeEventListener):
        (WebDOMTestObj::withDynamicFrame):
        (WebDOMTestObj::withDynamicFrameAndArg):
        (WebDOMTestObj::withDynamicFrameAndOptionalArg):
        (WebDOMTestObj::withScriptStateVoid):
        (WebDOMTestObj::withScriptStateObj):
        (WebDOMTestObj::withScriptStateVoidException):
        (WebDOMTestObj::withScriptStateObjException):
        (WebDOMTestObj::methodWithOptionalArg):
        (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
        (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
        * css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
        * dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
        * dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
        * dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
        * dom/EventListener.h: Add CPPEventListenerType.
        * dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
        * dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
        * html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
        * html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
        * html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
        * html/TextMetrics.h: Add missing PassRefPtr.h include.
        * html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
        * page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
        * page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
        * page/WebKitPoint.h: Add missing PassRefPtr.h include.
        * storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
        * workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
        * workers/WorkerContext.idl: Hide constructors from cpp bindings.

2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Space should be allowed between -- and > in comment end
        https://bugs.webkit.org/show_bug.cgi?id=21945

        Implemented the HTML comment parsing algorithm so that we match HTML5 and
        FF when parsing comments. Missing from this patch is
        the parser errors, which will be added in a follow up patch.

        Added tests cases for broken comments.

        Tests: fast/parser/broken-comment-1.html
               fast/parser/broken-comment-2.html
               fast/parser/broken-comment-3.html
               fast/parser/broken-comment-4.html
               fast/parser/broken-comment-5.html
               fast/parser/broken-comment-6.html
               fast/parser/broken-comment-in-head-1.html
               fast/parser/broken-comment-in-head-2.html
               fast/parser/broken-comment-in-head-3.html
               fast/parser/broken-comment-in-head-4.html
               fast/parser/broken-comment-in-head-5.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment): Now we use a state machine
        that matches the HTML5 specification.
        (WebCore::HTMLTokenizer::emitCommentToken): This emits the comment token
        and keep some of the original behavior as parseComment is called in wrong
        context (inside a <title> for example). Added a more explicit comment about
        this.
        (WebCore::HTMLTokenizer::parseTag): Remove the handling of <!--> in quirks mode.
        HTML5 specifies that we should accept this in strict mode too.
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::): Added a new enum for the comment parsing state.

2010-06-07  Mahesh Kulakrni  <mahesh.kulkarni@nokia.com>

        Reviewed by Simon Hausmann.

        [QT] QT_BEARER flag is not enabled on S60 properly
        https://bugs.webkit.org/show_bug.cgi?id=39357

        enable QT_BEARER for all platform based on qtmobility + 
        bearer module availability or for qt 4.7+

        * WebCore.pri: 

2010-06-07  Leon Clarke  <leonclarke@google.com>

        Reviewed by Jeremy Orlow.

        Fix indexeddb idls in android makefile
        https://bugs.webkit.org/show_bug.cgi?id=40169

        No new tests. Android-specific build fix.

        * Android.derived.v8bindings.mk:

2010-06-07  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [indexedDB] It is impossible to create object stores
        https://bugs.webkit.org/show_bug.cgi?id=40054

        No new tests. Layout tests will be added separately.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_with_script_execution_context):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj withScriptExecutionContext]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withScriptExecutionContextCallback):
        (WebCore::):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::indexedDB):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::createObjectStore):
        * storage/IDBDatabaseImpl.h:
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        (WebCore::IDBDatabaseRequest::createObjectStore):
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBObjectStore.cpp: Removed.
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::~IDBObjectStore):
        * storage/IDBObjectStoreImpl.cpp: Added.
        (WebCore::IDBObjectStoreImpl::~IDBObjectStoreImpl):
        (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
        (WebCore::IDBObjectStoreImpl::indexNames):
        (WebCore::IDBObjectStoreImpl::createIndex):
        (WebCore::IDBObjectStoreImpl::index):
        (WebCore::IDBObjectStoreImpl::removeIndex):
        * storage/IDBObjectStoreImpl.h: Added.
        (WebCore::IDBObjectStoreImpl::create):
        (WebCore::IDBObjectStoreImpl::name):
        (WebCore::IDBObjectStoreImpl::keyPath):
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.h:
        (WebCore::IDBObjectStoreRequest::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:
        (WebCore::IndexedDatabaseRequest::create):
        * storage/IndexedDatabaseRequest.idl:

2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Updated run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructTestInterface):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethod):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethod):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
        * bindings/scripts/test/JS/JSTestObj.h:

2010-06-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement JSON parsing for InspectorValue.
        https://bugs.webkit.org/show_bug.cgi?id=40064

        * inspector/InspectorValues.cpp:
        (WebCore::):
        (WebCore::InspectorValue::asBool):
        (WebCore::InspectorValue::asNumber):
        (WebCore::InspectorValue::asString):
        (WebCore::InspectorValue::asObject):
        (WebCore::InspectorValue::asArray):
        (WebCore::InspectorValue::readJSON):
        (WebCore::InspectorValue::writeJSON):
        (WebCore::InspectorBasicValue::asBool):
        (WebCore::InspectorBasicValue::asNumber):
        (WebCore::InspectorBasicValue::writeJSON):
        (WebCore::InspectorString::asString):
        (WebCore::InspectorObject::asObject):
        (WebCore::InspectorObject::getBool):
        (WebCore::InspectorObject::getNumber):
        (WebCore::InspectorObject::getString):
        (WebCore::InspectorObject::getObject):
        (WebCore::InspectorObject::getArray):
        (WebCore::InspectorObject::get):
        (WebCore::InspectorArray::asArray):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::begin):
        (WebCore::InspectorObject::end):

2010-06-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix text selection drawing.
        https://bugs.webkit.org/show_bug.cgi?id=40221

        The regression was introduced in r60169.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):

2010-06-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: should be possible to distinguish extension scripts from main world scripts
        https://bugs.webkit.org/show_bug.cgi?id=40220

        * bindings/js/ScriptDebugServer.cpp: remove global listeners set which is not used anymore.
        (WebCore::ScriptDebugServer::dispatchDidParseSource): pass script wrold type to the listeners.
        (WebCore::currentWorldType):
        (WebCore::ScriptDebugServer::sourceParsed):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::parsedScriptSource):
        * inspector/InspectorFrontend.h:
        * inspector/ScriptDebugListener.h: pass type of the isolated world where the script was compiled to didParseSource.
        (WebCore::):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/Script.js:
        (WebInspector.Script):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript):
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): use different style to highlight content scripts.
        * inspector/front-end/inspector.css:
        (#scripts-files option.extension-script):
        * inspector/front-end/inspector.js:
        (WebInspector.parsedScriptSource):

2010-06-06  MORITA Hajime  <morrita@google.com>

        Unreviewd, Chromium windows build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        ASSERTION FAILED with -webkit-appearance:progress-bar for non <progress> elements
        https://bugs.webkit.org/show_bug.cgi?id=40158

        paintProgressBar() and paintMeter() assumed given RenderObject is
        RenderProgress or RenderMeter respectively, but arbitrary elements
        can have -webkit-appearance: progress-bar and such elements
        violates that assumption. So this change added type check before
        downcasting the RenderObject.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintProgressBar):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintMeter):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintProgressBar):

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (Qt build fix pt 2).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (Qt build fix).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 40214 - Clean up error construction / throwing in JSC.
        
        The one egregious insanity here is that creating an error requires
        a VM-entry-esqe-host call (the string argument is wrapped as a JS
        object & pushed on the RegisterFile, then unwrapped back to a
        UString).  Changing this also means you only require a global
        object, not an ExecState, to create an error.

        The methods to create error objects are also parameterized
        requiring a switch on the type, which can be made cleaner and
        faster by moving to a separate method per error type.  Code to add
        divot information to error had been duplicated, and is coalesced
        back into a single function.

        Convenience methods added to create & throw type & syntax error
        with a default error message, since this is a common case.

        Also, errors are currently thrown either using
        "throwError(exec, error)" or "exec->setException(error)" - unify
        on the former, since this is more commonly used.  Add
        "throwVMError(exec, error)" equivalents, as a convenience for
        cases where the result was being wrapped in "JSValue::encode(...)".

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSArrayBufferConstructor.h:
        (WebCore::construct):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::setWebGLArrayHelper):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        (WebCore::toJSSequence):
        * bindings/js/JSDOMWrapper.cpp:
        (WebCore::DOMObject::defineOwnProperty):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):
        * bindings/js/JSEventSourceConstructor.cpp:
        (WebCore::constructEventSource):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::selectionStart):
        (WebCore::JSHTMLInputElement::setSelectionStart):
        (WebCore::JSHTMLInputElement::selectionEnd):
        (WebCore::JSHTMLInputElement::setSelectionEnd):
        (WebCore::JSHTMLInputElement::setSelectionRange):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::fillMessagePortArray):
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::constructSharedWorker):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::getObjectParameter):
        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::JSWebGLRenderingContext::getParameter):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        * bindings/js/JSWebSocketConstructor.cpp:
        (WebCore::constructWebSocket):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocket::send):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::BaseWalker::throwStackOverflow):
        (WebCore::BaseWalker::throwInterruptedException):
        (WebCore::SerializingTreeWalker::startArray):
        (WebCore::SerializingTreeWalker::startObject):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::setException):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        (JSC::Bindings::CInstance::invokeConstruct):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::dispatchValueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::moveGlobalExceptionToExecState):
        (ObjcInstance::invokeMethod):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcField::valueFromInstance):
        (JSC::Bindings::ObjcField::setValueToInstance):
        (JSC::Bindings::ObjcArray::setValueAt):
        (JSC::Bindings::ObjcArray::valueAt):
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/objc/objc_utility.h:
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::throwError):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::put):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::throwInvalidAccessError):

2010-06-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        hit testing does not respect clip paths
        https://bugs.webkit.org/show_bug.cgi?id=15162

        Test: svg/dynamic-updates/SVGClipPath-influences-hitTesting.html
        
        Added a check, if a float point is not only in the shape/object boundaries
        but also is not in the clipped away area of a clipPath.

        * rendering/HitTestRequest.h:
        (WebCore::HitTestRequest::):
        (WebCore::HitTestRequest::svgClipContent):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::fillContains):
        (WebCore::RenderPath::nodeAtFloatPoint):
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::nodeAtFloatPoint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtFloatPoint):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtFloatPoint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::pointInClippingArea):
        * rendering/SVGRenderSupport.h:

2010-06-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Pattern/Gradient clean-up
        https://bugs.webkit.org/show_bug.cgi?id=40205

        Transformations of SVG Patterns and Gradients can be bundeled.
        This calculation also needs just to be calculated once. It's not a great speed-up for most platforms,
        but a clean-up and preparation for new features like vectorEffects and others.
        Now, that we don't recalucluate the gradient and its transformations, it was necessary to add a way
        to transform alreday existing gradients on Cairo. This is done in the same way like Skia transforms
        gradients after they were created.
        
        This patch doesn't change functionality, so no new tests added.

        * platform/graphics/Gradient.cpp:
        * platform/graphics/cairo/GradientCairo.cpp:
        (WebCore::Gradient::setPlatformGradientSpaceTransform):
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourceGradient.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        (WebCore::RenderSVGResourcePattern::createTileImage):
        (WebCore::RenderSVGResourcePattern::buildPattern):
        * rendering/RenderSVGResourcePattern.h:

2010-06-05  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, typo/build fix.

        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):

2010-05-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Do not pass empty handles to v8.
        https://bugs.webkit.org/show_bug.cgi?id=39896

        Passing an empty handle to v8 results in a crash with a stack
        trace that doesn't give us much information about the cause of the
        crash. Instead, if we check the handles we pass to v8 and crash
        when they are empty, we do not make things worse, and should get a
        more informative stack trace.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithClass1Param):
        (WebCore::V8TestCallback::callbackWithClass2Param):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):

2010-05-30  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Darin Adler.

        Add a convenient helper getter for Frame* to RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=39928

        document()->frame() is being called enough from RenderObject derivated classes
        that it worth adding a helper Frame getter as a shortcut.

        No behavior change, so no new tests.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isOffScreen):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::selection):
        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
        * page/EventHandler.cpp:
        (WebCore::canAutoscroll):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintCustomHighlight):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::isActive):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::flattenFrameSet):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintFocusRings):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addDashboardRegions):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::panScrollFromPoint):
        (WebCore::RenderLayer::scrollByRecursively):
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::autoscroll):
        (WebCore::RenderLayer::isActive):
        (showLayerTree):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::inspectorTimelineAgent):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        (WebCore::RenderListBox::panScroll):
        (WebCore::RenderListBox::autoscroll):
        (WebCore::RenderListBox::isActive):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::~RenderObject):
        (WebCore::RenderObject::selectionBackgroundColor):
        (WebCore::RenderObject::selectionForegroundColor):
        (WebCore::RenderObject::destroy):
        (WebCore::RenderObject::addDashboardRegions):
        (WebCore::RenderObject::animation):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::document):
        (WebCore::RenderObject::frame):

2010-06-05  Jonathan Kliegman  <kliegs@chromium.org>

        Reviewed by Dirk Schulze.

        SVG doesn't support rgba colors
        https://bugs.webkit.org/show_bug.cgi?id=16183

        Enabled processing of rgba, hsl and hsla color specifications
        for SVG files.  SVG spec calls for CSS2 but common usage and
        other browsers suppor CSS3 colors being used in SVG files

        Removed unused svg paramater from CSSParser::parseColorFromValue

        Tests: svg/custom/fill-opacity-hsl.svg
               svg/custom/fill-opacity-rgba.svg

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColorFromValue):
        * css/CSSParser.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::colorFromRGBColorString):

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ContextMenuItemQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39780

        * platform/qt/ContextMenuItemQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ContextMenuQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39779

        * platform/qt/ContextMenuQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] DragDataQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39777

        * platform/qt/DragDataQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] FileChooserQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39776

        * platform/qt/FileChooserQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] FileSystemQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39775

        * platform/qt/FileSystemQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] KURLQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39774

        * platform/qt/KURLQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] LoggingQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39772

        * platform/qt/LoggingQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] PlatformKeyboardEventQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39770

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] PlatformScreenQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39768

        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] RenderThemeQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39767

        * platform/qt/RenderThemeQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ScrollbarQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39765

        * platform/qt/ScrollbarQt.cpp:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch changes us from using a jump table for each character to
        using absolute jumps between parser states.  This appears to be about a
        1% improvement on the parser bench mark (which is 1/10th of what we
        need to catch the old parser).

        I've kept the underlying logic as close to the old logic as possible.
        This new form will make it easier to handle the input stream part of
        the spec and to make further performance improvements.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::emitCurrentToken):
        * html/HTML5Lexer.h:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 parser should be within 1% of old parser performance
        https://bugs.webkit.org/show_bug.cgi?id=40172

        Stop using adopt().  I think this function is cause us to do extra
        mallocs that are hurting performance.  Instead of caching AtomicString
        on HTML5Token, just use the AtomicString on the old token.  Also,
        reserve inline capacity for 10 attributes.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::isAppropriateEndTag):
        * html/HTML5Lexer.h:
        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):
        (WebCore::HTML5Token::beginCharacter):
        (WebCore::HTML5Token::beginComment):
        (WebCore::HTML5Token::beginDOCTYPE):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::comment):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ScrollbarThemeQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39764

        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::scPart):
        (WebCore::scrollbarPart):
        (WebCore::styleOptionSlider):

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] SharedTimerQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39763

        * platform/qt/SharedTimerQt.cpp:

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        WidgetQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39759

        * platform/qt/WidgetQt.cpp:

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        TemporaryLinkStubsQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39761

        * platform/qt/TemporaryLinkStubsQt.cpp:

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] SoundQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39762

        * platform/qt/SoundQt.cpp:

2010-06-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Dirk Schulze.

        Canvas createPattern(img, repetition) shouldn't throw INVALID_STATE_ERR when !img.complete
        https://bugs.webkit.org/show_bug.cgi?id=40166

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createpattern

        Test: http/tests/misc/canvas-pattern-from-incremental-image.html (updated)

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createPattern):

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        [Qt] Localizations.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39773

        * platform/qt/Localizations.cpp:
        (WebCore::localizedMediaTimeDescription):

2010-06-04  Lyon Chen  <liachen@rim.com>

        Reviewed by Darin Adler.

        ApplicationCacheStorage::storeNewestCache() Crash WebKit when openDatabase(true) failed
        https://bugs.webkit.org/show_bug.cgi?id=40074

        Adding m_database.isOpen() check for every openDatabase(true) call, this is needed because
        openDatabase(true) could still fail, for example when cacheStorage is full or no longer available.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::ApplicationCacheStorage::storeNewestCache):

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

        Unreviewed, rolling out r60684.
        http://trac.webkit.org/changeset/60684
        https://bugs.webkit.org/show_bug.cgi?id=40196

        This patch broke chromium reliability tests (Requested by
        tonyg-cr on #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: need an aria-help
        https://bugs.webkit.org/show_bug.cgi?id=40010

        Test: accessibility/aria-help.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::helpText):
        * html/HTMLAttributeNames.in:

2010-06-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Canvas arc() with zero radius should draw a line to the start point
        https://bugs.webkit.org/show_bug.cgi?id=40164

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-06-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] RenderThemeGtk leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=40168

        Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
        up all widget resources when a theme is destroyed.

        No new tests, because functionality has not changed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.

2010-06-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] RenderThemeGtk leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=40168

        Remove the use of releaseRef to assign a value to a RefPtr. This results in
        the original pointer taking an extra reference.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Gavin Barraclough.

        Try to fix the windows build
        https://bugs.webkit.org/show_bug.cgi?id=40189

        Suppress the "unreachable code" warning because we want to assert that
        we don't reach certain code points.

        * html/HTML5Lexer.cpp:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        A couple more cases like the previous patch that I missed.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Make all the state transitions in the machine explicit.  This allows us
        to remove all the break statements, which won't work correctly after we
        change the macro definitions.

        Also, while I was looking at every line of code, I fixed a bunch of the
        one-line-if style errors introduces in my previous patches.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40187 - Change function signature of NativeConstructor to match NativeFunction

        Mostly for consistency, but constructor & args arguments are redundant,
        and this will help if we wish to be able to JIT calls to more constructors.

        * bindings/js/JSArrayBufferConstructor.cpp:
        (WebCore::constructCanvasArrayBuffer):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        * bindings/js/JSEventSourceConstructor.cpp:
        (WebCore::constructEventSource):
        * bindings/js/JSFloatArrayConstructor.cpp:
        (WebCore::constructCanvasFloatArray):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSInt16ArrayConstructor.cpp:
        (WebCore::constructCanvasShortArray):
        * bindings/js/JSInt32ArrayConstructor.cpp:
        (WebCore::constructCanvasIntArray):
        * bindings/js/JSInt8ArrayConstructor.cpp:
        (WebCore::constructCanvasByteArray):
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::constructSharedWorker):
        * bindings/js/JSUint16ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedShortArray):
        * bindings/js/JSUint32ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedIntArray):
        * bindings/js/JSUint8ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedByteArray):
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::constructWebKitCSSMatrix):
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::constructWebKitPoint):
        * bindings/js/JSWebSocketConstructor.cpp:
        (WebCore::constructWebSocket):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeConstructor):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Change the intent of the loop to match what it's going to be once we
        remove the loop.  This is a whitespace only change that will make the
        final diff much, much smaller.  Sorry for the transient ugly style.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Introduce ADVANCE_TO macro.  This is the last macro we need to
        introduce.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Fix the rest of the RECONSUME_IN cases that were missed by our script.
        Also, reorder some assigment to prepare for the ADVANCE_TO patch.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch handles the FLUSH_AND_ADVANCE_TO case.  Again, this patch
        introduces style errors that will be fixed shortly.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch handles the FLUSH_EMIT_AND_RESUME_IN case.  This patch
        introduces some bad style w.r.t. one-line if statements, but we'll fix
        them all automatically in cleanup patch when we're done.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        More small steps.  This patch deals with emitting tokens.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        The next step: using macros to delimit each state.  Evetually, we're
        going to change what these macros expand to.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        We're going to do this patch in small steps to make it easier to verify correctness.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by David Levin.

        [chromium] Adding support for the left and right Windows keys to the
                   NativeWebKeyboardEvent.
        https://bugs.webkit.org/show_bug.cgi?id=39752

        * platform/chromium/KeyCodeConversionGtk.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

2010-06-04  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG filter on filter don't work
        https://bugs.webkit.org/show_bug.cgi?id=32708
        
        Any child of <text> was not allowed to use the same filter as the text root. 
        I couldn't found any reason in the SVG specification that legimitate this.
        Only batik also doesn't allow the same filter on the text root as on it's childs,
        while any other effect is still allowed.
        I removed this limitation so that the result looks like the result on Firefox.

        Test: svg/filters/filter-on-filter-for-text.svg

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
        (WebCore::SVGRootInlineBox::paint):

2010-06-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Factor PageCache functionality out of FrameLoader and into
        PageCache itself.

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

        Refactor only, so no new tests.

        * history/PageCache.cpp:
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        (WebCore::PageCache::canCache):
        (WebCore::PageCache::add):
        (WebCore::PageCache::get):
        * history/PageCache.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitIfReady):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::prepareForCachedPageRestore):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::quickRedirectComing):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-06-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
        https://bugs.webkit.org/show_bug.cgi?id=40140

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::set):

2010-06-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.

        No new tests because no new functionality.

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Utilize new takeFirst() method where appropriate.
        https://bugs.webkit.org/show_bug.cgi?id=40089

        No new tests because no new functionality.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advanceSubstring):
        * storage/Database.cpp:
        (WebCore::Database::scheduleTransaction):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::getNextStatement):
        * storage/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::processPendingTransactions):

2010-06-04  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: better Function.prototype.bind for the internal code.

        In the "Event Listeners" pane show handler function instead of Function.prototype.bind.

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

        * inspector/front-end/utilities.js:
        (Function.prototype.bind.bound):
        (Function.prototype.bind.bound.toString):
        (Function.prototype.bind):

2010-06-04  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, fix Qt build.

        Add references to a new file.

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

2010-06-04  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
        https://bugs.webkit.org/show_bug.cgi?id=40069

        No new tests are needed, as this is a refactoring.

        * inspector/front-end/CSSStyleModel.js: Added.
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
        (WebInspector.CSSStyleModel.prototype.setCSSText):
        (WebInspector.CSSStyleModel.prototype.applyStyleText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2010-06-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
        https://bugs.webkit.org/show_bug.cgi?id=40116

        CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
        with Qt 4.7's bearer managenent includes and break the build.

        * WebCore.pro:

2010-06-04  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Fix scrolling bug with pages using accelerated compositing.
        https://bugs.webkit.org/show_bug.cgi?id=40037

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

2010-06-04  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        CG implementation needed for compression quality in canvas.toDataURL
        https://bugs.webkit.org/show_bug.cgi?id=38492

        Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.

        Went the route of avoiding in-band signaling to flag the use of a quality 
        parameter or not. So, instead of simply passing the quality down as a
        double, instead I pass a reference to the quality parameter from where
        it comes in just after the JS bindings. Thus, no need for any global
        constants to signify when the quality is not specified. Updated the other 
        platforms to support this (qt was on the only one currently with any
        implementation). 

        * bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
        call to toDataURL to use double* instead of just passing the quality directly.
        (WebCore::JSHTMLCanvasElement::toDataURL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * dom/CanvasSurface.cpp: Updated method prototype.
        (WebCore::CanvasSurface::toDataURL):
        * dom/CanvasSurface.h: Updated method prototype.
        (WebCore::CanvasSurface::toDataURL):
        * platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
        * platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
        (WebCore::jpegUTI):
        (WebCore::utiFromMIMEType):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):

2010-06-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Leaks in listDirectory
        https://bugs.webkit.org/show_bug.cgi?id=40008

        Fixed both leaks.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::listDirectory):

2010-06-04  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
        https://bugs.webkit.org/show_bug.cgi?id=39877

        This patch makes callbacks invoked on named items addition/removal
        install API accessors and thus there is no more need in
        named and indexed interceptors on HTMLDocument which
        speeds up invocation of methods on document.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-04  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Change filenameFromString to return CString
        https://bugs.webkit.org/show_bug.cgi?id=39494

        filenameFromString returns a newly allocated string and the caller must
        free the string. GTK and EFL ports use g_free while all others ports use
        fastFree. This is confusing because the same function behaves
        differently with respect to ports. Change filenameFromString to return
        CString.

        * platform/FileSystem.cpp:
        (WebCore::filenameFromString):
        * platform/FileSystem.h:
        * platform/efl/FileSystemEfl.cpp:
        (WebCore::filenameFromString):
        * platform/gtk/FileChooserGtk.cpp:
        (WebCore::FileChooser::basenameForWidth):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::filenameFromString):
        (WebCore::filenameForDisplay):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        * platform/gtk/SharedBufferGtk.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        * platform/posix/SharedBufferPOSIX.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-04  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix compilation with QT_NO_FEATURE
        https://bugs.webkit.org/show_bug.cgi?id=38324

        The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
        made AC not work at all.

        No new tests.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::flushChanges):

2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
        https://bugs.webkit.org/show_bug.cgi?id=38645

        Path arcto function need to ensure there is subpath before it.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo):

2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
        https://bugs.webkit.org/show_bug.cgi?id=38537

        For path.arc function handle span > 2PI

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-06-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Set attributes.stencil to false by default at context creation
        https://bugs.webkit.org/show_bug.cgi?id=40090

        * platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
        (WebCore::GraphicsContext3D::Attributes::Attributes):

2010-06-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Carlson.

        Fix a crash when trying to use an invalid media src url by
        moving the isValid url checks to a central location in
        isSafeToLoadURL function. Also added an empty string check
        in DocumentLoader::didTellClientAboutLoad.

        Test: media/invalid-media-url-crash.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::getPluginProxyParams):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::didTellClientAboutLoad):

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

        Unreviewed, rolling out r60642.
        http://trac.webkit.org/changeset/60642
        https://bugs.webkit.org/show_bug.cgi?id=40151

        Broke rendering of border images on rotated elements
        (Requested by jamesr on #webkit).

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2010-06-03  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Beth Dakin.

        Pixel cracks in border images when drawing with a scale factor > 1
        <rdar://problem/7994266>pixel cracks in border images
        https://bugs.webkit.org/show_bug.cgi?id=15720
        
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
        If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2010-06-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Dan Bernstein.

        Take container's scroll offset and clip into account when initializing LayoutState
        https://bugs.webkit.org/show_bug.cgi?id=38506

        When doing a subtree layout, the initial LayoutState creation needs to
        take the layout root container's offset and its scroll offset into account
        to create the initial offset.  Otherwise if a subtree layout occurs
        for a layout root whose container has a non-zero scroll offset
        the LayoutState's offset and clip are wrong, resulting in a mispaint.
        See the test cases for examples.

        Tests: fast/repaint/layout-state-scrolloffset.html
               fast/repaint/layout-state-scrolloffset2.html
               fast/repaint/layout-state-scrolloffset3.html

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):

2010-06-03  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (speculative Qt build fix II).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-03  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (speculative Qt build fix).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40094 - The return type of NativeFunction should be EncodedJSValue
        On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::createInjectedScript):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::callPlugin):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializingTreeWalker::convertIfTerminal):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Construct):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeObject):

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

        Unreviewed, rolling out r60614.
        http://trac.webkit.org/changeset/60614
        https://bugs.webkit.org/show_bug.cgi?id=40123

        It made fast/dom/Window/window-postmessage-clone.html fail on
        Mac bots (Requested by Ossy on #webkit).

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Removed.
        * dom/TransformActionEvent.h: Removed.
        * dom/TransformActionEvent.idl: Removed.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2010-06-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: show "Object" as description for values with anonymous constructor
        https://bugs.webkit.org/show_bug.cgi?id=40121

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

2010-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix NPAPI support on Mac OS X/Cocoa-32

        qt_mac_window_for() returns a NSWindow on Cocoa, so we were
        passing in a NSWindow instead of a WindowRef as part of the
        NP_CGContext.

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

        * WebCore.gypi: Reflect rename
        * WebCore.pro: Reflect rename
        * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
        and fix bug by getting the Carbon windowRef from the NSWindow.
        * wscript: Reflect rename

2010-06-03  Kim Grönholm  <kim.1.gronholm@nokia.com>

        Reviewed by Simon Hausmann.

        Add TransformActionEvent support
        https://bugs.webkit.org/show_bug.cgi?id=39757

        Added only the necessary TransformAction event interfaces and not e.g.
        any eventhandler hooks that generate and dispatch them.

        Test: fast/events/transformaction/create-transformaction-event.html
        More tests will be added with the machinery that generates and
        dispatches these events.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
        (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::isTransformActionEvent):
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Added.
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::initTransformActionEvent):
        * dom/TransformActionEvent.h: Added.
        (WebCore::TransformActionEvent::create):
        (WebCore::TransformActionEvent::translateX):
        (WebCore::TransformActionEvent::translateY):
        (WebCore::TransformActionEvent::translateSpeedX):
        (WebCore::TransformActionEvent::translateSpeedY):
        (WebCore::TransformActionEvent::scale):
        (WebCore::TransformActionEvent::scaleSpeed):
        (WebCore::TransformActionEvent::rotate):
        (WebCore::TransformActionEvent::rotateSpeed):
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::isTransformActionEvent):
        * dom/TransformActionEvent.idl: Added.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: a number of fixes that make InspectorController
        happy with null redirects.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):

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

        Not reviewed. Rolling out aggressive cache part of the r60391
        described in the bug below. It was orthogonal to the rest of
        the patch and caused regression.

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

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

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

        Reviewed by Brady Eidson.

        location.href and outgoing referrer not updated properly by
        pushState/replaceState
        https://bugs.webkit.org/show_bug.cgi?id=40027

        Tests: fast/loader/stateobjects/pushstate-updates-location.html
               fast/loader/stateobjects/replacestate-updates-location.html
               http/tests/navigation/pushstate-updates-referrer.html
               http/tests/navigation/replacestate-updates-referrer.html

        * dom/Document.cpp:
        (WebCore::Document::updateURLForPushOrReplaceState):
        Update the FrameLoader's notion of the current URL as well!

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadInSameDocument):
        Use the 'url' parameter instead of m_URL since m_URL might have
        changed during the handling of the PopState event.  Eventually,
        this will become irrelevant since the PopState event should be
        dispatched asynchronously, but just in case we patch HashChange
        to be asynchronous before PopState, this change would be needed.

2010-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40047

        The HTML5 spec states that we should "spin the event loop" while
        waiting for stylesheets to load.  Currently we do that by yielding
        out of the parser when stylesheets are loading.  Because it was easy
        we made inline <scripts> yield for stylesheet loads as well.  However,
        this caused document.write() to return after encountering the first
        inline <script> tag in many cases which is incorrect.  document.write
        is supposed to block until the entire document is parsed (including)
        executing inline script tags.  To match the exiting parser, we'll just
        make inline <script> tags not block on stylesheets for now.

        This is tested by WebCore/benchmarks/html-parser.html as well
        as likely several other tests in LayoutTests which we haven't
        triaged yet.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::executeScript):
         - ASSERT that either stylesheets have loaded or we're executing an
           inline <script> tag.
        (WebCore::HTML5ScriptRunner::runScript):
         - Remove the code to block inline <script> tags on stylesheet loads.

2010-06-02  MORITA Hajime  <morrita@google.com>

        Unreviewd, Chromium windows build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-02  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.
        
        [Chromium] Linux: progress bar image pieces should be painted with same resampling mode
        https://bugs.webkit.org/show_bug.cgi?id=40045

        computeResamplingMode(), used by Image::drawPattern() and
        BitmapImage::draw(), chooses an image resampling mode based on the
        size of given image and the destination rectangle. But when
        painting single component (i.e. a progress bar) from multiple
        images, it can choose different resampling modes for images of
        same component. That difference creates unexpected visual artifacts
        like seams between images of single component.
        
        This change introduced "image resampling hint" to allow callers to
        control the resampling mode. Using the hint,
        RenderThemeChromiumSkia now able to hold same resampling mode
        during draw a progress bar.
        
        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
        enabled on chromium.
        
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::save):        
        (PlatformContextSkia::setImageResamplingHint): Added
        (PlatformContextSkia::clearImageResamplingHint): Added
        (PlatformContextSkia::hasImageResamplingHint): Added
        (PlatformContextSkia::imageResamplingHint): Added
        * platform/graphics/skia/PlatformContextSkia.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):

2010-06-03  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        [Chromium] Support HTML5 <progress> element on Linux.
        https://bugs.webkit.org/show_bug.cgi?id=37310
        
        Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
        determinateProgressValueRectFor() from RenderThemeChromiumWin to
        RenderThemeChromiumSkia
        
        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
        enabled on chromium.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
        (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
        (WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
        (WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        (WebCore::RenderThemeChromiumSkia::progressValueRectFor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-02  Nico Weber  <thakis@chromium.org>

        Reviewed by Simon Fraser.

        Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=39918

        This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
        that patch.

        Test: editing/input/page-up-down-scrolls.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged):
        * platform/ScrollView.h:
        (WebCore::ScrollView::repaintFixedElementsAfterScrolling):

2010-06-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use platform-specific key designations in shortcuts help for mac
        https://bugs.webkit.org/show_bug.cgi?id=39158

        * inspector/front-end/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.shortcutToString):
        (WebInspector.KeyboardShortcut._keyName):
        (WebInspector.KeyboardShortcut._modifiersToString):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2010-06-02  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Enable WebGL on more platforms even if accelerated compositing is disabled
        https://bugs.webkit.org/show_bug.cgi?id=40085

        Conditionalize the code which prevents a WebGL rendering context
        from being created if accelerated compositing is disabled.
        Currently Chromium is the only port which will create a context if
        accelerated compositing is disabled; other ports may opt in to
        this code path if desired.

        Tested with existing WebGL layout tests in Safari and Chromium on
        Mac OS X.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):

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

        Unreviewed, rolling out r60580.
        http://trac.webkit.org/changeset/60580
        https://bugs.webkit.org/show_bug.cgi?id=40087

        This broke dragging links if the selection was in a
        contentEditable element. (Requested by arv on #webkit).

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

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

        Reviewed by Ojan Vafai.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Just disable the current version of multi-column layout completely when the new
        pagination model is in effect.

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

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Turn off unforced page breaking at paint time when the new page breaking model is being used.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Don't check page break properties at paint time if we're using the new page breaking model.

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

2010-06-02  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix an infinite recursion crash when trying to wrap
        media elements without a media player.

        No test because there isn't a good way to ensure the media player
        is off.

        * dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
          instead of toV8(HTMLElement*).

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

        Reviewed by Darin Adler.

        Notification object ref counting is not correct.
        https://bugs.webkit.org/show_bug.cgi?id=39998

        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
        for Web Notifications. 

        No new tests are needed, as existing tests show the problem when sending the 
        "display" event asynchronously.

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Added.
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h: Added.
        (WebCore::MemoryInfo::create):
        (WebCore::MemoryInfo::totalJSHeapSize):
        (WebCore::MemoryInfo::usedJSHeapSize):
        * page/MemoryInfo.idl: Added.

2010-06-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: support "Continue to Here" in debugger
        https://bugs.webkit.org/show_bug.cgi?id=39953

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.ScriptView.prototype._continueToLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.continueToLine):
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype._continueToLine):
        (WebInspector.SourceView.prototype.updateLocalContent):

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

        Unreviewed, rolling out r60563.
        http://trac.webkit.org/changeset/60563
        https://bugs.webkit.org/show_bug.cgi?id=39646

        windows build failed

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Removed.
        * page/MemoryInfo.h: Removed.
        * page/MemoryInfo.idl: Removed.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Added.
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h: Added.
        (WebCore::MemoryInfo::create):
        (WebCore::MemoryInfo::totalJSHeapSize):
        (WebCore::MemoryInfo::usedJSHeapSize):
        * page/MemoryInfo.idl: Added.

2010-06-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add test for resource parameters.

        https://bugs.webkit.org/show_bug.cgi?id=40026
        
        Test: http/tests/inspector/resource-parameters.html

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildParameters):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._parseParameters):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshParms):

2010-06-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined

        First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
        overwrote it with the $$INSTALL_HEADERS variant without checking if the
        variable was set.

        Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].

        * WebCore.pro:

2010-06-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Style fixes for the generated code in DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=39949

        Get rid of extra spaces and wrong indentation in the generated
        code.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        (webkit_dom_test_callback_set_property):
        (webkit_dom_test_callback_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_void_method):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method):
        (webkit_dom_test_obj_int_method_with_args):
        (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_serialized_value):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_dynamic_frame):
        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
        (webkit_dom_test_obj_with_script_state_void):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_method_with_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
        (webkit_dom_test_obj_get_read_only_int_attr):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_int_attr):
        (webkit_dom_test_obj_set_int_attr):
        (webkit_dom_test_obj_get_long_long_attr):
        (webkit_dom_test_obj_set_long_long_attr):
        (webkit_dom_test_obj_get_unsigned_long_long_attr):
        (webkit_dom_test_obj_set_unsigned_long_long_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_attr_with_exception):
        (webkit_dom_test_obj_set_attr_with_exception):
        (webkit_dom_test_obj_get_attr_with_setter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_get_script_string_attr):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:

2010-06-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Added conversion of inspector's resource representation into HAR.
        Moved common resource accessors from ResourceView to Resource.
        https://bugs.webkit.org/show_bug.cgi?id=30567

        Test: http/tests/inspector/resource-har-conversion.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Added.
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildHeaders):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildParameters):
        (WebInspector.HAREntry.prototype._buildParameter):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get receiveDuration):
        (WebInspector.Resource.prototype.requestHeaderValue):
        (WebInspector.Resource.prototype.get requestFormData):
        (WebInspector.Resource.prototype.set requestFormData):
        (WebInspector.Resource.prototype.responseHeaderValue):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype._parseParameters):
        (WebInspector.Resource.prototype._headerValue):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

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

        Unreviewed, rolling out r60547.
        http://trac.webkit.org/changeset/60547
        https://bugs.webkit.org/show_bug.cgi?id=40051

        It made fast/overflow/overflow-with-local-background-
        attachment.html crash (Requested by Ossy on #webkit).

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser does not track line numbers
        https://bugs.webkit.org/show_bug.cgi?id=39984

        This adds rudimentary line-number tracking to the HTML5Lexer.
        We'll still need to handle \r\n cases eventually, but this
        fixes the vast majority of our line-number related failures.

        Fixes 268 layout tests. :)

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
         - Reset m_lineNumber to 0.
        (WebCore::HTML5Lexer::consumeEntity):
         - Pass m_lineNumber to advance().
        (WebCore::HTML5Lexer::nextToken):
         - Pass m_lineNumber to advance().
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::lineNumber):
         - Expose m_lineNumber for HTML5Tokenizer.
        (WebCore::HTML5Lexer::columnNumber):
         - Mirrors the implementation in the old HTMLTokenizer.
           we might some day support column number tracking in
           the Lexer.  It certainly would be possible.
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - ASSERT we're passed a host.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Use PendingScript.startingLineNumber when PendingScript is an inline script.
        (WebCore::HTML5ScriptRunner::execute):
         - Now expects a start line number passed from the TreeBuilder.
        (WebCore::HTML5ScriptRunner::runScript):
         - Now expects a start line number.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
         - Track startingLineNumber for any inline script.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::begin):
         - Add a FIXME.  The old HTMLTokenizer resets its "lexer" state here.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Pass scriptStartLine to the HTML5ScriptRunner
        (WebCore::HTML5Tokenizer::lineNumber):
         - Implementation for Tokenizer.h
        (WebCore::HTML5Tokenizer::columnNumber):
         - Implementation for Tokenizer.h
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
         - Initialize the new line number tracking variables.
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
         - Save off the line number from the start tag to pass to the ScriptRunner.
        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
         - Return the line number from the start tag.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Save off the line number of ever script start tag we see.
        * html/HTML5TreeBuilder.h:
         - Keep both the line number of the last start tag, and the
           line number of the script we know we're expecting our caller to
           run before resuming parsing.  These are separate to keep the code
           clean, especially since the last script start tag line number is
           a hack specific to using the old HTMLParser.

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

        Reviewed by Pavel Feldman.

        Web Inspector: Timeline should nicely format the Timer timeout
        https://bugs.webkit.org/show_bug.cgi?id=40040

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.

2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Clamp dirtyRect updates of composited layer contents to the size
        of the layer to avoid writing outside texture bounds.
        https://bugs.webkit.org/show_bug.cgi?id=40030

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::updateTextureContents):

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

        Reviewed by Darin Adler.

        Notification object ref counting is not correct.
        https://bugs.webkit.org/show_bug.cgi?id=39998

        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
        for Web Notifications. 

        No new tests are needed, as existing tests show the problem when sending the 
        "display" event asynchronously.

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Dirk Schulze.

        [Qt] Image shadow doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=37804

        Implement the code for image shadow

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

2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Adding the precision qualifier to fragment shaders used by the GL
        compositor in chromium to turn them into valid GLSL ES.
        https://bugs.webkit.org/show_bug.cgi?id=40022

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

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

        Reviewed by David Levin.

        Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
        https://bugs.webkit.org/show_bug.cgi?id=40015

        No new tests as there is no new functionality.

        Remove const from the cast type.

        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::build):

2010-06-02  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=39906

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG repaintRect should be empty if content got clipped away
        https://bugs.webkit.org/show_bug.cgi?id=39965
        
        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
        We apply the object to the resource on painting at the moment.
        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
        This can cause problems, if the resource get changed by animations or scripts.
        On a change, the resource tells all it's callers to relayout.
        If the reference to the caller (our RenderObject) is missing, the object won't ever update
        and therefore won't get drawn.
        We already have LayoutTests that cover this problem. The complete repaintRect calculation
        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
        This eliminates redundant code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasClipper):
        (WebCore::SVGRenderStyle::hasMasker):
        (WebCore::SVGRenderStyle::hasFilter):

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

        Unreviewed, rolling out r60539.
        http://trac.webkit.org/changeset/60539
        https://bugs.webkit.org/show_bug.cgi?id=40043

        Accidentally added an unreviewed and invalid change to the
        patch. (Requested by krit on #webkit).

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::colorFromRGBColorString):

2010-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG repaintRect should be empty if content got clipped away
        https://bugs.webkit.org/show_bug.cgi?id=39965
        
        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
        We apply the object to the resource on painting at the moment.
        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
        This can cause problems, if the resource get changed by animations or scripts.
        On a change, the resource tells all it's callers to relayout.
        If the reference to the caller (our RenderObject) is missing, the object won't ever update
        and therefore won't get drawn.
        We already have LayoutTests that cover this problem. The complete repaintRect calculation
        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
        This eliminates redundant code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasClipper):
        (WebCore::SVGRenderStyle::hasMasker):
        (WebCore::SVGRenderStyle::hasFilter):

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

        Unreviewed, rolling out r60530.
        http://trac.webkit.org/changeset/60530
        https://bugs.webkit.org/show_bug.cgi?id=40041

        resource-har-conversion failed on GTK (Requested by abarth on
        #webkit).

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Removed.
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-06-01  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayer: warnings when reloading page
        https://bugs.webkit.org/show_bug.cgi?id=39694

        Made sure recaching and masks aren't attempted on zero-size layers.

        No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::MaskEffectQt::draw):
        (WebCore::GraphicsLayerQtImpl::recache):

2010-06-01  anton muhin  <antonm@google.com>

        Reviewed by Nate Chapin.

        [Chromium] enforce presence of named property query callback if named property enumerator is present
        https://bugs.webkit.org/show_bug.cgi?id=40006
        We need to be able to distinguish between enumerable and not enumerable properties
        in the presence of named interceptor.  V8 is migrating to use query
        callback to report enumerable properties and fallback check---
        using getter callback---would report properties as not enumerable.
        Thus if there is an enumerator callback, there should be query callback as well.
        (see V8's r4751).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectQueryProperty):
        (WebCore::createV8ObjectForNPObject):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Storage::namedPropertyQuery):

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

        Reviewed by Pavel Feldman.

        WebInspector: Added conversion of inspector's resource representation into HAR.
        Moved common resource accessors from ResourceView to Resource.
        https://bugs.webkit.org/show_bug.cgi?id=30567

        Test: http/tests/inspector/resource-har-conversion.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Added.
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildHeaders):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildParameters):
        (WebInspector.HAREntry.prototype._buildParameter):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get receiveDuration):
        (WebInspector.Resource.prototype.requestHeaderValue):
        (WebInspector.Resource.prototype.get requestFormData):
        (WebInspector.Resource.prototype.set requestFormData):
        (WebInspector.Resource.prototype.responseHeaderValue):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype._parseParameters):
        (WebInspector.Resource.prototype._headerValue):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-06-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fix "variable may be used before being set" warning in TextResourceDecoder::checkForHeadCharset
        https://bugs.webkit.org/show_bug.cgi?id=40001

        No new tests as there is no new functionality.

        Initialize len to 0 just to eliminate the compiler warning.

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):

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

        Reviewed by Pavel Feldman.

        WebInspector: Safari specific files InspectorFrontendClientLocal were removed from chromium project.
        https://bugs.webkit.org/show_bug.cgi?id=39993

        * WebCore.gypi:

2010-06-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Fix broken code generation in GenerateParametersCheckExpression.
        https://bugs.webkit.org/show_bug.cgi?id=39960

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp: Updated baseline.

2010-06-01  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Adam Roben.

        Remove Breakpoint.js. It was emptied in r60450 but for some reason it was not
        deleted at that time. The presence of empty files within the inspector's resource
        folder causes Mac OS X production builds to fail.

        * inspector/front-end/Breakpoint.js: Removed.

2010-05-24  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Darin Fisher.

        Added ability for PopupMenuClient to signal when
        * selection changed, and
        * selection cleared.

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

        No new tests because this functionality is intentionally hidden from
        everything other than renderer.

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::selectIndex):
        (WebCore::PopupListBox::clearSelection):
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::RenderMenuList::selectionChanged):
        (WebCore::RenderMenuList::RenderMenuList::selectionCleared):
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::selectionChanged):
        (WebCore::RenderTextControlSingleLine::selectionCleared):

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Check if a database needs to be auto-vacuumed only after transactions that have deleted something.
        https://bugs.webkit.org/show_bug.cgi?id=39688

        * storage/Database.cpp:
        (WebCore::Database::resetDeletes):
        (WebCore::Database::hadDeletes):
        * storage/Database.h:
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::resetDeletes):
        (WebCore::DatabaseAuthorizer::dropTable):
        (WebCore::DatabaseAuthorizer::dropTempTable):
        (WebCore::DatabaseAuthorizer::dropIndex):
        (WebCore::DatabaseAuthorizer::dropTempIndex):
        (WebCore::DatabaseAuthorizer::dropTrigger):
        (WebCore::DatabaseAuthorizer::dropTempTrigger):
        (WebCore::DatabaseAuthorizer::dropView):
        (WebCore::DatabaseAuthorizer::dropTempView):
        (WebCore::DatabaseAuthorizer::dropVTable):
        (WebCore::DatabaseAuthorizer::allowDelete):
        (WebCore::DatabaseAuthorizer::updateDeletesBasedOnTableName): Added.
        * storage/DatabaseAuthorizer.h:
        (WebCore::DatabaseAuthorizer::hadDeletes):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::postflightAndCommit):

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

        Reviewed by Anders Carlsson.

        Add a preference for paginating during layout (the new model for computing page breaks).

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setPaginateDuringLayoutEnabled):
        (WebCore::Settings::paginateDuringLayoutEnabled):

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Clean up the DB classes in preparation for a bigger refactoring.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * storage/ChangeVersionWrapper.cpp:
        * storage/ChangeVersionWrapper.h:
        * storage/Database.cpp:
        (WebCore::Database::Database):
        (WebCore::Database::lastActionChangedDatabase):
        (WebCore::Database::lastActionWasInsert):
        (WebCore::Database::inProgressTransactionCompleted):
        (WebCore::Database::securityOrigin):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        (WebCore::Database::databaseDebugName):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTransactionTask::doPerformTask):
        * storage/DatabaseTask.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        * storage/SQLStatement.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::SQLTransaction):
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::runStatements):
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::postflightAndCommit):
        (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:

2010-06-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Nikolas Zimmermann.

        Large SVG rect with shadow fails to render
        https://bugs.webkit.org/show_bug.cgi?id=38851

        Store intermediate shadow calculation in floats to prevent integer overflow.

        Test: svg/filters/shadow-on-rect-large.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::getSVGShadowExtent):
        (WebCore::SVGRenderStyle::inflateForShadow):

2010-06-01  Jer Noble  <jer.noble@apple.com>

        Reviewed by Sam Weinig.

        QuickTime 7.6.4 + Safari Nightly = Crash
        https://bugs.webkit.org/show_bug.cgi?id=40019
        rdar://problem/8035443
        
        Check the return value of QTCFPropertyListCreateXMLData before calling CFDataGetLength().

        * platform/graphics/win/QTCFDictionary.cpp:
        (QTCFDictionaryCreateCopyWithDataCallback):

2010-06-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        Manipulating SVG element attributes in Javascript does not work as expected
        https://bugs.webkit.org/show_bug.cgi?id=34328

        Reset the viewBox to be empty when removing the viewBox attribute.

        Test: svg/custom/svg-viewBox-dynamic.html

        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * svg/SVGFitToViewBox.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::setViewBoxString):
        (WebCore::SVGViewSpec::parseViewSpec):

2010-06-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324
 
        There are some parameters that super handles that are not explicitly returned by the list of the element's attributes.
        In those cases, super should handle.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-28  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=15550, complete implementation of column-span.  Add support for nested column
        spans.  When a column span is nested inside multiple enclosing blocks, the blocks have to be split around the column-span.
        We do this using block element continuations, the same kind of solution we employed for blocks inside inlines.
        
        The code for block continuations is very similar to the code for inline continuations.  It may be possible to refactor the
        code into RenderBoxModelObject so that more of it can be shared, but this first pass avoids that so as not to risk
        causing any regressions in core rendering.

        Note also that - just as with inline continuations - you can't unsplit block continuations yet.  There is no technical limitation
        here... the functions just need to be written to handle it.
        
        Added new tests in fast/multicol/span.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::continuationBefore):
        (WebCore::RenderBlock::addChildToContinuation):
        (WebCore::RenderBlock::containingColumnsBlock):
        (WebCore::RenderBlock::clone):
        (WebCore::RenderBlock::splitBlocks):
        (WebCore::RenderBlock::splitFlow):
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::columnsBlockForSpanningElement):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::addChild):
        (WebCore::RenderBlock::addChildIgnoringContinuation):
        (WebCore::RenderBlock::blockElementContinuation):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBlock.h:

2010-06-01  Alexey Proskuryakov  <ap@apple.com>

        Build fix.

        Hopefully, touching WebCore.base.exp will actually rebuild the export file.

        * WebCore.Geolocation.exp:
        * WebCore.base.exp:

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Execute void callbacks in the context they were created in.
        https://bugs.webkit.org/show_bug.cgi?id=39145

        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
        (WebCore::V8CustomVoidCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.h:

2010-06-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39434
        REGRESSION (r59811): Geolocation callbacks cannot be created

        * DerivedSources.make: Don't append both WebCore.Geolocation.exp and WebCore.ClientBasedGeolocation.exp,
        they are mutually exclusive.

        * WebCore.Geolocation.exp: Touched to force .exp file rebuild.

        * WebCore.xcodeproj/project.pbxproj: Removed GeolocationService related files.

        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionCallback): Functions defined in JavaScript code no longer inherit
        from InternalFunction, they inherit from JSFunction. This check is still imperfect, because
        it's not clear what definition of "function" should really be used, if any - other bindings
        code never checks callback type.
        (WebCore::createPositionErrorCallback): Ditto.

        * page/Geolocation.h: Don't include GeolocationService.h unless it's going to be used.

2010-06-01  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        IndexedDB cleanup
        https://bugs.webkit.org/show_bug.cgi?id=40007

        Remove the exception code parameter since this function can no longer
        cause an exception.

        * storage/IDBObjectStoreRequest.idl:
        * storage/IndexedDatabase.h:
        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::open):
        * storage/IndexedDatabaseImpl.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

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

        Reviewed by Xan Lopez.

        [GTK] Double clicks cause three button press events
        https://bugs.webkit.org/show_bug.cgi?id=38853

        Add GOwnPtr wrapper for GdkEvent and expose a setter for
        PlatformMouseEvent::m_clickCount.

        * GNUmakefile.am: Add GOwnPtrGtk.{cpp,h} to the sources list.
        * platform/PlatformMouseEvent.h: 
        (WebCore::PlatformMouseEvent::setClickCount): Added.
        * platform/gtk/GOwnPtrGtk.cpp: Added.
        (WTF::GdkEvent):
        * platform/gtk/GOwnPtrGtk.h: Added.

2010-06-01  Adam Langley  <agl@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] respect the user's embedded bitmap settings on Linux.

        We plumbed everything through Skia and Chrome, but forgot to connect
        the two wires inside WebCore.

        (Note: no layout test because test_shell forces this option off. Also,
         the test font which triggers this behaviour is 32MB.)

        https://bugs.webkit.org/show_bug.cgi?id=39894
        http://code.google.com/p/chromium/issues/detail?id=21149

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):

2010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt

        * WebCore.pro:

2010-06-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix a QtWebKit.pc corruption problem.
        https://bugs.webkit.org/show_bug.cgi?id=36826

        The problem occurs while installing QtWebKit from trunk
        or a source package.

        * WebCore.pro:

2010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt

        Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
        where mkspecs/features/qt.prf expects it.

        * WebCore.pro:

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

        Unreviewed, rolling out r60470.
        http://trac.webkit.org/changeset/60470
        https://bugs.webkit.org/show_bug.cgi?id=39990

        Need to rollout until bot can be updated (Requested by jorlow
        on #webkit).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::namedPropertyDeleter):
        (WebCore::V8HTMLDocument::namedPropertyGetter):
        (WebCore::V8HTMLDocument::indexedPropertyGetter):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-01  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
        https://bugs.webkit.org/show_bug.cgi?id=39877

        This patch makes callbacks invoked on named items addition/removal
        install API accessors and thus there is no more need in
        named and indexed interceptors on HTMLDocument which
        speeds up invocation of methods on document.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-01  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Make the spot light anti-alias effect look similar to SVG expected values.
        https://bugs.webkit.org/show_bug.cgi?id=39477

        The W3 standard only mention, that the edge of the spotlight should be
        anti-aliased but it does not specify how. The provided expected values
        gives some hint about their intentions. The algorithm uses a fixed
        range, which computed as follows: let a = cos(spot light cutoff range)
        the light fades off in the [a-0.016, a] range.

        Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
        Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg

        * svg/graphics/filters/SVGLightSource.cpp:
        (WebCore::SpotLightSource::initPaintingData):

2010-05-31  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix default action for EndTagOpenState
        https://bugs.webkit.org/show_bug.cgi?id=39982

        Add a test for a bogus end tag to webkit01.dat and update expected
        results now that we pass some more tests.

        Adding this test revealed a bug in resuming the bogus comment state.
        I've left these broken expectations, but I'll fix the bug in a future
        patch. (The bug existed prior to this patch, just not the test.)

        * html5lib/resources/webkit01.dat:
        * html5lib/runner-expected-html5.txt:
        * html5lib/webkit-resumer-expected-html5.txt:

2010-05-31  Lyon Chen  <liachen@rim.com>

        Reviewed by Kent Tamura.

        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
        https://bugs.webkit.org/show_bug.cgi?id=35530

        Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/EditorCommand.cpp:
        (WebCore::executeDeleteBackward):
        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
        (WebCore::executeDeleteForward):
        (WebCore::executeDeleteToBeginningOfLine):
        (WebCore::executeDeleteToBeginningOfParagraph):
        (WebCore::executeDeleteToEndOfLine):
        (WebCore::executeDeleteToEndOfParagraph):
        (WebCore::executeDeleteWordBackward):
        (WebCore::executeDeleteWordForward):
        (WebCore::executeForwardDelete):
        (WebCore::executeMoveBackward):
        (WebCore::executeMoveBackwardAndModifySelection):
        (WebCore::executeMoveDown):
        (WebCore::executeMoveDownAndModifySelection):
        (WebCore::executeMoveForward):
        (WebCore::executeMoveForwardAndModifySelection):
        (WebCore::executeMoveLeft):
        (WebCore::executeMoveLeftAndModifySelection):
        (WebCore::executeMovePageDown):
        (WebCore::executeMovePageDownAndModifySelection):
        (WebCore::executeMovePageUp):
        (WebCore::executeMovePageUpAndModifySelection):
        (WebCore::executeMoveRight):
        (WebCore::executeMoveRightAndModifySelection):
        (WebCore::executeMoveToBeginningOfDocument):
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
        (WebCore::executeMoveToBeginningOfLine):
        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
        (WebCore::executeMoveToBeginningOfParagraph):
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
        (WebCore::executeMoveToBeginningOfSentence):
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfDocument):
        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
        (WebCore::executeMoveToEndOfSentence):
        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfLine):
        (WebCore::executeMoveToEndOfLineAndModifySelection):
        (WebCore::executeMoveToEndOfParagraph):
        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
        (WebCore::executeMoveParagraphBackwardAndModifySelection):
        (WebCore::executeMoveParagraphForwardAndModifySelection):
        (WebCore::executeMoveUp):
        (WebCore::executeMoveUpAndModifySelection):
        (WebCore::executeMoveWordBackward):
        (WebCore::executeMoveWordBackwardAndModifySelection):
        (WebCore::executeMoveWordForward):
        (WebCore::executeMoveWordForwardAndModifySelection):
        (WebCore::executeMoveWordLeft):
        (WebCore::executeMoveWordLeftAndModifySelection):
        (WebCore::executeMoveWordRight):
        (WebCore::executeMoveWordRightAndModifySelection):
        (WebCore::executeMoveToLeftEndOfLine):
        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
        (WebCore::executeMoveToRightEndOfLine):
        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::willBeModified):
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:
        (WebCore::SelectionController::):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::modify):
        (WebCore::DOMSelection::deleteFromDocument):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleKeyboardSelectionMovement):

2010-05-31  Eric Seidel <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(60409): window.onload never fires when using HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39981

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::finish):
         - The logic was just wrong here.  We should only be setting
           m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
           is true, and we should be calling end() when it is not.
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - Add another ASSERT to catch cases like this.
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::finished):
         - Add a comment about why we don't need to call m_document->finishedParsing()

2010-05-31  Tony Chang  <tony@chromium.org>

        Reviewed by Dan Bernstein.

        REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
        https://bugs.webkit.org/show_bug.cgi?id=39946
        
        r58665 added an infinite recursion check, but didn't take into consideration recursion between two
        Positions.  This adds a check for when
        downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1

        Test: editing/selection/mixed-editability-12.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset):

2010-05-31  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by George Staikos.

        Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter. 
        And implement it in Qt port. 
        https://bugs.webkit.org/show_bug.cgi?id=37304

        Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
               platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::toDataURL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * dom/CanvasSurface.cpp:
        (WebCore::CanvasSurface::toDataURL):
        * dom/CanvasSurface.h:
        (WebCore::CanvasSurface::toDataURL):
        * html/HTMLCanvasElement.idl:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::toDataURL):

2010-05-31  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add Context Menu implementation
        https://bugs.webkit.org/show_bug.cgi?id=39821

        * platform/ContextMenu.h: add port-specific attributes.
        * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
        other ports
        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
        * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
        port.
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/efl/ContextMenuItemEfl.cpp:  implement needed methods for
        this port.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::checked):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::enabled):
        (WebCore::ContextMenuItem::setEnabled):

2010-05-31  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Classes for native serialization to JSON were implemented.
        https://bugs.webkit.org/show_bug.cgi?id=34204

        * GNUmakefile.am:
        * WebCore.Inspector.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorValues.cpp: Added.
        (WebCore::escapeChar):
        (WebCore::doubleQuoteString):
        (WebCore::InspectorBaseValue::toJSONString):
        (WebCore::InspectorBaseValue::writeJSON):
        (WebCore::InspectorValue::writeJSON):
        (WebCore::InspectorString::writeJSON):
        (WebCore::InspectorObject::writeJSON):
        (WebCore::InspectorArray::writeJSON):
        * inspector/InspectorValues.h: Added.
        (WebCore::InspectorBaseValue::InspectorBaseValue):
        (WebCore::InspectorBaseValue::~InspectorBaseValue):
        (WebCore::InspectorBaseValue::null):
        (WebCore::InspectorBaseValue::):
        (WebCore::InspectorBaseValue::type):
        (WebCore::InspectorValue::create):
        (WebCore::InspectorValue::InspectorValue):
        (WebCore::InspectorValue::):
        (WebCore::InspectorString::create):
        (WebCore::InspectorString::InspectorString):
        (WebCore::InspectorObject::create):
        (WebCore::InspectorObject::~InspectorObject):
        (WebCore::InspectorObject::InspectorObject):
        (WebCore::InspectorArray::create):
        (WebCore::InspectorArray::~InspectorArray):
        (WebCore::InspectorArray::length):
        (WebCore::InspectorArray::InspectorArray):
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::set):
        (WebCore::InspectorArray::pushBool):
        (WebCore::InspectorArray::pushNumber):
        (WebCore::InspectorArray::pushString):
        (WebCore::InspectorArray::push):

2010-05-31  Olivier Goffart <olivier.goffart@nokia.com>

        Reviewed by Oliver Hunt.

        [PATCH] compilation error with clang in JSDOMBinding.h
        https://bugs.webkit.org/show_bug.cgi?id=39945

        JSNode is only forward declared at this point. And since neither
        "wrapper" nor JSValue are type-dependent. Compilers should report errors
        at the first compilation pass.

        The fix is to move the conversion the line above, as the call to the
        function getCachedDOMNodeWrapper is type-dependent, the conversion will
        happen at template-instantiation time.

        See also http://llvm.org/bugs/show_bug.cgi?id=7244

        * bindings/js/JSDOMBinding.h:
        (WebCore::getDOMNodeWrapper):

2010-05-31  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Breakpoint.js:
        * inspector/front-end/BreakpointManager.js: Added.
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get enabled):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.get sourceText):
        (WebInspector.Breakpoint.prototype.set sourceText):
        (WebInspector.Breakpoint.prototype.get label):
        (WebInspector.Breakpoint.prototype.get id):
        (WebInspector.Breakpoint.prototype.get condition):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.reset):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
        * inspector/front-end/Object.js:
        (WebInspector.Object.prototype.dispatchEventToListeners):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._contextMenu):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):
        (WebInspector.SourceView.prototype._removeBreakpoint):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.restoredBreakpoint):
        (WebInspector.reset):

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, build fix.

        Add references to inspector/front-end/TabbedPane.js wherever applicable.

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

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, add a file not added in r60445.

        * inspector/front-end/TabbedPane.js: Added

2010-05-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
        https://bugs.webkit.org/show_bug.cgi?id=39827

        Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
        approach used in other parts of WebKit GTK+.

        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
        (WebCore::Pasteboard::writePlainText): Ditto.
        (WebCore::Pasteboard::writeURL): Ditto.
        (WebCore::Pasteboard::writeImage): Ditto.
        (WebCore::Pasteboard::clear): Small cleanup.
        (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
        (WebCore::Pasteboard::plainText): Ditto.

2010-05-31  Darin Adler  <darin@apple.com>

        Updated bindings test results for change in JavaScript host calling convention change
        from 2 days ago.

        * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
        result is correct.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement additional tabs support in ResourceView
        https://bugs.webkit.org/show_bug.cgi?id=39822

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._selectHeadersTab):
        (WebInspector.ResourceView.prototype._innerSelectContentTab):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.resize):
        (WebInspector.SourceView.prototype.updateLocalContent):
        (WebInspector.SourceView.prototype.selectLocalContentTab):
        * inspector/front-end/TabbedPane.js: Added.
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.tabObjectForId):
        (WebInspector.TabbedPane.prototype.hideTab):
        (WebInspector.TabbedPane.prototype.selectTabById):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._getSelection):
        * inspector/front-end/inspector.html:

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement retrieval of CSS stylesheets for source editing
        https://bugs.webkit.org/show_bug.cgi?id=39833

        Test: inspector/styles-source-offsets.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::createStyleRule):
        * css/CSSParser.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getStyleSheet):
        (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
        (WebCore::InspectorCSSStore::asCSSStyleRule):
        (WebCore::InspectorCSSStore::styleSheetForId):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        (WebCore::InspectorDOMAgent::getParentStyleSheet):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetStyleSheet):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):

2010-05-31  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] float variables misused
        https://bugs.webkit.org/show_bug.cgi?id=38842

        Use 0.0f for float variables instead of 0.0. Also added some
        missing casts around GST_SECOND.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::playbackPosition):
        (WebCore::MediaPlayerPrivateGStreamer::duration):
        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
        (WebCore::MediaPlayerPrivateGStreamer::seek):
        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
        (WebCore::MediaPlayerPrivateGStreamer::setRate):
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):

2010-05-31  Steve Block  <steveblock@google.com>

        Unreviewed, rolling out r60069.
        http://trac.webkit.org/changeset/60069
        https://bugs.webkit.org/show_bug.cgi?id=39288

        Roll out r60069 while the need for Geolocation::stop() is
        investigated.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        * page/Geolocation.h:

2010-05-31  Olivier Tilloy  <olivier@tilloy.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
        from the current GTK theme.
        https://bugs.webkit.org/show_bug.cgi?id=37779

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::systemColor):
        (WebCore::RenderThemeGtk::gtkButton):
        * platform/gtk/RenderThemeGtk.h:

2010-05-31  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Filter: Crash if parent and child elements use the same filter
        https://bugs.webkit.org/show_bug.cgi?id=39536

        If a parent and a child used the same filter, the temporary saved
        context reference got overwritten by the child. The reference is
        stored in FilterData now. FilterData depends to the target object
        and avoids overwriting any reference.

        Test: svg/filters/parent-children-with-same-filter.svg

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:

2010-05-31  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Fix all compiler warnings.

        * plugins/gtk/gtk2xtbin.c:
        (xt_event_dispatch):
        (gtk_xtbin_get_type):
        (gtk_xtbin_set_position):
        (xt_add_focus_listener):
        (xt_remove_focus_listener):

2010-05-31  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Escape backslashes in the .pro files

        qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.

        * WebCore.pro:

2010-05-31  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        Make NodeList getters take AtomicString instead of plain String
        https://bugs.webkit.org/show_bug.cgi?id=39892

        Those methods turn String into AtomicString later.  And this conversion
        is faster if underlying string is already atomic.
        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
        I don't know if Safari benefits from it.

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39939

        Turns out we need to implement the bogus comment state.  :)

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-05-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
        https://bugs.webkit.org/show_bug.cgi?id=39935

        Test: fast/tokenizer/write-partial-entity.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::executeScript):
         - Use m_source.append(oldInsertionPoint) instead of
           oldInsertionPoint.prepend(m_source) because m_source may have had
           characters pushed onto it and prepend() does not handle that case.

2010-05-30  Lyon Chen  <liachen@rim.com>

        Reviewed by Kent Tamura.

        This is a coding style cleanup before fixing to bug 35530.

        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
        https://bugs.webkit.org/show_bug.cgi?id=35530

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::fontForSelection):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::triStateOfStyleInComputedStyle):
        (WebCore::Editor::selectionStartHasStyle):
        (WebCore::Editor::selectionHasStyle):
        (WebCore::Editor::paste):
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::findFirstMisspellingInRange):
        (WebCore::findFirstGrammarDetailInRange):
        (WebCore::findFirstBadGrammarInRange):
        (WebCore::findFirstMisspellingOrBadGrammarInRange):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::isRangeUngrammatical):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::guessesForMisspelledOrUngrammaticalRange):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame):
        (WebCore::executeToggleStyleInList):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeDelete):
        (WebCore::executeForwardDelete):
        (WebCore::executeInsertLineBreak):
        (WebCore::supportedCopyCut):
        (WebCore::supportedPaste):
        (WebCore::enabledDelete):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRight):
        (WebCore::SelectionController::modifyExtendingForward):
        (WebCore::SelectionController::modifyMovingRight):
        (WebCore::SelectionController::modifyMovingForward):
        (WebCore::SelectionController::modifyExtendingLeft):
        (WebCore::SelectionController::modifyExtendingBackward):
        (WebCore::SelectionController::modifyMovingLeft):
        (WebCore::SelectionController::modifyMovingBackward):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
        (WebCore::SelectionController::debugRenderer):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::doApply):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::updatePreservesTypingStyle):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::canHandleDragAndDropForTarget):
        (WebCore::EventHandler::dispatchMouseEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::handleKeyboardSelectionMovement):
        (WebCore::EventHandler::handleDrag):

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

        Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.

        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::isEnabledFormControl):
        (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
        (WebCore::HTMLFormControlElement::isFormControlElement):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isPasswordField):

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

        Reviewed by Sam Weinig.

        Make more HTML DOM members private, especially constructors, third and final batch
        https://bugs.webkit.org/show_bug.cgi?id=39916

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule):
        (WebCore::executeInsertImage):
        * editing/htmlediting.cpp:
        (WebCore::createDefaultParagraphElement):
        (WebCore::createListItemElement):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::headCreateErrorCheck):
        (WebCore::HTMLParser::formCreateErrorCheck):
        (WebCore::HTMLParser::createHead):
        (WebCore::HTMLParser::handleIsindex):
        (WebCore::HTMLParser::finished):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createSubtreeIfNeeded):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        Use create instead of new to create HTML elements.

        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedFormItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormControlElement.h:
        Updated for name and privacy changes in HTMLFormElement.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        (WebCore::HTMLFormElement::create):
        (WebCore::HTMLFormElement::~HTMLFormElement):
        (WebCore::HTMLFormElement::length):
        (WebCore::HTMLFormElement::submitImplicitly):
        (WebCore::HTMLFormElement::createFormData):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::formElementIndex):
        (WebCore::HTMLFormElement::registerFormElement):
        (WebCore::HTMLFormElement::removeFormElement):
        (WebCore::HTMLFormElement::registerImgElement):
        (WebCore::HTMLFormElement::removeImgElement):
        (WebCore::HTMLFormElement::defaultButton):
        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
        (WebCore::HTMLFormElement::addElementAlias):
        (WebCore::HTMLFormElement::documentDidBecomeActive):
        * html/HTMLFormElement.h:
        Added create functions. Made constructors and other members private.
        Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
        m_collectionCache and used an OwnPtr for it. Renamed formElements to
        m_associatedElements (since its contents are what HTML5 calls
        "form-associated element", not form elements). Renamed imgElements to
        m_imageElements.

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
        (WebCore::HTMLFrameSetElement::create):
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * html/HTMLFrameSetElement.h:
        Added create functions. Made constructors and other members private.
        Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
        OwnArrayPtr for both.

        * html/HTMLLabelElement.cpp:
        (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
        of HTMLElement, since isFormControlElement is available on Element.
        (WebCore::HTMLLabelElement::HTMLLabelElement):
        (WebCore::HTMLLabelElement::create):
        * html/HTMLLabelElement.h:
        Added create functions. Made constructors and other members private.

        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::HTMLLegendElement):
        (WebCore::HTMLLegendElement::create):
        (WebCore::HTMLLegendElement::associatedControl):
        (WebCore::HTMLLegendElement::focus):
        (WebCore::HTMLLegendElement::accessKeyAction):
        * html/HTMLLegendElement.h:
        Added create functions. Made constructors and other members private.
        Renamed formElement to associatedControl since hte control associated
        with this legend is not a "form element".

        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::DeleteButton):
        (WebCore::DeleteButton::create):
        * editing/DeleteButton.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::HTMLDivElement):
        (WebCore::HTMLDivElement::create):
        * html/HTMLDivElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::create):
        * html/HTMLFontElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::HTMLHRElement):
        (WebCore::HTMLHRElement::create):
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.cpp:
        (WebCore::HTMLHeadElement::HTMLHeadElement):
        (WebCore::HTMLHeadElement::create):
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.cpp:
        (WebCore::HTMLHeadingElement::HTMLHeadingElement):
        (WebCore::HTMLHeadingElement::create):
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
        (WebCore::HTMLHtmlElement::create):
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement):
        (WebCore::HTMLImageElement::create):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::create):
        (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
        (WebCore::HTMLIsIndexElement::create):
        * html/HTMLIsIndexElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::HTMLLIElement):
        (WebCore::HTMLLIElement::create):
        * html/HTMLLIElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::create):
        * html/HTMLLinkElement.h:
        Added create functions. Made constructors and other members private.

        * html/HTMLTagNames.in: Removed the createWithNew flag from all the
        tags that were still using it: div, font, form, frameset, h1, h2, h3,
        h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
        legend, li, and link.

        * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
        function, since the one in HTMLFormElement does the same thing.

        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::ImageDocumentElement):
        (WebCore::ImageDocumentElement::create):
        (WebCore::ImageDocument::createDocumentStructure):
        Added create functions. Made constructors and other members private.

        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
        function instead of the virtual isEnabledFormControl function, which just
        turns around and calls the disabled function.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
        (WebCore::MediaControlShadowRootElement::create):
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlElement::create):
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
        (WebCore::MediaControlTimelineContainerElement::create):
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
        (WebCore::MediaControlVolumeSliderContainerElement::create):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
        (WebCore::MediaControlStatusDisplayElement::create):
        (WebCore::MediaControlStatusDisplayElement::update):
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::styleForElement):
        (WebCore::MediaControlInputElement::rendererIsNeeded):
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlMuteButtonElement::create):
        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlSeekButtonElement::create):
        (WebCore::MediaControlSeekButtonElement::isForwardButton):
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        (WebCore::MediaControlTimelineElement::update):
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
        (WebCore::MediaControlVolumeSliderElement::update):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
        (WebCore::MediaControlTimeDisplayElement::create):
        * rendering/MediaControlElements.h:
        Added create functions. Made constructors and other members private.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::ShadowInputElement::ShadowInputElement):
        (WebCore::ShadowInputElement::create):
        (WebCore::RenderFileUploadControl::updateFromElement):
        Added create functions. Made constructors and other members private.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::createControlsShadowRoot):
        (WebCore::RenderMedia::createPanel):
        (WebCore::RenderMedia::createMuteButton):
        (WebCore::RenderMedia::createPlayButton):
        (WebCore::RenderMedia::createSeekBackButton):
        (WebCore::RenderMedia::createSeekForwardButton):
        (WebCore::RenderMedia::createRewindButton):
        (WebCore::RenderMedia::createReturnToRealtimeButton):
        (WebCore::RenderMedia::createToggleClosedCaptionsButton):
        (WebCore::RenderMedia::createStatusDisplay):
        (WebCore::RenderMedia::createTimelineContainer):
        (WebCore::RenderMedia::createTimeline):
        (WebCore::RenderMedia::createVolumeSliderContainer):
        (WebCore::RenderMedia::createVolumeSlider):
        (WebCore::RenderMedia::createCurrentTimeDisplay):
        (WebCore::RenderMedia::createTimeRemainingDisplay):
        (WebCore::RenderMedia::createFullscreenButton):
        Use create instead of new.

        * rendering/RenderProgress.cpp:
        (WebCore::ProgressValueElement::ProgressValueElement):
        (WebCore::ProgressValueElement::create):
        (WebCore::RenderProgress::updateValuePartState):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::create):
        (WebCore::RenderSlider::updateFromElement):
        Added create functions. Made constructors and other members private.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement):
        (WebCore::TextControlInnerElement::create):
        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
        (WebCore::TextControlInnerTextElement::create):
        (WebCore::TextControlInnerTextElement::defaultEventHandler):
        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
        (WebCore::SearchFieldResultsButtonElement::create):
        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
        (WebCore::SearchFieldCancelButtonElement::create):
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
        (WebCore::SpinButtonElement::SpinButtonElement):
        (WebCore::SpinButtonElement::create):
        (WebCore::SpinButtonElement::defaultEventHandler):
        * rendering/TextControlInnerElements.h:
        Added create functions. Made constructors and other members private.

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

        Reviewed by Darin Adler.

        Incorrect build dependencies for GObject DOM Bindings
        https://bugs.webkit.org/show_bug.cgi?id=39932

        -include does not execute the implicit % expansion, we have to do
        it manually.

        * GNUmakefile.am:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.

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

        Fix the bug in webkit.org/b/29601 for Qt.  A delta not divisible by 120
        indicates a device that is sending fine-resolution scroll events, so
        use the delta as the number of pixels to scroll.

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::applyDelta):

2010-05-30  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Pavel Feldman.

        https://bugs.webkit.org/show_bug.cgi?id=39224
        Bug 39224 - Web Inspector: There should be a way to clean up profiles

        Adds a button to clear the profiles from the profiles panel like that
        used for the console, the audits panel, and the timeline panel.
        Consolidates the css rules, since they all use the same image.
        Also allows for individual profiles to be deleted via the keyboard
        (U+0008 or U+007F) and uses this new schema for the Elements Tree.

        * English.lproj/localizedStrings.js:
        Add tooltip text for the button to clear the profiles pane.

        * inspector/InspectorBackend.idl:
        Add ability to remove the profiles from the backend when they are
        deleted or cleared in the frontend.
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::removeProfile):
        (WebCore::InspectorBackend::clearProfiles):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::removeProfile):
        (WebCore::InspectorController::clearProfiles):
        * inspector/InspectorController.h:

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        Use the 'clear-status-bar-item' class.
        * inspector/front-end/ChangesView.js:
        (WebInspector.ChangesView):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        * inspector/front-end/audits.css:
        * inspector/front-end/inspector.css:
        (.clear-status-bar-item .glyph):
        * inspector/front-end/inspector.html:

        * inspector/front-end/ElementsTreeOutline.js:
        Replace the keyDown handler on the Outline with specific methods to
        handle delete and enter on the TreeElements.
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype.get editing):
        Return whether or not an element in the tree is currently being edited.
        (WebInspector.ElementsTreeElement.prototype.ondelete):
        (WebInspector.ElementsTreeElement.prototype.onenter):

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.createSidebar):
        Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        Add the clear button.
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype._clearProfiles):
        Remove the profiles from the backend, the reset the frontend interface.
        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
        Remove the profile from both the frontend and the backend, and clear the
        view when the last profile is removed.
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        Hide the clear button when profiling is disabled.
        (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
        Replace access to global variable with reference to the Panel held by the
        TreeOutline.
        (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
        Remove the profile corresponding the tree element when the user deletes
        that tree element.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyDown):
        Allow the selected tree element to handle the user pressing a delete
        key or enter key.

2010-05-29  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Darin Adler.

        Check if a CC environment variable is defined before hard-coding gcc's
        path. Simply hard-coding it breaks cross-compilation and Linux
        distributions with more than one gcc installed (or not in the default
        path).
        https://bugs.webkit.org/show_bug.cgi?id=35551

        No new functionality, so no new tests.

        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/IDLParser.pm:
        * dom/make_names.pl:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.

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

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

2010-05-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser should block script execution until stylesheets load
        https://bugs.webkit.org/show_bug.cgi?id=39903

        All <script> tag execution now blocks on stylesheet load, including
        inline <script> content which the old parser doesn't support blocking.

        Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
        once our primary parser knows how to wait for stylesheets
        before executing inline <script> content.

        All of http/tests/local passes in --html5-parser mode now.
        Also fixed fast/parser/tokenizer-close-during-document-write.html.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - Added a m_hasScriptsWaitingForStylesheets bool so that we can
           detect when we're actually waiting on stylesheets or not.
           If we're not waiting on stylesheets then we're still parsing and
           executing scripts would cause parser/script reentrancy and bad news bears.
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
         - Re-enable the check that the stylesheets have loaded.
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - ASSERT that stylesheets have loaded.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - ASSERT that this is never called reentrantly.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
         - Execute any scripts which were blocked on stylesheet loads.
         - ASSERT (in two ways) that this is never called reentrantly.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
         - Callers need to check this before calling executeScriptsWaitingForLoad.
        (WebCore::HTML5ScriptRunner::inScriptExecution):
         - Used by callers to ASSERT that we're not called re-entrantly.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
           due to stylesheets or not.  Callers need to know this to know if they
           should ignore executeScriptsWaitingForStylesheets calls from
           Document (which may be generated when parsing </script> tags).
           We only care about executeScriptsWaitingForStylesheets calls when
           we've actually blocked the parser due to waiting on a stylesheet load.
        (WebCore::HTML5Tokenizer::end):
         - Move m_source.close() back to this method now that I understand more
           about when finish() is called.  This should fix several layout test ASSERTS.
        (WebCore::HTML5Tokenizer::finish):
         - This should not close m_source since scripts may still write to
           the document.  Set m_wasWaitingOnScriptsDuringFinish to indicate
           that we were not able to end parsing during finish.
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - ASSERT that this is never caller re-entrantly.
        (WebCore::HTML5Tokenizer::executeScript):
         - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
        (WebCore::HTML5Tokenizer::executingScript):
         - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
        (WebCore::HTML5Tokenizer::notifyFinished):
         - ASSERT that this is never called re-entrantly.
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
         - Call the ScriptRunner to tell it that stylesheets have loaded if
           it is blocked on stylesheet loads.
         - ASSERT(m_hasScriptsWaitingForStylesheets).  We can't just assert
           isPaused() since we may be paused for script loads.
        * html/HTML5Tokenizer.h:

2010-05-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        Remove set but never used variables
        https://bugs.webkit.org/show_bug.cgi?id=35252

        No new tests as there is no new functionality.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::lastChildConsideringContinuation):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcInlinePrefWidths):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::createClipData):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):

2010-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60405.
        http://trac.webkit.org/changeset/60405
        https://bugs.webkit.org/show_bug.cgi?id=39921

        It broke GTK build. (Requested by Ossy on #webkit).

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-29  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        Make NodeList getters take AtomicString instead of plain String
        https://bugs.webkit.org/show_bug.cgi?id=39892

        Those methods turn String into AtomicString later.  And this conversion
        is faster if underlying string is already atomic.
        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
        I don't know if Safari benefits from it.

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-29  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
        https://bugs.webkit.org/show_bug.cgi?id=39750

        Fix for local HTML package breakage when each file is its own origin. 
        In this case we should allow descendant file: frames to navigate each 
        other when they share the same top frame.

        Test: fast/frames/location-change-no-file-access.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldAllowNavigation):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapInstance::invokeMethod):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        * bridge/qt/qt_runtime.h:

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
        (JSC::Bindings::QtPixmapToStringMethod::invoke):
        (JSC::Bindings::QtPixmapInstance::invokeMethod):
        * bridge/qt/qt_pixmapruntime.h:

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Keep this borken class limping along.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::invokeMethod):
        * bridge/qt/qt_instance.h:

2010-05-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

        Simplified the host calling convention.

        PART ONE: Functional code changes.
        
        [ None in WebCore ]
        
        PART TWO: Global search and replace.
        
        In the areas below, I used global search-and-replace to change
            (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
            args.size() => exec->argumentCount()
            args.at(i) => exec->argument(i)

        * bindings/js/JSArrayBufferViewCustom.cpp:
        (WebCore::JSArrayBufferView::slice):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::setWebGLArrayHelper):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::createImageData):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::hasItem):
        (WebCore::JSDOMApplicationCache::add):
        (WebCore::JSDOMApplicationCache::remove):
        * bindings/js/JSDOMFormDataCustom.cpp:
        (WebCore::JSDOMFormData::append):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::open):
        (WebCore::JSDOMWindow::showModalDialog):
        (WebCore::JSDOMWindow::postMessage):
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::setInterval):
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        (WebCore::JSDOMWindow::openDatabase):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabase::transaction):
        (WebCore::JSDatabase::readTransaction):
        * bindings/js/JSDatabaseSyncCustom.cpp:
        (WebCore::JSDatabaseSync::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabaseSync::transaction):
        (WebCore::JSDatabaseSync::readTransaction):
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        (WebCore::JSDedicatedWorkerContext::postMessage):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):
        * bindings/js/JSFloatArrayCustom.cpp:
        (WebCore::JSFloatArray::set):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::item):
        (WebCore::JSHTMLAllCollection::namedItem):
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        (WebCore::documentWrite):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::setSelectionRange):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::add):
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::pushState):
        (WebCore::JSHistory::replaceState):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::platform):
        (WebCore::JSInspectorFrontendHost::port):
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16Array::set):
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32Array::set):
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8Array::set):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::reload):
        (WebCore::JSLocation::assign):
        (WebCore::JSLocation::toString):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::JSMessageEvent::initMessageEvent):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::postMessage):
        * bindings/js/JSMessagePortCustom.h:
        (WebCore::handlePostMessage):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore):
        (WebCore::JSNode::replaceChild):
        (WebCore::JSNode::removeChild):
        (WebCore::JSNode::appendChild):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::callPlugin):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSQLTransactionSyncCustom.cpp:
        (WebCore::JSSQLTransactionSync::executeSql):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::rotateFromVector):
        * bindings/js/JSSVGPODListCustom.h:
        (WebCore::JSSVGPODListCustom::clear):
        (WebCore::JSSVGPODListCustom::initialize):
        (WebCore::JSSVGPODListCustom::getItem):
        (WebCore::JSSVGPODListCustom::insertItemBefore):
        (WebCore::JSSVGPODListCustom::replaceItem):
        (WebCore::JSSVGPODListCustom::removeItem):
        (WebCore::JSSVGPODListCustom::appendItem):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16Array::set):
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32Array::set):
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8Array::set):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::getObjectParameter):
        (WebCore::JSWebGLRenderingContext::getBufferParameter):
        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::JSWebGLRenderingContext::getParameter):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getTexParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::JSWebGLRenderingContext::getVertexAttrib):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        (WebCore::JSWebGLRenderingContext::uniform1fv):
        (WebCore::JSWebGLRenderingContext::uniform1iv):
        (WebCore::JSWebGLRenderingContext::uniform2fv):
        (WebCore::JSWebGLRenderingContext::uniform2iv):
        (WebCore::JSWebGLRenderingContext::uniform3fv):
        (WebCore::JSWebGLRenderingContext::uniform3iv):
        (WebCore::JSWebGLRenderingContext::uniform4fv):
        (WebCore::JSWebGLRenderingContext::uniform4iv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocket::send):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::importScripts):
        (WebCore::JSWorkerContext::setTimeout):
        (WebCore::JSWorkerContext::setInterval):
        (WebCore::JSWorkerContext::openDatabase):
        (WebCore::JSWorkerContext::openDatabaseSync):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::postMessage):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/js/ScheduledAction.h:
        * bindings/js/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/js/ScriptCallFrame.h:
        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::initialize):
        * bindings/js/ScriptCallStack.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaInstanceJSC.h:
        * bridge/jsc/BridgeJSC.h:
        (JSC::Bindings::Instance::invokeDefaultMethod):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeObjcMethod):
        (ObjcInstance::invokeDefaultMethod):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeObject):

2010-05-28  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        Implement GraphicsContext::setImageInterpolation() for the Chromium
        port.  This is preparatory work for bug 38233.  A number of
        background-resize tests will need a rebaseline, since the images are
        taken during the initial "low quality" phase (<800ms).

        [CHROMIUM] Chromium port should support image interpolation quality
        https://bugs.webkit.org/show_bug.cgi?id=38686

        Covered by fast/backgrounds/size/backgroundSize15.html, and others.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        Implement WebCore::GraphicsContext::setImageInterpolationQuality.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):  Only enable high quality
        interpolation if it has been requested in the GraphicsContext.
        (WebCore::drawResampledBitmap):  Enable cacheing of resampled images
        even if the size is not full (fix from Brett Wilson).
        (WebCore::paintSkBitmap):  Pass in the PlatformContextSkia to
        computeResamplingMode, so it can query it for interpolation quality.
        (WebCore::Image::drawPattern):  Ibid.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::interpolationQuality):
        (PlatformContextSkia::setInterpolationQuality):
        * platform/graphics/skia/PlatformContextSkia.h:
        Add a member fn and accessors to retain the image interpolation quality
        in the platform context, and to save/restore it with the state.

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Remove compiler warnings about uninitialized variable.
        https://bugs.webkit.org/show_bug.cgi?id=39871

        No new tests, just cosmetic changes.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyCursor):

2010-05-28  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        Prevent chromium composited layers from rendering on top of the scrollbars.
        https://bugs.webkit.org/show_bug.cgi?id=39851

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

2010-05-28  Aaron Boodman  <aa@chromium.org>

        Reviewed by Darin Fisher.

        Added isXHTMLDocument() to WebCore::Document.

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

        * dom/Document.h: Add isXHTMLDocument().
        (WebCore::Document::isXHTMLDocument): Ditto.

2010-05-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39857
        Make GIFs loop the correct number of times.  Previously, everyone looped
        one time too few for non-infinitely-looping GIFs.

        Modified a Qt manual test to be correct and moved it to the general
        manual test directory.

        * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
        * manual-tests/qt/qt-10loop-anim.gif: Removed.
        * manual-tests/qt/qt-anim.gif: Removed.
        * manual-tests/qt/qt-gif-test.html: Removed.
        * manual-tests/qt/qt-noanim.gif: Removed.
        * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
        * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
        * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::repetitionCount):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count.  Qt itself may still have a bug here.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).

2010-05-28  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
        https://bugs.webkit.org/show_bug.cgi?id=39882

        No new tests. Existing tests in fast/files should suffice.

        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.

2010-05-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Named entities in attributes aren't parsed correctly by HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39873

        I misplaced this if statement when writing this code originally.  Now
        that we have test coverage for this paragraph in the spec, we can see
        and fix the bug.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::consumeEntity):

2010-05-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Handle edge cases in HTML5 entity parsing
        https://bugs.webkit.org/show_bug.cgi?id=39823

        The HTML5 specification tells us to handle HTML entities in a somewhat
        complicated way.  This patch attempts to correctly handle numeric
        entities.  Some of this code is duplicated from HTMLTokenizer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::):
        (WebCore::HTMLNames::adjustEntity):
        (WebCore::HTMLNames::legalEntityFor):
        (WebCore::HTML5Lexer::consumeEntity):
        (WebCore::HTML5Lexer::processEntity):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::emitCodePoint):
        * html/HTML5Lexer.h:

2010-05-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: stop prepping value conversion in accessibilityAttributeValueForParameter
        https://bugs.webkit.org/show_bug.cgi?id=39880

        Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (visiblePositionForTextMarker):
        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-28  Adam Treat  <atreat@rim.com>

        Reviewed by Daniel Bates.

        RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859

        Layout is not dependent upon ScrollView::frameRect when useFixedLayout
        is true.  No reason to set the needs layout flag in this case.

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

2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>

        Unreviewed. Revert 60353 -- immature.

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

        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.cpp:
        * page/Console.h:
        * page/Console.idl:

2010-05-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Make more HTML DOM members private, especially constructors, batch 2
        https://bugs.webkit.org/show_bug.cgi?id=39706

        Refactoring so no new tests.

        Worked my way up from the bottom of HTMLTagNames.in.

        * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
        map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
        script, select, source, style, table, tbody, td, textarea, tfoot,
        th, thead, title, tr, ul, video, xmp, and noscript.

        * editing/htmlediting.cpp:
        (WebCore::createOrderedListElement): Use create function instead of new.
        (WebCore::createUnorderedListElement): Ditto.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Ditto.
        (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
        (WebCore::HTMLViewSourceDocument::addLine): Ditto.

        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
        instead of new.
        (WebCore::HTMLKeygenElement::create): Added.
        * html/HTMLKeygenElement.h: Made constructor and virtual function
        overrides private, added create function.

        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::HTMLMapElement):
        (WebCore::HTMLMapElement::create):
        * html/HTMLMapElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLMarqueeElement.h:
        * html/HTMLMenuElement.cpp:
        (WebCore::HTMLMenuElement::HTMLMenuElement):
        (WebCore::HTMLMenuElement::create):
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::HTMLMetaElement):
        (WebCore::HTMLMetaElement::create):
        * html/HTMLMetaElement.h:
        * html/HTMLNoScriptElement.cpp:
        (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
        (WebCore::HTMLNoScriptElement::create):
        (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
        * html/HTMLNoScriptElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::create):
        * html/HTMLOListElement.h:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
        (WebCore::HTMLOptGroupElement::create):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::create):
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::HTMLParagraphElement):
        (WebCore::HTMLParagraphElement::create):
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::HTMLParamElement):
        (WebCore::HTMLParamElement::create):
        * html/HTMLParamElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::HTMLPreElement):
        (WebCore::HTMLPreElement::create):
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::HTMLQuoteElement):
        (WebCore::HTMLQuoteElement::create):
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::HTMLScriptElement):
        (WebCore::HTMLScriptElement::create):
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::create):
        * html/HTMLSelectElement.h:
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::HTMLSourceElement):
        (WebCore::HTMLSourceElement::create):
        * html/HTMLSourceElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::create):
        * html/HTMLStyleElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
        (WebCore::HTMLTableRowElement::create):
        (WebCore::HTMLTableRowElement::insertCell):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
        (WebCore::HTMLTableSectionElement::create):
        (WebCore::HTMLTableSectionElement::insertRow):
        * html/HTMLTableSectionElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::create):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::HTMLTitleElement):
        (WebCore::HTMLTitleElement::create):
        * html/HTMLTitleElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::HTMLUListElement):
        (WebCore::HTMLUListElement::create):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement):
        (WebCore::HTMLVideoElement::create):
        * html/HTMLVideoElement.h:
        Made constructors and virtual function overrides private, added
        create function.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
        names of data members. Renamed _row to m_row, _col to m_col,
        rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
        rowHeight and m_solid.
        (WebCore::HTMLTableCellElement::create): Added.
        (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
        * html/HTMLTableCellElement.h: Ditto.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::create): Added.
        (WebCore::HTMLTableElement::createTHead): Used create instead of new.
        (WebCore::HTMLTableElement::createTFoot): Ditto.
        (WebCore::HTMLTableElement::insertRow): Ditto.
        * html/HTMLTableElement.h:

        * html/HTMLTablePartElement.h: Made members protected instead of
        public.

2010-05-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
        https://bugs.webkit.org/show_bug.cgi?id=39784

        Move coordinate transformation from TransparencyLayer to clipToImageBuffer()

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

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EF] Implement methods for supporting PopupMenu
        https://bugs.webkit.org/show_bug.cgi?id=39629

        * platform/PopupMenu.h: add needed attribute
        * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
        menu
        (WebCore::PopupMenu::PopupMenu): initialize new attribute
        (WebCore::PopupMenu::show): ditto.
        (WebCore::PopupMenu::hide): ditto.

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        Reorder class initializers to remove compiler warnings.
        https://bugs.webkit.org/show_bug.cgi?id=39596

        * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
        * platform/efl/PlatformMouseEventEfl.cpp: ditto.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
        * platform/efl/PlatformWheelEventEfl.cpp: ditto
        (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.

2010-05-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IndexedDB's IDBIndex
        https://bugs.webkit.org/show_bug.cgi?id=39850

        Flesh out IDBIndex as much as possible until Andrei finishes
        his patch to get around passing Frame*'s all around.  I also
        cleaned up a bunch of existing files as I noticed style
        violations (while basing my new files off of the old).

        Not hooked up enough to test.  Will add tests soon.

        * Android.derived.jscbindings.mk
        * Android.derived.v8bindings.mk
        * Android.mk
        * CMakeLists.txt
        * DerivedSources.cpp
        * DerivedSources.make
        * GNUmakefile.am
        * WebCore.pri
        * WebCore.pro
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbIndexRequest):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseError.h:
        (WebCore::IDBDatabaseError::):
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBDatabaseImpl.cpp:
        * storage/IDBDatabaseImpl.h:
        * storage/IDBDatabaseRequest.cpp:
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBIndex.h: Added.
        (WebCore::IDBIndex::~IDBIndex):
        * storage/IDBIndexImpl.cpp: Added.
        (WebCore::IDBIndexImpl::IDBIndexImpl):
        (WebCore::IDBIndexImpl::~IDBIndexImpl):
        * storage/IDBIndexImpl.h: Added.
        (WebCore::IDBIndexImpl::create):
        (WebCore::IDBIndexImpl::name):
        (WebCore::IDBIndexImpl::keyPath):
        (WebCore::IDBIndexImpl::unique):
        * storage/IDBIndexRequest.cpp: Added.
        (WebCore::IDBIndexRequest::IDBIndexRequest):
        (WebCore::IDBIndexRequest::~IDBIndexRequest):
        * storage/IDBIndexRequest.h: Added.
        (WebCore::IDBIndexRequest::create):
        (WebCore::IDBIndexRequest::name):
        (WebCore::IDBIndexRequest::keyPath):
        (WebCore::IDBIndexRequest::unique):
        * storage/IDBIndexRequest.idl: Added.
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::~IDBObjectStore):
        (WebCore::IDBObjectStore::indexNames):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        (WebCore::IDBObjectStoreRequest::name):
        (WebCore::IDBObjectStoreRequest::keyPath):
        (WebCore::IDBObjectStoreRequest::indexNames):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::index):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-05-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: hide node highlight when inspected page closes.
        https://bugs.webkit.org/show_bug.cgi?id=39872

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

2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalHeapSize and usedHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.cpp:
        (WebCore::Console::memory):
        * page/Console.h:
        * page/Console.idl:

2010-05-28  Xan Lopez  <xlopez@igalia.com>

        Add new file to the build system.

        * GNUmakefile.am:

2010-05-28  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.

        https://bugs.webkit.org/show_bug.cgi?id=39874
        [Qt] Make tiled backing store more configurable
    
        Make tile size, tile creation delay and tiling area dynamically configurable.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::setTileSize):
        (WebCore::TiledBackingStore::setTileCreationDelay):
        (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
        (WebCore::TiledBackingStore::createTiles):
        * platform/graphics/TiledBackingStore.h:
        (WebCore::TiledBackingStore::tileSize):
        (WebCore::TiledBackingStore::tileCreationDelay):
        (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):

2010-05-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        document.write does not work correctly in the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39828

        Added a new HTML5ScriptRunnerHost interface which
        HTML5Tokenizer implements.  This allows HTML5ScriptController
        to delegate the actual ScriptController::executeScript back to
        HTML5Tokenizer.  HTML5Tokenizer saves off the current m_source
        before calling ScriptController::executeScript to allow safe
        reentrancy through document.write().

        * WebCore.xcodeproj/project.pbxproj:
         - Added HTML5ScriptRunnerHost.h
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
         - Unregister m_parsingBlockingScript if stopped before
           load completion.  This was probably causing some of the
           crashes on page navigation we saw during LayoutTest runs.
        (WebCore::documentURLForScriptExecution):
         - Unify our documentURL handling so all callsites get it right.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Use documentURLForScriptExecution
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - Call stopWatchingForLoad instead of removeClient()
         - Call executeScript instead of ScriptController directly.
        (WebCore::HTML5ScriptRunner::executeScript):
         - Wraps calls to HTML5ScriptRunnerHost::executeScript
        (WebCore::HTML5ScriptRunner::watchForLoad):
         - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
         - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
        (WebCore::HTML5ScriptRunner::requestScript):
         - Only watch for load if the CachedScript isn't already loaded.
           This gets rid of rentrancy due to addClient calls, and as a result
           also stops us from hitting ASSERT(m_scriptNestingLevel)
           in executePendingScript.
        (WebCore::HTML5ScriptRunner::runScript):
         - Use the new fancy documentURLForScriptExecution and executeScript.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
         - Add a watchingForLoad bool so we know if we ever called watchForLoad
           with this CachedScript*.
        * html/HTML5ScriptRunnerHost.h: Added.
        (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Store an m_document pointer since we need to access
           m_document->frame()->script() for script execution.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Always pause or unpause the TreeBuilder after script execution.
           Previously nested script execution would leave the TreeBuilder
           paused even though the top-level loop wanted to resume parsing.
           Now whenever m_scriptRunner->execute returns "continue parsing"
           parsing will actually continue.  This fixed cases where we would
           ignore the rest of the document after document.write() of a script tag.
        (WebCore::HTML5Tokenizer::write):
         - Explain how document.write() reentrancy is safe in the new world.
        (WebCore::HTML5Tokenizer::watchForLoad):
         - HTML5ScriptRunnerHost implementation.  We assert that this call will
           never cause script execution since that's our current design.
        (WebCore::HTML5Tokenizer::stopWatchingForLoad):
         - HTML5ScriptRunnerHost implementation.
        (WebCore::HTML5Tokenizer::executeScript):
         - HTML5ScriptRunnerHost implementation. Save off the current source
           before executing scripts in case document.write is called during
           script execution.
        * html/HTML5Tokenizer.h:
         - Implement HTML5ScriptRunnerHost.

2010-05-28  Nathan Lawrence  <nlawrence@apple.com>

        Reviewed by Geoffrey Garen.

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

        Because not just <img> and <image> elements can preload images, we
        dont want to restrict the element associated with the loader.

        No new tests. Should share the same tests as the last patch.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):

2010-05-27  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        Cursor movement and text selection does not work well if a block is followed by an inline.
        https://bugs.webkit.org/show_bug.cgi?id=32123

        RenderInline::setSelectionState() missed selection state
        propagation for ancestors.  This fix pulled
        RenderBlock::setSelectionState() up to RenderBoxModelObject, to
        share it with RenderInline.

        Test: editing/selection/range-between-block-and-inline.html: Added.
        
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::setSelectionState):
        * rendering/RenderBoxModelObject.h:
        Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
        
2010-05-27  MORITA Hajime  <morrita@google.com>

        Not reviewed. Fixed typo

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):

2010-05-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Make more HTML DOM members private, especially constructors
        https://bugs.webkit.org/show_bug.cgi?id=39697

        Refactoring, so no new tests needed.

        Working my way through HTMLTagNames.in from top to bottom, skipping any
        that are non-trivial for some reason.

        * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
        blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
        datalist, dcell, dcol, drow, del, dir, dl, and fieldset.

        * mathml/mathtags.in: Removed createWithNew from msub, and msup.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Use create function instead of new.
        (WebCore::Document::getCSSCanvasElement): Ditto.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::createIndentBlockquoteElement): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::createBreakElement): Ditto.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::createCaption): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setInnerTextValue): Ditto.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Use create function instead of new.
        Required reordering the code slightly, but the new order works fine.

        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        * html/HTMLAudioElement.h:
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::create):
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::create):
        * html/HTMLBaseElement.h:
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::create):
        * html/HTMLBaseFontElement.h:
        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::create):
        * html/HTMLBlockquoteElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::create):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::create):
        * html/HTMLButtonElement.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::create):
        * html/HTMLCanvasElement.h:
        * html/HTMLDListElement.cpp:
        (WebCore::HTMLDListElement::create):
        * html/HTMLDListElement.h:
        * html/HTMLDataGridCellElement.cpp:
        (WebCore::HTMLDataGridCellElement::create):
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::create):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::create):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::create):
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::create):
        * html/HTMLDataListElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerText):
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::create):
        * html/HTMLFieldSetElement.h:
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::HTMLModElement):
        (WebCore::HTMLModElement::create):
        * html/HTMLModElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::create):
        * html/HTMLTableCaptionElement.h:
        Made constructors and virtual function overrides private, added create functions.
        Made constructors inline in cases where they were called in only one place.

        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
        from _span to m_span.
        (WebCore::HTMLTableColElement::create): Added.
        (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
        * html/HTMLTableColElement.h:
        Made constructor and virtual function overrides private, added create function.
        Renamed _span to m_span.

2010-05-27  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        wx port: build fix for Linux
        https://bugs.webkit.org/show_bug.cgi?id=39860

        Use uint16_t instead of uint16.

        * plugins/PluginPackageNone.cpp:
        (WebCore::PluginPackage::NPVersion):

2010-05-27  Nathan Lawrence  <nlawrence@apple.com>

        Reviewed by Geoffrey Garen.

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

        Fixes the issue where images prefetched by JavaScript do not report
        their memory usage to the GC.

        There is a new test manual-tests/image-prefetch-stress.html that loads
        a new 4MB image every half a second.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):
        * manual-tests/image-prefetch-stress.html: Added.

2010-05-27  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Adam Barth.

        Add v8 bindings for async DB API in workers
        https://bugs.webkit.org/show_bug.cgi?id=39145

        No new tests.  This should share layout tests with JSC.

        Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
        * bindings/scripts/CodeGeneratorV8.pm:

        As with CodeGeneratorV8; these are pretty much all tiny tweaks.
        We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
        * bindings/v8/custom/V8CustomPositionCallback.cpp:
        (WebCore::V8CustomPositionCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
        (WebCore::V8CustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
        (WebCore::V8CustomVoidCallback::handleEvent):
        (WebCore::invokeCallback):
        * bindings/v8/custom/V8CustomVoidCallback.h:
        (WebCore::V8CustomVoidCallback::create):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):

        Add openDatabaseCallback.
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        Remove an obsolete parameter.
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):

2010-05-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.

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

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._refreshRequestPayload):

2010-05-27  Nico Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel

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

        Add Yank support to chromium mac. Do this by moving WebKit Mac's
        implementation of Editor::yankFromKillRing() into its own class and
        then using that.

        * editing/Editor.cpp:
          Use new KillRing class.
        * editing/Editor.h:
        (WebCore::Editor::killRing):
          Use new KillRing class.
        * editing/EditorCommand.cpp:
        (WebCore::executeYankAndSelect):
          Use new KillRing class.
        * platform/KillRing.h:
          Add new KillRing class, which acts as null object.
        (WebCore::KillRing::~KillRing):
        * platform/mac/KillRingMac.h:
          Add new KillRingMac class, which writes to the mac's kill ring.
        * platform/mac/KillRingMac.mm:
          Add new KillRingMac class, which writes to the mac's kill ring.

2010-05-27  Ben Murdoch  <benm@google.com>

        Reviewed by Jian Li.

        Build break in FileStream.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39841

        When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
        in FileStream.cpp:114. Fix by using the correct variable.

        Build fix so no new tests.

        * html/FileStream.cpp:
        (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.

2010-05-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        [Chromium] Default popup window size should not depend on zoom level
        https://bugs.webkit.org/show_bug.cgi?id=39835

        V8DOMWindow::openCallback should not set width and height of new
        window unless specified in the function's arguments.

        There is already code to reset the new window's origin coordinates,
        but the same thing should be done to its dimensions as well. Otherwise,
        a new popup with unspecified size will have its size depending on the
        parent's zoom level, which is not desirable.

        This is the same as what is done in
        bindings/js/JSDOMWindowCustom.cpp:826.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openCallback):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_instance.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39744

        Fix webkit coding style issues in qt_instance.cpp

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getQtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        (JSC::Bindings::QtInstance::getPropertyNames):
        (JSC::Bindings::QtInstance::stringValue):
        (JSC::Bindings::QtField::name):
        (JSC::Bindings::QtField::valueFromInstance):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_instance.h has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39743

        Fix webkit coding style issues in qt_instance.h

        * bridge/qt/qt_instance.h:

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_class.h has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39742

        Fix webkit coding style issues in qt_class.h

        * bridge/qt/qt_class.h:

2010-05-27  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
        compressed movie.

        Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
        use a CAImageQueue so there will be less conversion required before display. This change also  
        works around the issue that causes the RLE compressed movie to crash.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
        constructor instead of CFDictionary.
        * platform/graphics/win/QTMovieVisualContext.cpp:
        (SetNumberValue):
        (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual 
        context type.
        (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual 
        context type.
        (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
        getPixelBufferCreationOptions insteaad of taking it as a parameter.
        (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for 
        visual context configuration type.
        * platform/graphics/win/QTMovieVisualContext.h:

2010-05-27  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        [Qt] REGRESSION(r60258): It broke 10 tests.
        https://bugs.webkit.org/show_bug.cgi?id=39819

        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        Append the MimeClassInfo object after it's been initialized.

2010-05-27  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for Windows after recent changes.

        * platform/graphics/wx/FontWx.cpp:
        * wscript:

2010-05-27  Chris Fleizach  <cfleizach@apple.com>

        No review, build fixage.

        Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324

        Rolling out change from r60307 until a better fix is ready.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: check that ScriptDebugListener was not removed
        while messages were dispatched in the nested loop.
        https://bugs.webkit.org/show_bug.cgi?id=39838

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: undefined script URL value should be converted to an emtpy
        WebCore::String instead of "undefined" string. Otherwise it's shown
        in the Scripts panel with "undefined:<line no>" URL.
        https://bugs.webkit.org/show_bug.cgi?id=39845

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-05-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324

        Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-27  Xan Lopez  <xlopez@igalia.com>

        More GTK+ distcheck fixes.

        * GNUmakefile.am:

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
        https://bugs.webkit.org/show_bug.cgi?id=39838

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_pixmapruntime.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39745

        Fix webkit coding style issues in qt_pixmapruntime.cpp

        * bridge/qt/qt_pixmapruntime.cpp:

2010-05-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Clean up IndexedDB layout tests
        https://bugs.webkit.org/show_bug.cgi?id=39748

        Remove an assert that always fires.

        Tests: storage/indexeddb/idb-database-request.html
               storage/indexeddb/indexed-database-request.html

        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::objectStores):

2010-05-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Get CSS rule offsets lazily.

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

        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getStartEndOffsets):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForRule):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_class.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39741

        Fix webkit coding style issues in qt_class.cpp

        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::fieldNamed):

2010-05-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=39714

        This came from a discussion on #webkit with Hyatt about this code
        being old and no longer used to either of our knowledge.

        No functional changes, thus no tests.

        I also removed a bogus FIXME I had added in an earlier patch
        before I understood what the HTMLTokenizer was trying to do.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::continueProcessing):
        (WebCore::HTMLTokenizer::willWriteHTML):
        (WebCore::HTMLTokenizer::didWriteHTML):
        (WebCore::HTMLTokenizer::timerFired):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):

2010-05-27  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        Add callbacks to ScriptController to allow notifications on named items additions and removals
        https://bugs.webkit.org/show_bug.cgi?id=39679

        * bindings/js/ScriptController.h: Callbacks with empty implementation added.
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/ScriptController.h: Callbacks added.
        * html/HTMLDocument.cpp: Hooking in callbacks.
        (WebCore::HTMLDocument::addItemToMap):
        (WebCore::HTMLDocument::removeItemFromMap):
        * html/HTMLDocument.h:

2010-05-27  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Implement lazy clearing of renderbuffers
        https://bugs.webkit.org/show_bug.cgi?id=36248

        Test: fast/canvas/webgl/renderbuffer-initialization.html

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
        (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
        (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
        (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
        (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
        (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
        * html/canvas/WebGLFramebuffer.h:
        (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
        (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
        (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
        * html/canvas/WebGLRenderbuffer.h:
        (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
        (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
        (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
        (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.

2010-05-27  Kristian Monsen  <kristianm@google.com>

        Reviewed by Darin Adler.

        Compile fix for Android, added include for Refcounted.h, this did not get
        included through Threading.h in Android.
        https://bugs.webkit.org/show_bug.cgi?id=39678

        Build fix only, no new tests.

        * storage/SQLTransactionSyncCallback.h:

2010-05-27  Joone Hur  <joone@kldp.org>

        Reviewed by Xan Lopez.

        Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+

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

        * platform/gtk/ScrollbarGtk.cpp:

2010-05-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Increase limit on number of (i)frames from 200 to 1000.
        https://bugs.webkit.org/show_bug.cgi?id=39427

        The limit on number of iframes was introduced in r3707 back in 2003.
        An example of a page that is broken because of this is:
        http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
        Neither Firefox nor IE has such a limit.

        It seems that WebKit can handle a significantly higher number of frames, and
        the original reasons for imposing the limit are believed to be gone.

        Tests: compositing/iframes/lots-of-iframes.html
               compositing/iframes/lots-of-objects.html

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::uniqueChildName):
        * page/Page.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::isURLAllowed):

2010-05-27  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Xan Lopez.

        [GTK] writeToFile fails when length is large
        https://bugs.webkit.org/show_bug.cgi?id=39666

        writeToFile forgot to increment data pointer.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::writeToFile):

2010-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
        
        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
        |to| argument to be a RenderBlock.
        
        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
        by hand.

        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
        
        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
        case where it does an append.
        
        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
        messed up when using append/insertChildNode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):

2010-05-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
        https://bugs.webkit.org/show_bug.cgi?id=39818

        HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
        for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
        so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
        test suite regressions using the HTML5Lexer vs the old lexer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach the HTML5 parser how to handle external scripts
        https://bugs.webkit.org/show_bug.cgi?id=39716

        Make it possible for the HTML5Tokenizer to run external scripts.
        I created a new class HTML5ScriptRunner to hold all of the
        script-logic which is scattered throughout the old HTMLTokenizer.

        The design is for the HTML5Tokenizer (the "controller") to hold
        the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
        to the controller, which passes tokens to the TreeBuilder.  When the
        treebuilder encounters a </script> tag it pauses itself and returns
        back to the controller which calls the ScriptRunner.  The TreeBuilder
        is un-paused when the HTML5Tokenizer calls takeScriptToProcess().

        The ScriptRunner attempts to process the passed script, and additionally
        any blocked scripts it can.  It returns to the controller indicating if
        parsing should continue.  If not, callbacks when external scripts load
        or when stylesheets are finished parsing will cause the controller to
        kick off script execution and parsing again at a later point.

        * WebCore.xcodeproj/project.pbxproj:
         - Add HTML5ScriptRunner.*
        * bindings/js/CachedScriptSourceProvider.h:
         - Add missing include discovered while building.
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::finishParsingChildren):
         - Remove previous hack for inline <script> execution.
        * dom/ScriptElement.h:
         - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
        * html/HTML5ScriptRunner.cpp: Added.
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
           CachedResourceClient.  The HTML5ScriptRunner will register the
           HTML5Tokenizer for notifyFinished callbacks when the scripts load.
           The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
           execute any loaded scripts at that point.
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::frame): Helper method.
        (WebCore::createScriptLoadEvent): Helper method.
        (WebCore::createScriptErrorEvent): Helper method.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Helper method for dealing with both inline and external script types.
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
         - Helper for dealing with both inline and external scripts.
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - Execute one script.  Both external and inline scripts
           can become m_parsingBlockingScript if they can't be executed
           immediately after parsing.
        (WebCore::HTML5ScriptRunner::execute):
         - Takes a script element from the tree builder and tries
           to process it.
        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
         - Runs the current parsing blocking script if ready.
         - Running a script could add another parsing blocking script
           so we loop until there is no ready-to-run parsing blocking script.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Called by HTML5Tokenizer when a script loads.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
         - Called by HTML5Tokenizer when stylesheets complete.
        (WebCore::HTML5ScriptRunner::requestScript):
         - Transcription of the HTML5 spec.
        (WebCore::HTML5ScriptRunner::runScript):
         - Transcription of the HTML5 spec.
        * html/HTML5ScriptRunner.h: Added.
         - New class to handle script loading and execution for the HTML5 parser.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - When the parser is paused, try to run scripts.
        (WebCore::HTML5Tokenizer::write):
         - Only pump the lexer when the parser is not paused.
        (WebCore::HTML5Tokenizer::end):
         - finish() tells us that we've reached EOF, not end()
         - Only pump the lexer when the parser is not paused.
        (WebCore::HTML5Tokenizer::finish):
         - Mark EOF, and end() if we're not waiting on scripts.
        (WebCore::HTML5Tokenizer::isWaitingForScripts):
         - isPaused() seems to mean isPausedForExternalScripts().
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
        (WebCore::HTML5Tokenizer::notifyFinished):
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
         - Add an m_isPaused flag.
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
         - Acknowledge that the caller has received the script element.
           It is the caller's responsibility to execute the script if necessary
           and re-pause the tree builder if necessary.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Save off the current script tag so that it can be passed to
           the HTML5ScriptRunner when we're paused.
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::setPaused):
        (WebCore::HTML5TreeBuilder::isPaused):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Implement SegmentedString::lookAheadSlowCase
        https://bugs.webkit.org/show_bug.cgi?id=39802

        The slow case is need by the resumer test suite.  Sadly, the resumer
        test suite is really slow and produces infinite errors (many of which
        are false positives).  I'll land more of the resumer test suite in a
        future patch.

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advance):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::lookAhead):
        (WebCore::SegmentedString::lookAheadIgnoringCase):
        (WebCore::SegmentedString::equalsLiterally):
        (WebCore::SegmentedString::equalsIgnoringCase):
        (WebCore::SegmentedString::lookAheadInline):
        (WebCore::SegmentedString::lookAheadSlowCase):

2010-05-26  Jer Noble  <jer.noble@apple.com>

        Patch edited by Adele Peterson and Mark Rowe.
        Reviewed by Eric Carlson

        Video elements show no video on Windows machines that do not support accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=39446
        rdar://problem/7999794
        
        Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
        tearDownVideoRendering (as opposed to in the destructor.)

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
        return MediaRenderingNone.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
        make sure the visual context has been set up when saying the setup has been done.
        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
        Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
        (QTMovieVisualContext::create): Added.
        * platform/graphics/win/QTMovieVisualContext.h:

2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>

        Build fixes for make distcheck.

        * GNUmakefile.am:

2010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Ojan Vafai.

        Fixed frame page up/down scrolling calculation. Made sure that the
        cursor moves with page up/down event. Please note that now for mac
        editing behavior we will scroll the content to center the cursor on
        page up/down while other platforms will align the cursor with the top of
        displayed frame.
        https://bugs.webkit.org/show_bug.cgi?id=38213

        Tests: editing/input/option-page-up-down.html (fixed)
               editing/input/scroll-viewport-page-up-down.html

        * WebCore.base.exp:
        * editing/EditorCommand.cpp:
        (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
        (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
        (WebCore::executeMovePageDownAndModifySelection): Ditto.
        (WebCore::executeMovePageUp): Ditto.
        (WebCore::executeMovePageUpAndModifySelection): Ditto.
        * editing/SelectionController.cpp:
        * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
        (WebCore::SelectionController::setSelection): Ditto.
        (WebCore::SelectionController::modify): Ditto.
        * editing/SelectionController.h: Ditto.
        (WebCore::SelectionController::): Ditto.
        (WebCore::SelectionController::setSelection): Ditto.

2010-05-26  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Pavel Feldman.

        ScriptCallStack::callLocation() sometimes passed an empty handle to
        toWebCoreString() causing a null pointer deref.
        https://bugs.webkit.org/show_bug.cgi?id=39681

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::callLocation):

2010-05-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Mark Rowe.

        Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
        https://bugs.webkit.org/show_bug.cgi?id=39804
        
        Initialize the title attribute of the Pause on Exceptions button when we initialize other information
        about it. 

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r60262.
        http://trac.webkit.org/changeset/60262
        https://bugs.webkit.org/show_bug.cgi?id=39783

        Broke every build and is blocking me from working.  :(

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):

2010-05-26  Anders Carlsson  <andersca@apple.com>

        Unreviewed, rolling out r60256.
        http://trac.webkit.org/changeset/60256
        https://bugs.webkit.org/show_bug.cgi?id=39382

        Causes fast/dom/prototype-inheritance-2.html to start
        crashing.

        * history/PageCache.cpp:
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::add):
        * history/PageCache.h:
        (WebCore::PageCache::get):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitIfReady):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::canCachePage):
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::cachePageForHistoryItem):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
        
        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
        |to| argument to be a RenderBlock.
        
        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
        by hand.

        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
        
        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
        case where it does an append.
        
        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
        messed up when using append/insertChildNode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):

2010-05-26  Anders Carlsson  <andersca@apple.com>

        Fix GTK+ test failures.

        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):

2010-05-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Clean up MimeClassInfo and PluginInfo
        https://bugs.webkit.org/show_bug.cgi?id=39700

        This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
        
        It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
        and PluginClassInfo objects.

        * page/Page.cpp:
        (WebCore::Page::refreshPlugins):
        * plugins/MimeType.cpp:
        (WebCore::MimeType::type):
        (WebCore::MimeType::suffixes):
        (WebCore::MimeType::description):
        (WebCore::MimeType::enabledPlugin):
        * plugins/MimeType.h:
        (WebCore::MimeType::mimeClassInfo):
        * plugins/MimeTypeArray.cpp:
        (WebCore::MimeTypeArray::item):
        (WebCore::MimeTypeArray::canGetItemsForName):
        (WebCore::MimeTypeArray::namedItem):
        * plugins/Plugin.cpp:
        (WebCore::Plugin::name):
        (WebCore::Plugin::filename):
        (WebCore::Plugin::description):
        (WebCore::Plugin::length):
        (WebCore::Plugin::item):
        (WebCore::Plugin::canGetItemsForName):
        (WebCore::Plugin::namedItem):
        * plugins/Plugin.h:
        (WebCore::Plugin::pluginInfo):
        * plugins/PluginArray.cpp:
        (WebCore::PluginArray::length):
        (WebCore::PluginArray::item):
        (WebCore::PluginArray::canGetItemsForName):
        (WebCore::PluginArray::namedItem):
        (WebCore::PluginArray::pluginData):
        * plugins/PluginArray.h:
        * plugins/PluginData.cpp:
        (WebCore::PluginData::PluginData):
        (WebCore::PluginData::~PluginData):
        (WebCore::PluginData::supportsMimeType):
        (WebCore::PluginData::pluginNameForMimeType):
        * plugins/PluginData.h:
        (WebCore::operator==):
        (WebCore::PluginData::create):
        (WebCore::PluginData::disconnectPage):
        (WebCore::PluginData::page):
        (WebCore::PluginData::plugins):
        (WebCore::PluginData::mimes):
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginCache::reset):
        (WebCore::PluginCache::plugins):
        (WebCore::PluginData::initPlugins):
        (WebCore::getPluginMimeTypeFromExtension):
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-05-26  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Factor PageCache functionality out of FrameLoader and into
        PageCache.

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

        Refactor only, so no new tests.

        * history/PageCache.cpp:
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        (WebCore::PageCache::canCache):
        (WebCore::PageCache::add):
        (WebCore::PageCache::get):
        * history/PageCache.h:
        * loader/DocumentLoader.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::prepareForCachedPageRestore):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::quickRedirectComing):
        * svg/graphics/SVGImage.cpp:

2010-05-26  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=39786
        Properly reset |bytes_to_consume| when reaching the "gif_done" state in
        the open-source GIF decoder.
        
        No tests, since there's no test harness support for checking the
        internal ImageDecoder state values.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).

2010-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60251.
        http://trac.webkit.org/changeset/60251
        https://bugs.webkit.org/show_bug.cgi?id=39788

        broke tests (Requested by dhyatt on #webkit).

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix webkit01.dat resumer tests in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39796

        To match the old tokenizer, we should only flush character tokens when
        we reach EOF.  Added a notion of a "closed" segmented string that
        cannot be appended to, which models EOF.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
        * html/HTML5Lexer.h:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):
        (WebCore::HTML5Tokenizer::write):
        (WebCore::HTML5Tokenizer::end):
        * html/HTML5Tokenizer.h:
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::clear):
        (WebCore::SegmentedString::append):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::close):
        (WebCore::SegmentedString::isClosed):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5 lexer not ASSERT when resuming partial parses
        https://bugs.webkit.org/show_bug.cgi?id=39755

        I'm working through a variation of the webkit-runner.html test suite
        that stops the parser at every character to make sure we can resume
        parsing correctly.  This patch fixes some errors caught by ASSERTs,
        which prevent the basic tests from running to completion.  There's a
        bunch more work to do, however.

        Test: html5lib/webkit-resumer.html

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::isEndTagBufferingState):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::addToPossibleEndTag):
        * html/HTML5Lexer.h:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::write):
        * html/HTML5Tokenizer.h:

2010-05-26  Alexey Proskuryakov  <ap@apple.com>

        Mac 32 bit build fix.

        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
        Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.

2010-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Ojan.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.

        Cut out the need to pass the to block's child list by tightening up the type of the to object
        from RenderObject to RenderBlock.

        Implement the "append" versions of the move functions using their "insert" counterparts, since
        insertChildNode just calls appendChildNode when beforeChild is 0 anyway.

        Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
        of the move functions have the optional parameter for consistency.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):

2010-05-26  Dan Bernstein  <mitz@apple.com>

        Typed and reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=39682
        <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random

        Test: fast/css/custom-font-xheight.html

        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
        Calling an Objective C method that returns a structure with a null object can leave garbage in
        returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
        platformBoundsForGlyph() function instead, which works with CGFont.
        (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
        have an NSFont), since this is now used in more cases.

2010-05-26  Beth Dakin  <bdakin@apple.com>

        Build fix for Mac clean builds.

        * storage/IDBDatabaseRequest.idl:

2010-05-26  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Must not cast between CFNumberRef and CFBooleanRef.
        <rdar://problem/8030739> 
        https://bugs.webkit.org/show_bug.cgi?id=39756

        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
        with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        GTK+ build fix, strike two.

        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_get_type):
        (webkit_dom_event_target_default_init):

2010-05-26  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed build fix for Windows + clean up the Visual Studio project.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:

2010-05-26  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        Indexed Database component is missing IDBObjectStoreRequest interface
        https://bugs.webkit.org/show_bug.cgi?id=39490

        Adding IDL and stub implementation for IDBObjectStoreRequest.

        No new tests, indexed database isn't yet testable.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
        (WebCore::JSIDBObjectStoreRequest::remove):
        (WebCore::JSIDBObjectStoreRequest::addOrModify):
        (WebCore::JSIDBObjectStoreRequest::modify):
        (WebCore::JSIDBObjectStoreRequest::add):
        (WebCore::JSIDBObjectStoreRequest::get):
        * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
        (WebCore::V8IDBObjectStoreRequest::removeCallback):
        (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
        (WebCore::V8IDBObjectStoreRequest::modifyCallback):
        (WebCore::V8IDBObjectStoreRequest::addCallback):
        (WebCore::V8IDBObjectStoreRequest::getCallback):
        * storage/IDBObjectStore.cpp: Added.
        * storage/IDBObjectStore.h: Added.
        (WebCore::IDBObjectStore::~IDBObjectStore):
        * storage/IDBObjectStoreRequest.cpp: Added.
        (WebCore::IDBObjectStoreRequest::name):
        (WebCore::IDBObjectStoreRequest::keyPath):
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.h: Added.
        (WebCore::IDBObjectStoreRequest::create):
        (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.idl: Added.

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Unreviewed GTK+ build fix.

        Use G_DEFINE_INTERFACE only if it's available.

        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_get_type):
        (webkit_dom_event_target_default_init):

2010-05-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Implement WebDOMStorageList and make WebIDBDatabase use it
        https://bugs.webkit.org/show_bug.cgi?id=39731

        Remove unused function.

        * dom/DOMStringList.h:

2010-05-26  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Pavel Feldman

        Bug 31296 - Web Inspector: Should support console.groupCollapsed
        https://bugs.webkit.org/show_bug.cgi?id=31296

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::startGroup):
        Set the message type based on whether or not it should be initially collapsed.
        * inspector/InspectorController.h:

        * inspector/front-end/ConsoleView.js:
        Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype.toString):
        (WebInspector.ConsoleGroup.prototype.addMessage):

        * page/Console.cpp:
        (WebCore::Console::groupCollapsed):
        Create a group and indicate that it should be collapsed.
        * page/Console.h:
        Add the StartGroupCollapsed message type.

        (WebCore::):
        * page/Console.idl:
        Create the JS bindings for groupCollapsed.

2010-05-26  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Kent Tamura.

        Support the labels attribute in labelable form controls
        https://bugs.webkit.org/show_bug.cgi?id=38713

        Added a new cache type in NodeRareData to store the new cache type.
        This cache is created on demand.

        Added the "labels" attribute to all form controls that support this attribute.

        Tests: fast/forms/labels-add-htmlFor-label.html
               fast/forms/labels-add-parent-label.html
               fast/forms/labels-change-htmlFor-attribute.html
               fast/forms/labels-item-index.html
               fast/forms/labels-remove-htmlFor-attribute.html
               fast/forms/labels-remove-htmlFor-label.html
               fast/forms/labels-remove-parent-label.html
               fast/forms/labels-set-htmlFor-attribute.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::Node::notifyLocalNodeListsLabelChanged):
        (WebCore::Node::removeCachedLabelsNodeList):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::NodeListsNodeData):
        * html/HTMLButtonElement.idl:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isLabelable):
        (WebCore::HTMLFormControlElement::labels):
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::parseMappedAttribute):
        * html/HTMLLabelElement.h:
        * html/HTMLMeterElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/LabelsNodeList.cpp: Added.
        (WebCore::LabelsNodeList::LabelsNodeList):
        (WebCore::LabelsNodeList::~LabelsNodeList):
        (WebCore::LabelsNodeList::nodeMatches):
        * html/LabelsNodeList.h: Added.
        (WebCore::LabelsNodeList::create):

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jeremy Orlow.

        Style fix in JSEventCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39727

        Conditional includes should be all together after the
        unconditional includes.

        * bindings/js/JSEventCustom.cpp:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IDBDatabase's attributes
        https://bugs.webkit.org/show_bug.cgi?id=39602

        Add the attributes (like name, description, etc) for
        IDBDatabaseRequest.  Plumb that back to the IDBDatabase
        object which stores the data.

        CMake and Android build changes in another CL (that
        fixes other stuff too).

        Updated the layout test, but there's some further testing
        that needs to be added once the Chromium side of this lands.

        * GNUmakefile.am
        * WebCore.gypi:
        * WebCore.pro
        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj
        * dom/DOMStringList.h:
        (WebCore::DOMStringList::strings):
        * storage/IDBDatabase.cpp: Removed.
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp: Added.
        (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
        (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
        (WebCore::IDBDatabaseImpl::objectStores):
        * storage/IDBDatabaseImpl.h: Added.
        (WebCore::IDBDatabaseImpl::create):
        (WebCore::IDBDatabaseImpl::name):
        (WebCore::IDBDatabaseImpl::description):
        (WebCore::IDBDatabaseImpl::version):
        * storage/IDBDatabaseRequest.h:
        (WebCore::IDBDatabaseRequest::name):
        (WebCore::IDBDatabaseRequest::description):
        (WebCore::IDBDatabaseRequest::version):
        (WebCore::IDBDatabaseRequest::objectStores):
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBSuccessEvent.cpp:
        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::open):
        * storage/IndexedDatabaseImpl.h:

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by NOBODY Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Add actual GObject event objects to the DOM event signals.

        * GNUmakefile.am:
        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::handleEvent):
        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::wrapEventTarget):
        (WebKit::kit):
        * bindings/gobject/WebKitDOMBinding.h:
        * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
        (webkit_dom_event_target_default_init):
        (webkit_dom_event_target_dispatch_event):
        * bindings/gobject/WebKitDOMEventTarget.h: Added.
        * bindings/scripts/CodeGeneratorGObject.pm:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        [Android] Add IndexedDB to the build
        https://bugs.webkit.org/show_bug.cgi?id=39593

        Add the current list of build files to Android's make files.  From now on,
        I'll try to be sure to update these along with the rest.
        Also, fix a nit in the gypi file.

        No tests..just changing build files.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * WebCore.gypi:

2010-05-26  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Expose CSS rule body start/end offsets in the parent stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=38906

        CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
        of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
        This Vector is only used when the Web Inspector needs the body ranges, thus there is no
        memory overhead until the user starts editing styles via the Web Inspector.
        Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.

        Test: inspector/styles-source-offsets.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::updateLastSelectorLineAndPosition):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markRuleBodyEnd):
        * css/CSSParser.h:
        (WebCore::CSSParser::resetRuleBodyMarks):
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::InspectorCSSStore):
        (WebCore::InspectorCSSStore::reset):
        (WebCore::InspectorCSSStore::removeDocument):
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        (WebCore::InspectorCSSStore::getStartEndOffsets):
        (WebCore::InspectorCSSStore::getIndexInStyleRules):
        (WebCore::InspectorCSSStore::disabledStyleForId):
        (WebCore::InspectorCSSStore::styleForId):
        (WebCore::InspectorCSSStore::ruleForId):
        (WebCore::InspectorCSSStore::bindStyle):
        (WebCore::InspectorCSSStore::bindStyleSheet):
        (WebCore::InspectorCSSStore::bindRule):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::resourceForURL):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorFrontend):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::setStyleText):
        (WebCore::InspectorDOMAgent::setStyleProperty):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Use GObject-like names for the DOM event signals. Basically go
        from 'mousewheel' to 'mouse-wheel-event'.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        First step towards DOM events support. We create one signal per
        event supported in the DOM classes, and create a custom
        GObjectEventListener that will emit a GObject signal when an event
        is dispatched to the object. There is no event object at the
        moment (we just pass NULL), and no support for hooking into the
        capture phase.

        * GNUmakefile.am:
        * bindings/gobject/GObjectEventListener.cpp: Added.
        (WebCore::GObjectEventListener::handleEvent):
        (WebCore::GObjectEventListener::operator==):
        * bindings/gobject/GObjectEventListener.h: Added.
        (WebCore::GObjectEventListener::create):
        (WebCore::GObjectEventListener::cast):
        (WebCore::GObjectEventListener::GObjectEventListener):
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (WebKit::core):
        (webkit_dom_test_callback_finalize):
        (webkit_dom_test_callback_class_init):
        (WebKit::wrapTestCallback):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (WebKit::core):
        (webkit_dom_test_interface_finalize):
        (webkit_dom_test_interface_class_init):
        (WebKit::wrapTestInterface):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (WebKit::core):
        (webkit_dom_test_obj_finalize):
        (webkit_dom_test_obj_class_init):
        (WebKit::wrapTestObj):
        * dom/EventListener.h:
        (WebCore::EventListener::):

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=33590

        We need to protect the body of some methods with #ifdefs, since
        the availability of the code they call into is decided at compile
        time.

        * bindings/scripts/CodeGeneratorGObject.pm:

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

        Reviewed by Shinichiro Hamaji.

        Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39423

        The minimum and maximum values for date, datetime, datetime-local,
        month, time, and week types depend on the implementation of
        DateComponents.  So move them to DateComponents.

        * html/DateComponents.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::minimum):
        (WebCore::HTMLInputElement::maximum):

2010-05-26  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Simon Hausmann.

        Buildfix for build without ENABLE(RUBY) after r60201.

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.

2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
        (WebCore::JSTestInterface::createPrototype):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObjPrototype::JSTestObjPrototype):

2010-05-25  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Apple trailers not playing
        https://bugs.webkit.org/show_bug.cgi?id=37390

        Set the AppleTrailer User-Agent workaround after
        FrameLoader::addExtraFieldsToSubresourceRequest has been called
        because that method sets the global User-Agent.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStart):

2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::dropVTable):

2010-05-25  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:

2010-05-25  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Show HTTP status message sent from server in Resources tab.

        This patch obtains an HTTP status message of each resource and pass it to
        the front end of Web Inspector. The status message is shown in "Headers" tab in
        the detail view of that resource, along with the HTTP status code.

        Web Inspector does not respect HTTP status message
        https://bugs.webkit.org/show_bug.cgi?id=39595

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorResource.h:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.CompareByTransferSize):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * inspector/front-end/utilities.js:
        (String.prototype.escapeHTML): Escape '"' so that we can escape messages
        that may occur inside HTML attributes.

2010-05-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.

        This patch adds support for -webkit-column-span elements that can span across all of the columns
        in a multi-column block.  In this first stage, column span support is limited to only immediate
        children of the multi-column block, so no elements actually have to split across a span yet.

        Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
        span blocks.  When a span gets inserted into a multicol block, the block is split, with the
        column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
        wrapped in anonymous column span blocks.  The multicol block then stops being multicol and lets
        the anonymous multicol blocks take over column layout.
        
        Many new tests added in fast/multicol/span.

        * dom/Node.cpp:
        (WebCore::Node::diff):
        Changes to column span result in a detach/attach, since spanning elements don't typically have
        much content.
    
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.

        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
        This method handles the insertion of new children into the block after it has had to wrap its
        children in anonymous column/column-span blocks.
        
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        A helper method for splitting all anonymous blocks between beforeChild and this block so that
        a new element with an incompatible type can be inserted between them.
        
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        This method does the initial split of a block into anonymous components.  This happens the first
        time a column-span element gets inserted into the block.

        (WebCore::columnsBlockForSpanningElement):
        This function checks whether or not the column-span element is actually being inserted into a viable
        columns block.

        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        This is the original RenderBlock::addChild.  It handles everything else just like it used to.
        
        (WebCore::RenderBlock::addChild):
        Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
        in anonymous column/column-span blocks already.

        (WebCore::RenderBlock::moveAllChildrenTo):
        moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
        are shifting across layers.  (This should arguably be the default behavior, but that can happen in
        a future patch.)

        (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
        Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
        block from being coalesced with a parent if they are non-empty.

        (WebCore::canMergeContiguousAnonymousBlocks):
        Whether or not two contiguous anonymous blocks can merge after the removal of a child.

        (WebCore::RenderBlock::removeChild):
        removeChild has been patched to handle more cases of merging/deletion than it did before.  It
        can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
        that don't share the same childrenInline() setting (by putting one inside the other).  It also
        makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
        
        (WebCore::RenderBlock::fillSelectionGaps):
        Don't let the selection extend outside of a column-span.
        
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
        Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
        column/column-span blocks.

        (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
        (WebCore::RenderBlock::createAnonymousColumnsBlock):
        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
        New helper functions for anonymous block creation.
        
        (WebCore::RenderBlock::renderName):
        Patched to dump anonymous column and column-span blocks so that they can be distinguished from
        regular anonymous blocks.
        * rendering/RenderBlock.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isAnonymousColumnsBlock):
        (WebCore::RenderObject::isAnonymousColumnSpanBlock):
        New helper functions for asking the type of an anonymous block.
        
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
        A helper function to allow anonymous column blocks to easily inherit all column properties for
        rendering.

2010-05-25  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Re-commit r58765 - it had been rolled out to see if it was causing
        a perf regression (in r59787), but that does not seem to have been
        the case.

        Tests: fast/notifications/notifications-replace.html
               fast/notifications/notifications-rtl.html

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

        * notifications/Notification.h:
        (WebCore::Notification::dir):
        (WebCore::Notification::setDir):
        (WebCore::Notification::replaceId):
        (WebCore::Notification::setReplaceId):
        * notifications/Notification.idl:

2010-05-22  Jer Noble  <jer.noble@apple.com>

        Reviewed by Adam Roben.

        Full screen doesn't work for video elements
        https://bugs.webkit.org/show_bug.cgi?id=39557
        rdar://problem/8011813
        
        Add fullscreen support for MediaPlayerPrivateVisualContext.  A new class, MediaPlayerPrivateFullscreenWindow,
        provides the fullscreen hwnd and layer renderer.  Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
        so future additional MediaPlayerPrivate implementations can use the fullscreen window.
        
        Minor additions have been made to the FloatSize and IntSize classes.

        MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new 
        videoLayer; this is an existing bug that was never really exposed before now.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
        (WebCore::FloatSize::aspectRatio):
        (WebCore::FloatSize::scale):
        * platform/graphics/IntSize.h: Added aspectRatio().
        (WebCore::IntSize::aspectRatio):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
        * platform/graphics/win/WKCACFLayer.cpp: 
        (WebCore::WKCACFLayer::WKCACFLayer):
        (WebCore::WKCACFLayer::removeFromSuperlayer):
        (WebCore::WKCACFLayer::setFrame):
        (WebCore::WKCACFLayer::internalSetNeedsDisplay):
        (WebCore::WKCACFLayer::setLayoutClient):
        (WebCore::WKCACFLayer::layoutSublayersProc):
        (WebCore::WKCACFLayer::layoutClient):
        (WebCore::WKCACFLayer::setNeedsLayout):
        * platform/graphics/win/WKCACFLayer.h: Add layout client class.
        (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
        (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
        * platform/graphics/win/WebTiledLayer.cpp:
        (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
        * platform/graphics/win/WebTiledLayer.h:
        * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
        (WebCore::WebTiledLayer::setFrame):
        * platform/graphics/win/WebTiledLayer.h:


2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Brady Eidson.

        Allow FTS3 functions.
        https://bugs.webkit.org/show_bug.cgi?id=38003

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
        (WebCore::DatabaseAuthorizer::createVTable):

2010-05-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Get rid of PluginDatabaseClient
        https://bugs.webkit.org/show_bug.cgi?id=39685

        PluginDatabaseClient isn't used anywhere so just remove it.

        * GNUmakefile.am:
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::PluginDatabase):
        (WebCore::PluginDatabase::refresh):
        * plugins/PluginDatabase.h:
        * plugins/PluginDatabaseClient.h: Removed.

2010-05-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=18595
        REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze

        Test: fast/events/frame-detached-in-mousedown.html

        * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
        node on mouse up. It's only done for nodes that hold subframes - elements that capture events
        are responsible for resetting the state.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
        RefPtr and is initialized automatically.
        (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
        capturing node on its own.
        (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
        from the below in r21156. Copied correct code instead.
        (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
        holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
        check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
        (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
        reset capturing node on its own.

2010-05-25  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix for missing symbol.

        * wscript:

2010-05-25  Darin Adler  <darin@apple.com>

        * dom/Element.cpp:
        (WebCore::Element::getIDAttribute): Added comments about problems with this function.

2010-05-25  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        [EFL] Build fix.
        http://webkit.org/b/39598

        * CMakeLists.txt:

2010-05-25  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
        https://bugs.webkit.org/show_bug.cgi?id=36037
        <rdar://problem/8022887>

        The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
        additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
        that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
        cases would iterate through every position as offset in a block before moving to the last child in the block.
        This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
        every position in the block before considering the last true position in the block.
        The performance was linear with the number of child nodes in the block, instead of constant.
        
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::decrement):

2010-05-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39621
        <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test

        The largest cause of memory growth on this test were autoreleased DOMNode objects created
        to make webView:formStateDidChangeForNode: delegate calls.

        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
        Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
        safe to call functions that are likely to create temporary wrappers (wrapper destructor
        would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).

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

        Reviewed by Dimitri Glazkov.

        [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
        https://bugs.webkit.org/show_bug.cgi?id=39652

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.

2010-05-25  Darin Adler  <darin@apple.com>

        Sort ".exp" files with the sort tool.
        This makes later merging easier.

        These Mac-specific files should probably move into a subdirectory
        at some point.

        * WebCore.Inspector.exp: Sorted.
        * WebCore.PluginHostProcess.exp: Removed blank line.
        * WebCore.VideoProxy.exp: Sorted.
        * WebCore.base.exp: Ditto.

2010-05-25  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Removing the persistent GraphicsContext from LayerChromium to save on
        memory and simplify code. Layers now create a temporary context, draw into
        it, update the GL texture and discard the context.
        https://bugs.webkit.org/show_bug.cgi?id=39640

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        (WebCore::LayerChromium::setLayerRenderer):
        (WebCore::LayerChromium::updateTextureContents):
        (WebCore::LayerChromium::setContents):
        (WebCore::LayerChromium::setBounds):
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::assignTextureForLayer):
        (WebCore::LayerRendererChromium::compositeLayersRecursive):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::rootLayerGraphicsContext):

2010-05-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Make text filling work together with text stroke.

        When the text has stroke a new QPen was set, overriding the pen
        set for text filling. This patch fixes that by storing the two
        pens and using where appropriate.

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

2010-05-17  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Darin Adler.

        Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
        https://bugs.webkit.org/show_bug.cgi?id=39217

        It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
        could receive a parameter to specify where to start scrolling from. Currently they
        start scrolling from either the current focused node or the node where mouse last
        pressed on. Patch proposes an aditional starting point as an optional parameter.
        Since it is optional, all call sites can remain as are, and if a Null node is passed
        in, both methods work as previously.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::scrollOverflow):
        (WebCore::EventHandler::scrollRecursively):
        * page/EventHandler.h:

2010-05-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: localize heap graph strings.

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

        * English.lproj/localizedStrings.js:

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Switch HTML parsing benchmark to use document.write instead of innerHTML
        https://bugs.webkit.org/show_bug.cgi?id=39661

        We'd like to exercise the main parsing pipeline instead of the fragment
        parsing pipeline.

        * benchmarks/parser/html-parser.html:

2010-05-25  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Laszlo Gombos.

        [Qt] Running with accelerated compositing enabled sometimes result in a crash
        https://bugs.webkit.org/show_bug.cgi?id=39609

        Check if we have a scene before applying the workaround for
        the QGraphicsScene bug where opacity change doesn't always have
        immediate effect.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::OpacityAnimationQt::applyFrame):

2010-05-25  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Chromium Mac Release build.

        * bindings/v8/ScriptDebugServer.cpp:

2010-05-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
        depend on v8 debugging protocol, instead it uses ExecState to collect debugging
        info and pass it to the listeners.

        New implementation of ScriptDebugServer uses methods provided by client to dispatch
        its messages while JS is paused(previously the messages was dispatched in a callback
        passed to v8 along with DebugEventHandler).

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

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidPause):
        (WebCore::ScriptDebugServer::dispatchDidContinue):
        (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
        invocation of ScriptDebugListener methods that have non-empty argument list.
        (WebCore::ScriptDebugServer::pauseIfNeeded):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::retrieveFrame):
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
        corresponding debugger window closes.
        (WebCore::ScriptDebugServer::clearBreakpoints):
        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::continueProgram):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::stepOverStatement):
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::v8DebugEventCallback):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        (WebCore::ScriptDebugServer::didResume):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
        (WebCore::ScriptDebugServer::setClientMessageLoop):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didPause):
        * inspector/InspectorController.h:
        * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
        where execution is paused.

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Clear attributes for each tag in the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39660

        Yes, I did screw this up.

        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):

2010-05-25  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Darin Adler.

        Remove warning for GCC 4.4.3

        GCC suggest parentheses around && within ||

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

2010-05-25  Xan Lopez  <xlopez@igalia.com>

        Fix the GTK+ build, PluginInfoStore was removed.

        * GNUmakefile.am:

2010-05-25  Ada Chan  <adachan@apple.com>

        Reviewed by Steve Falkenburg.

        Add a base class for DOMTimer called SuspendableTimer which captures just the
        basic functionality of TimerBase and ActiveDOMObject combined.  It does not
        contain functionality specific to scripting timers.
        
        SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):
        (WebCore::DOMTimer::contextDestroyed):
        (WebCore::DOMTimer::stop):
        * page/DOMTimer.h:
        * page/SuspendableTimer.cpp: Added.
        (WebCore::SuspendableTimer::SuspendableTimer):
        (WebCore::SuspendableTimer::~SuspendableTimer):
        (WebCore::SuspendableTimer::hasPendingActivity):
        (WebCore::SuspendableTimer::stop):
        (WebCore::SuspendableTimer::suspend):
        (WebCore::SuspendableTimer::resume):
        (WebCore::SuspendableTimer::canSuspend):
        * page/SuspendableTimer.h: Added.

2010-05-25  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Remove custom bindings for Element.SetAttribute*
        https://bugs.webkit.org/show_bug.cgi?id=39604

        Custom bindings are no longer needed because origin checks were moved
        out of the bindings by: http://trac.webkit.org/changeset/59866

        Behavior isn't changed and is covered by existing tests.

        * bindings/js/JSElementCustom.cpp:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * dom/Element.idl:

2010-05-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Add memory graph to Timeline overview pane.

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

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype.set currentPanelCounters):
        * inspector/front-end/Panel.js:
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.showTimelines):
        (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
        (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
        (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
        (WebInspector.HeapGraph):
        (WebInspector.HeapGraph.prototype.get element):
        (WebInspector.HeapGraph.prototype.get visible):
        (WebInspector.HeapGraph.prototype.show):
        (WebInspector.HeapGraph.prototype.hide):
        (WebInspector.HeapGraph.prototype.setSize):
        (WebInspector.HeapGraph.prototype.update):
        (WebInspector.HeapGraph.prototype._clear):
        (WebInspector.HeapGraph.prototype._drawScale):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
        (WebInspector.TimelinePanel.prototype.show):
        (WebInspector.TimelinePanel.prototype.hide):
        * inspector/front-end/inspector.css:
        (#counters):
        (#timeline-overview-sidebar):
        (.timeline-category-statusbar-item):
        (.timeline-category-statusbar-item .timeline-category-checkbox):
        (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
        (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
        (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
        (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
        (#timeline-overview-memory):
        (.timeline-records-counter):
        (#main-status-bar > .timeline-records-counter):
        (#counters > .timeline-records-counter):
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        ():

2010-05-25  Adam Barth  <abarth@webkit.org>

        Unreviewed.  Fix typo pointed out by Maciej.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::unconsumeCharacters):
        (WebCore::HTML5Lexer::consumeEntity):

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix <noembed> and <plaintext> content models
        https://bugs.webkit.org/show_bug.cgi?id=39653

        PLAINTEXTState is my favorite lexer state.  :)

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        First cut at HTML5 entities
        https://bugs.webkit.org/show_bug.cgi?id=39649

        There's still a bunch more work to do to get our entity parsing fully
        up to spec.  This patch contains the bulk of the implementation
        however.
        
        The basics are covered by the existing html5lib tests.  I'll add more
        detailed tests in a followup patch.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::legalEntityFor):
        (WebCore::HTMLNames::isHexDigit):
        (WebCore::HTMLNames::isAlphaNumeric):
        (WebCore::HTMLNames::uncomsumeCharacters):
        (WebCore::HTML5Lexer::consumeEntity):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::haveBufferedCharacterToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::write):

2010-05-24  Tasuku Suzuki  <tasuku.suzuki@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix compilation with QT_NO_TEMPORARYFILE
        https://bugs.webkit.org/show_bug.cgi?id=38324

        * platform/qt/FileSystemQt.cpp:
        (WebCore::openTemporaryFile):

2010-05-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Fixed handling of bare '/' and '?' at console prompt.
        https://bugs.webkit.org/show_bug.cgi?id=39585

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2010-05-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Sam Weinig.

        The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.

        Spec link:
        http://www.w3.org/TR/WebIDL/#interface-object

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

        Test: fast/dom/prototype-property.html

        * bindings/scripts/CodeGeneratorJS.pm:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add RCDATA and RAWTEXT suport to the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39642

        Adam Barth wrote half of this patch.

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-24  Tony Chang  <tony@chromium.org>

        Not reviewed, build fix.

        Fix the chromium compile due to pageZoomFactor refactoring.

        * page/EventHandler.cpp:
        (WebCore::pageZoomFactor):

2010-05-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTML5 <video> tag performance worse than Flash
        https://bugs.webkit.org/show_bug.cgi?id=39577
        rdar://problem/7982458
        
        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
        
        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
        a CAImageQueueRef to be set as a layer's contents.
        
        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
        
        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WKCAImageQueue.cpp: Added.
        * platform/graphics/win/WKCAImageQueue.h: Added.

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach the HTML5 parser how to lex escaped script data
        https://bugs.webkit.org/show_bug.cgi?id=39630

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::vectorEqualsString):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::temporaryBufferIs):
        (WebCore::HTML5Lexer::isAppropriateEndTag):
        (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
        (WebCore::HTML5Lexer::flushBufferedEndTag):
        * html/HTML5Lexer.h:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Trick MSVC into ignoring our unused code for the moment.

        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
        https://bugs.webkit.org/show_bug.cgi?id=39623

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):

2010-05-24  Darin Adler  <darin@apple.com>

        Fix build on platforms with touch code enabled.

        * page/EventHandler.cpp:
        (WebCore::pageZoomFactor): Added.
        (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.

2010-05-24  Darin Adler  <darin@apple.com>

        Reviewed by Eric Seidel.

        Move view-related functions from Frame to FrameView
        https://bugs.webkit.org/show_bug.cgi?id=39366

        Refactoring only so adds no new tests.

        * WebCore.base.exp: Updated.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
        on FrameView.
        (WebCore::CSSStyleSelector::applyProperty): Ditto.
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint): Ditto.
        (WebCore::Document::caretRangeFromPoint): Ditto.
        * dom/MouseRelatedEvent.cpp:
        (WebCore::contentsX): Ditto.
        (WebCore::contentsY): Ditto.
        (WebCore::pageZoomFactor): Added helper function.
        (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
        (WebCore::Node::dispatchWheelEvent): Ditto.
        * dom/Touch.cpp:
        (WebCore::contentsX): Call zoom factor function on FrameView.
        (WebCore::contentsY): Ditto.
        * html/HTMLBodyElement.cpp:
        (WebCore::adjustForZoom): Ditto.
        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::width): Ditto.
        (WebCore::HTMLImageElement::height): Ditto.
        * loader/ImageDocument.cpp:
        (WebCore::pageZoomFactor): Added helper function.
        (WebCore::ImageTokenizer::finish): Use helper function
        (WebCore::ImageDocument::scale): Ditto.
        (WebCore::ImageDocument::resizeImageToFit): Ditto.
        (WebCore::ImageDocument::imageChanged): Ditto.
        (WebCore::ImageDocument::restoreImageSize): Ditto.
        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight): Ditto.
        (WebCore::DOMWindow::innerWidth): Ditto.
        (WebCore::DOMWindow::scrollX): Ditto.
        (WebCore::DOMWindow::scrollY): Ditto.
        (WebCore::DOMWindow::scrollTo): Ditto.
        * page/DragController.cpp:
        (WebCore::elementUnderMouse): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
        * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
        margin to make the style consistent. Removed empty function
        removeEditingStyleFromBodyElement.

        * page/FrameView.cpp:
        (WebCore::parentZoomFactor): Added helper function for constructor.
        (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
        (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
        (WebCore::FrameView::shouldApplyPageZoom): Ditto.
        (WebCore::FrameView::setZoomFactor): Ditto.

        * page/FrameView.h: Added members moved here from Frame.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentScale): Ditto.
        (WebCore::SVGSVGElement::setCurrentScale): Ditto.

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Roll-out changes r60094, 60096-60097.
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::printLayer):
        * platform/graphics/win/WKCACFLayer.h:
        (WebCore::WKCACFLayer::setContents):
        (WebCore::WKCACFLayer::contents):
        (WebCore::WKCACFLayer::speed):
        (WebCore::WKCACFLayer::timeOffset):
        * platform/graphics/win/WKCAImageQueue.cpp: Removed.
        * platform/graphics/win/WKCAImageQueue.h: Removed.

2010-05-24  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Add wtf/UnusedParam.h include to make Chromium happy.

        Chromium does not use a prefix header in order to support
        distcc3.  Other ports all do.  The real fix is to remove
        wtf/UnusedParam.h from the prefix header.

        * html/HTML5TreeBuilder.cpp:

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Second half of previous build fix, in which I add the include in the correct place.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
        https://bugs.webkit.org/show_bug.cgi?id=39623

        Before we start transcribing the parser, we need a place to put it.

        This also cleans up HTML5 token to not convert comment and character
        data into AtomicStrings (which makes no sense).

        No functionality change, so no new tests.

        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):
        (WebCore::HTML5Token::beginCharacter):
        (WebCore::HTML5Token::beginComment):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::adoptDataAsStringImpl):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::commentData):
        (WebCore::HTML5Token::clearData):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
        (WebCore::HTML5TreeBuilder::processToken):
        * html/HTML5TreeBuilder.h:

2010-05-23  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTML5 <video> tag performance worse than Flash
        https://bugs.webkit.org/show_bug.cgi?id=39577
        rdar://problem/7982458
        
        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
        
        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
        a CAImageQueueRef to be set as a layer's contents.
        
        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
        
        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WKCAImageQueue.cpp: Added.
        * platform/graphics/win/WKCAImageQueue.h: Added.

2010-05-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
        <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486

        Currently, a Tracker needs to know it's path before origins are populated. Testing databases and 
        related features is made very difficult with this regression, so instead of changing things in a
        complicated way to make this not the case, I've added an "initialize Tracker with this path" function
        that calls the DatabaseTracker constructor with the initial path.

        I checked the other platforms besides Mac and Win, and none of them seem to perform the 
        "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.

        No new tests. (API specific layout test in DRT is forthcoming)

        * WebCore.base.exp:

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
        (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
          can share it. Add a fallback to not change behavior of platforms that don't call the new 
          "initializeTracker()" method.
        (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
        * storage/DatabaseTracker.h:

        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
        (WebCore::DatabaseTracker::DatabaseTracker): Ditto.

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach the HTML5 parser to lex DOCTYPEs
        https://bugs.webkit.org/show_bug.cgi?id=39571

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginDOCTYPE):
        (WebCore::HTML5Token::publicIdentifier):
        (WebCore::HTML5Token::systemIdentifier):
        (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
        (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
        (WebCore::HTML5Token::appendToPublicIdentifier):
        (WebCore::HTML5Token::appendToSystemIdentifier):
        (WebCore::HTML5Token::DoctypeData::DoctypeData):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::lookAheadIgnoringCase):
        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):

== Rolled over to ChangeLog-2010-05-24 ==
