ChangeLog-2010-01-29   [plain text]


2010-01-29  Mark Rowe  <mrowe@apple.com>

        Fix the Mac build.

        Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".

        As the comment in FeatureDefines.xcconfig notes, the list of feature defines
        needs to be kept in sync across the various files.  The default values also
        need to be kept in sync between these files and build-webkit.

        * Configurations/FeatureDefines.xcconfig:

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

        Reviewed by Darin Adler.

        Timeout for client-based Geolocation shouldn't start until user gives consent
        https://bugs.webkit.org/show_bug.cgi?id=34352

        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest): Don't start timer if we're blocked on user consent.
        (WebCore::Geolocation::setIsAllowed): Start timer after user gives consent.

2010-01-29  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Nikolas Zimmermann.

        [OpenVG] Implement more graphics primitives
        https://bugs.webkit.org/show_bug.cgi?id=34339

        Adds lines, arcs, ellipses, polygons and rounded
        rectangles to PainterOpenVG and GraphicsContext.

        Rounded rects support by Eli Fidler <efidler@rim.com>.

        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/openvg/PainterOpenVG.cpp:
        (WebCore::PainterOpenVG::drawRect):
        (WebCore::PainterOpenVG::drawRoundedRect):
        (WebCore::PainterOpenVG::drawLine):
        (WebCore::PainterOpenVG::drawArc):
        (WebCore::PainterOpenVG::drawEllipse):
        (WebCore::PainterOpenVG::drawPolygon):
        * platform/graphics/openvg/PainterOpenVG.h:

2010-01-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        A first step towards the Indexed Database API
        https://bugs.webkit.org/show_bug.cgi?id=34342

        Flesh out the first part of Indexed Database API.
        Currently only compiles with v8 + chromium for now.
        Completely non-functional, but it seems best to do
        this in chunks.

        No tests because nothing works yet.

        * Configurations/FeatureDefines.xcconfig:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/RuntimeEnabledFeatures.cpp:
        * bindings/v8/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setIndexedDatabaseEnabled):
        (WebCore::RuntimeEnabledFeatures::indexedDatabaseEnabled):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::IndexedDBEnabled):
        * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
        (WebCore::V8IDBRequest::resultAccessorGetter):
        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Added.
        (WebCore::V8IndexedDatabaseRequest::openCallback):
        * dom/EventNames.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::indexedDB):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * storage/IDBDatabaseError.h: Added.
        (WebCore::IDBDatabaseError::create):
        (WebCore::IDBDatabaseError::~IDBDatabaseError):
        (WebCore::IDBDatabaseError::code):
        (WebCore::IDBDatabaseError::setCode):
        (WebCore::IDBDatabaseError::message):
        (WebCore::IDBDatabaseError::setMessage):
        (WebCore::IDBDatabaseError::IDBDatabaseError):
        * storage/IDBDatabaseError.idl: Added.
        * storage/IDBDatabaseException.h: Added.
        (WebCore::IDBDatabaseException::create):
        (WebCore::IDBDatabaseException::~IDBDatabaseException):
        (WebCore::IDBDatabaseException::code):
        (WebCore::IDBDatabaseException::setCode):
        (WebCore::IDBDatabaseException::message):
        (WebCore::IDBDatabaseException::setMessage):
        (WebCore::IDBDatabaseException::IDBDatabaseException):
        * storage/IDBDatabaseException.idl: Added.
        * storage/IDBRequest.cpp: Added.
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::~IDBRequest):
        (WebCore::IDBRequest::abort):
        (WebCore::IDBRequest::eventTargetData):
        (WebCore::IDBRequest::ensureEventTargetData):
        * storage/IDBRequest.h: Added.
        (WebCore::IDBRequest::create):
        (WebCore::IDBRequest::readyState):
        (WebCore::IDBRequest::error):
        (WebCore::IDBRequest::result):
        (WebCore::IDBRequest::scriptExecutionContext):
        (WebCore::IDBRequest::toIDBRequest):
        (WebCore::IDBRequest::refEventTarget):
        (WebCore::IDBRequest::derefEventTarget):
        * storage/IDBRequest.idl: Added.
        * storage/IndexedDatabaseRequest.cpp: Added.
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
        (WebCore::IndexedDatabaseRequest::~IndexedDatabaseRequest):
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h: Added.
        (WebCore::IndexedDatabaseRequest::create):
        (WebCore::IndexedDatabaseRequest::request):
        * storage/IndexedDatabaseRequest.idl: Added.

2010-01-29  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Drag and Drop: Windows uses "stop" sign as cursor when dragging
        https://bugs.webkit.org/show_bug.cgi?id=34305
        <rdar://problem/7589672>

        Add a FIXME for the code that needs to be changed to support full
        custom cursors.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleDrag):

2010-01-29  Victor Wang  <victorw@chromium.org>

        Reviewed by darin@apple.com.

        Fix the issue that both main frome and iframe are
        focused if window.onblur calls window.focus.
        https://bugs.webkit.org/show_bug.cgi?id=31692

        The problem is caused by the focused frame in FocusController
        is messed up if window.onblur calls window.focus:
        When user clicks iframe to switch focus from main frame to iframe,
        FocusController::setFocusedFrame fires onblur event, which calls
        window.focus and then calls setFocusedFrame again to switch back.
        This messes up the old focused frame and new focused frame and
        leaves the FocusController confused. As a result, controlls
        in both main frame and iframe look like get focused.

        To fix it, add a flag to FocusController and do no switch the focused
        frame when FocusController is in the middle of changing the focused frame. 

        Test: fast/events/change-frame-focus.html

        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
        (WebCore::FocusController::setFocusedFrame):
        * page/FocusController.h:
        (WebCore::FocusController::focusedFrame):
        (WebCore::FocusController::isActive):
        (WebCore::FocusController::isFocused):

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

        Reviewed by Dan Bernstein.

        <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
        blank windows

        We probably shouldn't be deferring loads below modal dialogs and alerts, because that's not
        what being modal means. But making such a change for general Web content would require fixes
        in other parts of code, which I'm not ready to implement right now, so making it application
        specific.

        * page/Page.cpp: (WebCore::Page::setDefersLoading): Do nothing if load deferring is not
        enabled in page settings.

        * WebCore.base.exp:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadDeferringEnabled):
        * page/Settings.h: (WebCore::Settings::loadDeferringEnabled):
        Add the ability for client to disable page deferring (still enabled by default).

        * platform/mac/RuntimeApplicationChecks.h:
        * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAdobeInstaller):
        Added a bundle ID test for Adobe installer.

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

        Build fix.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::startUpdating):

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

        Reviewed by Darin Adler.

        Client-based Geolocation starts updating before getting consent from the user
        https://bugs.webkit.org/show_bug.cgi?id=34343

        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest): Pass notifier instead of options to startUpdating.
        (WebCore::Geolocation::setIsAllowed): Add the observer or notify of error for deferred startUpdating.
        (WebCore::Geolocation::startUpdating): Pass notifier instead of options, since we may need to call it if we fail to get user consent.
        Defer adding the observer if we don't yet have user consent, since this could kick off
        server-based wifi Geolocation requests.
        * page/Geolocation.h:

2010-01-28  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Crash when posting a notification for a detached object

        https://bugs.webkit.org/show_bug.cgi?id=34309
        <rdar://problem/7409759>

        Reviewed by Darin Adler.

        Test: platform/win/accessibility/detached-object-notification-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (AccessibilityRenderObject::document):
        Null check m_renderer. This is the bug fix; the other changes in the
        patch are for the test.

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        Map AXValueChanged to EVENT_OBJECT_VALUECHANGED, so we'll post a
        notification when AXValueChanged is posted. Receiving an event of this
        type tells us that the test passed.

2010-01-29  Darin Fisher  <darin@chromium.org>

        Okayed by Oliver Hunt.

        Rollout r53949, r53951 and r54013 due to a Chromium regression that it
        causes.  Somehow this code change is triggering an endless repaint loop.

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

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::TransformationMatrix::isIdentityOrTranslation):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderBoxModelObject.h:

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

        Reviewed by Darin Adler.

        Add gdb helper methods for Ranges like we have for VisibleSelections.
        https://bugs.webkit.org/show_bug.cgi?id=34308

        No new tests, these are only for debugging.

        * dom/Position.cpp:
        (WebCore::Position::showTreeForThis):
        * dom/Range.cpp:
        (showTree):
        * dom/Range.h:

2010-01-29  Drew Wilson  <atwilson@chromium.org>

        Reviewed by Adam Barth.

        V8 implementation of MessageEvent.initMessageEvent() does not set source correctly.
        https://bugs.webkit.org/show_bug.cgi?id=34292

        Test: fast/events/init-events.html will pass in Chrome now.

        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::initMessageEventCallback):
        Now properly extracts the reference to the DOMWindow object from the passed-in window parameter.

2010-01-29  Ben Murdoch  <benm@google.com>

        Reviewed by Dimitri Glazkov.

        [Android] Android needs functionality in the ChromeClient to be informed when touch events are and are not needed by the webpage.
        https://bugs.webkit.org/show_bug.cgi?id=34215

        Add a function on the ChromeClient that WebCore can use to inform the platform when it needs touch events. This way the platform can optimise by not forwarding the events if they are not required.

        No new tests as the only implementation is specific to Android.

        * dom/Document.cpp:
        (WebCore::Document::detach): Check if this is the top level document and if so, stop forwarding touch events.
        (WebCore::Document::addListenerTypeIfNeeded): Inform the ChromeClient it should start forwarding touch events and guard touch event code properly.
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore): If the document uses touch events, inform the ChromeClient to start forwarding them.
        (WebCore::CachedFrame::CachedFrame): If the document uses touch events, inform the ChromeClient to stop forwarding them, as the document is being put into the page cache.
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::needTouchEvents): Add an empty implementation.
        * page/ChromeClient.h: Add the needTouchEvents() function.

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

        Reviewed by Pavel Feldman.

        Fix toolbar gradient to match the window's titlebar on Snow Leopard
        https://bugs.webkit.org/show_bug.cgi?id=34320

        * inspector/front-end/inspector.css:

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

        Reviewed by Pavel Feldman.

        Fix MacOS X version detection

        MacOS X version can have 2 or 3 segments.
        https://bugs.webkit.org/show_bug.cgi?id=34322

        * inspector/front-end/inspector.js:
        (WebInspector._detectPlatform):

2010-01-29  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Nikolas Zimmermann.

        [OpenVG] Implement a basic GraphicsContext on top of a new PainterOpenVG class
        https://bugs.webkit.org/show_bug.cgi?id=33405

        PainterOpenVG provides painter state management that works
        on a single (EGL) context, and apart from painter state
        implements a single drawing operation (for now), drawRect().

        It is a generic painter class that cooperates with
        SurfaceOpenVG to enable robust surface/context switching
        (given that EGL doesn't notify us if somebody switches
        the surface/context behind our backs), and provides
        painting operations close to OpenVG's way of working
        that GraphicsContext, Path, Image, Font and other WebKit
        platform classes can use to draw on.

        Initial code for state management and OpenVG scissoring by
        Eli Fidler <efidler@rim.com>. VGRect/VGMatrix and the bulk
        of the transformations code by Adam Treat <atreat@rim.com>.
        Preliminary drawFocusRing() implementation by Yong Li <yoli@rim.com>.

        * platform/graphics/FloatRect.h:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Added.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::getCTM):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineDash):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::origin):
        (WebCore::GraphicsContext::clipOutEllipseInRect):
        (WebCore::GraphicsContext::clipToImageBuffer):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::setURLForRect):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::setPlatformShouldAntialias):
        (WebCore::GraphicsContext::setImageInterpolationQuality):
        (WebCore::GraphicsContext::imageInterpolationQuality):
        * platform/graphics/openvg/PainterOpenVG.cpp: Added.
        (WebCore::isNonRotatedAffineTransformation):
        (WebCore::toVGCapStyle):
        (WebCore::toVGJoinStyle):
        (WebCore::toVGFillRule):
        (WebCore::colorToVGColor):
        (WebCore::setVGSolidColor):
        (WebCore::PlatformPainterState::PlatformPainterState):
        (WebCore::PlatformPainterState::copyPaintState):
        (WebCore::PlatformPainterState::applyState):
        (WebCore::PlatformPainterState::applyBlending):
        (WebCore::PlatformPainterState::applyTransformationMatrix):
        (WebCore::PlatformPainterState::applyScissorRect):
        (WebCore::PlatformPainterState::applyStrokeStyle):
        (WebCore::PlatformPainterState::strokeDisabled):
        (WebCore::PlatformPainterState::fillDisabled):
        (WebCore::PainterOpenVG::PainterOpenVG):
        (WebCore::PainterOpenVG::~PainterOpenVG):
        (WebCore::PainterOpenVG::begin):
        (WebCore::PainterOpenVG::end):
        (WebCore::PainterOpenVG::destroyPainterStates):
        (WebCore::PainterOpenVG::applyState):
        (WebCore::PainterOpenVG::blitToSurface):
        (WebCore::PainterOpenVG::transformationMatrix):
        (WebCore::PainterOpenVG::concatTransformationMatrix):
        (WebCore::PainterOpenVG::setTransformationMatrix):
        (WebCore::PainterOpenVG::compositeOperation):
        (WebCore::PainterOpenVG::setCompositeOperation):
        (WebCore::PainterOpenVG::opacity):
        (WebCore::PainterOpenVG::setOpacity):
        (WebCore::PainterOpenVG::strokeThickness):
        (WebCore::PainterOpenVG::setStrokeThickness):
        (WebCore::PainterOpenVG::strokeStyle):
        (WebCore::PainterOpenVG::setStrokeStyle):
        (WebCore::PainterOpenVG::setLineDash):
        (WebCore::PainterOpenVG::setLineCap):
        (WebCore::PainterOpenVG::setLineJoin):
        (WebCore::PainterOpenVG::setMiterLimit):
        (WebCore::PainterOpenVG::strokeColor):
        (WebCore::PainterOpenVG::setStrokeColor):
        (WebCore::PainterOpenVG::fillColor):
        (WebCore::PainterOpenVG::setFillColor):
        (WebCore::PainterOpenVG::antialiasingEnabled):
        (WebCore::PainterOpenVG::setAntialiasingEnabled):
        (WebCore::PainterOpenVG::scale):
        (WebCore::PainterOpenVG::rotate):
        (WebCore::PainterOpenVG::translate):
        (WebCore::PainterOpenVG::intersectScissorRect):
        (WebCore::PainterOpenVG::intersectClipRect):
        (WebCore::PainterOpenVG::drawRect):
        (WebCore::PainterOpenVG::save):
        (WebCore::PainterOpenVG::restore):
        * platform/graphics/openvg/PainterOpenVG.h: Added.
        (WebCore::PainterOpenVG::):
        (WebCore::PainterOpenVG::surface):
        * platform/graphics/openvg/SurfaceOpenVG.cpp:
        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
        (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
        (WebCore::SurfaceOpenVG::makeCurrent):
        (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
        (WebCore::SurfaceOpenVG::setActivePainter):
        (WebCore::SurfaceOpenVG::activePainter):
        * platform/graphics/openvg/SurfaceOpenVG.h:
        (WebCore::SurfaceOpenVG::):
        * platform/graphics/openvg/VGUtils.cpp: Added.
        (WebCore::VGMatrix::VGMatrix):
        (WebCore::VGMatrix::operator TransformationMatrix):
        (WebCore::TransformationMatrix::operator VGMatrix):
        (WebCore::VGRect::VGRect):
        (WebCore::VGRect::operator FloatRect):
        (WebCore::FloatRect::operator VGRect):
        * platform/graphics/openvg/VGUtils.h:
        (WebCore::VGMatrix::toVGfloat):
        (WebCore::VGRect::toVGfloat):
        * platform/graphics/transforms/TransformationMatrix.h:

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

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Vimeo HTML5 player doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=34327

        Send Referer when requesting media over HTTP.

        Test: http/tests/media/video-referer.html

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateSourceChangedCallback):

2010-01-29  Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Speed up the WebCore::String -> QString conversion

        Use QString(const QChar *, int len) constructor instead of QString::fromUtf16 to
        avoid BOM checks and byteswapping.

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

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Source view displays text using wrong fonts
        https://bugs.webkit.org/show_bug.cgi?id=34269

        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype._initFont):
        * inspector/front-end/inspector.js:

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

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Apple trailers don't play anymore
        https://bugs.webkit.org/show_bug.cgi?id=34316

        Fake QuickTime when accessing movie trailers.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateSourceChangedCallback):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: migrate to tokenizer-based highlighting in the Elements panel.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/CSSSourceSyntaxHighlighter.js: Removed.
        * inspector/front-end/DOMSyntaxHighlighter.js: Added.
        (WebInspector.DOMSyntaxHighlighter):
        (WebInspector.DOMSyntaxHighlighter.prototype.createSpan):
        (WebInspector.DOMSyntaxHighlighter.prototype.syntaxHighlightNode):
        * inspector/front-end/ElementsTreeOutline.js:
        * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Removed.
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):
        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/SourceHTMLTokenizer.js:
        (WebInspector.SourceHTMLTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js:
        * inspector/front-end/SourceJavaScriptTokenizer.js:
        (WebInspector.SourceJavaScriptTokenizer):
        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
        * inspector/front-end/SourceSyntaxHighlighter.js: Removed.
        * inspector/front-end/SourceTokenizer.js: Added.
        (WebInspector.SourceTokenizer):
        (WebInspector.SourceTokenizer.prototype.set line):
        (WebInspector.SourceTokenizer.prototype.set condition):
        (WebInspector.SourceTokenizer.prototype.get condition):
        (WebInspector.SourceTokenizer.prototype.hasCondition):
        (WebInspector.SourceTokenizer.prototype.getLexCondition):
        (WebInspector.SourceTokenizer.prototype.setLexCondition):
        (WebInspector.SourceTokenizer.prototype._charAt):
        (WebInspector.SourceTokenizer.Registry):
        (WebInspector.SourceTokenizer.Registry.getInstance):
        (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: No need to render background sources
        when performing search.

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

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.ScriptView.prototype.show):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.set visible):
        (WebInspector.SourceFrame.prototype.set executionLine):
        (WebInspector.SourceFrame.prototype.revealLine):
        (WebInspector.SourceFrame.prototype.clearMessages):
        (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
        (WebInspector.SourceFrame.prototype.setContent):
        (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
        (WebInspector.SourceFrame.prototype.setSelection):
        (WebInspector.SourceFrame.prototype.clearSelection):
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
        (WebInspector.SourceFrame.prototype._contextMenu):
        (WebInspector.SourceFrame.prototype._toggleBreakpoint):
        (WebInspector.SourceFrame.prototype.resize):
        (WebInspector.BreakpointLineNumberDecorator):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.resize):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel):
        (WebInspector.TextEditorModel.prototype.set changeListener):
        (WebInspector.TextEditorModel.prototype.setText):

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

        Reviewed by Adam Barth.

        Remove ScriptState::frame which is only used for reporting exceptions
        in some cases in a way that diverges from the regular exception reporting in
        v8 bindings.

        Cache ScriptState directly on v8::Context instead of providing
        implementations specific for isolated worlds and ScriptController.

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

        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptState.cpp:
        (WebCore::mainWorldScriptState):
        * bindings/js/ScriptState.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::clearWindowShell):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptScope.cpp:
        (WebCore::ScriptScope::ScriptScope):
        (WebCore::ScriptScope::success):
        * bindings/v8/ScriptScope.h:
        * bindings/v8/ScriptState.cpp:
        (WebCore::ScriptState::ScriptState):
        (WebCore::ScriptState::forContext):
        (WebCore::ScriptState::current):
        (WebCore::ScriptState::weakReferenceCallback):
        (WebCore::mainWorldScriptState):
        (WebCore::scriptStateFromPage):
        * bindings/v8/ScriptState.h:
        (WebCore::ScriptState::ScriptState):
        (WebCore::EmptyScriptState::EmptyScriptState):
        (WebCore::EmptyScriptState::~EmptyScriptState):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/V8IsolatedContext.cpp:
        * bindings/v8/V8IsolatedContext.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::getScriptExecutionContext):
        (WebCore::reportException):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::V8NodeIterator::nextNodeCallback):
        (WebCore::V8NodeIterator::previousNodeCallback):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::V8TreeWalker::parentNodeCallback):
        (WebCore::V8TreeWalker::firstChildCallback):
        (WebCore::V8TreeWalker::lastChildCallback):
        (WebCore::V8TreeWalker::nextNodeCallback):
        (WebCore::V8TreeWalker::previousNodeCallback):
        (WebCore::V8TreeWalker::nextSiblingCallback):
        (WebCore::V8TreeWalker::previousSiblingCallback):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::injectedScriptForNodeId):

2010-01-29  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        Add FrameLoaderClient::allowImages method to allow the client to
        overrule image loading policy on a per frame basis.

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

        For completeness, this patch also adds Settings::areImagesEnabled.
        This is different from loadsImagesAutomatically as is explained in
        Settings.h.

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestImage):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::allowImages):
        * loader/ImageDocument.cpp:
        (WebCore::ImageTokenizer::writeRawData):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setImagesEnabled):
        * page/Settings.h:
        (WebCore::Settings::areImagesEnabled):

2010-01-28  Nicholas Young  <nicholas.young@nokia.com>

        Reviewed by Eric Carlson.

        Prefer provided video element width/height properties to hard coded
        defaults for intrinsic size when natural video size is unavailable.
        https://bugs.webkit.org/show_bug.cgi?id=34302

        No new tests needed.

        * rendering/RenderVideo.cpp: Attempt to use width/height properties
        (WebCore::RenderVideo::RenderVideo):
        * rendering/RenderVideo.h: More appropriate constructor signature

2010-01-28  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        MessageEvent.data should not be repeated deserialised
        https://bugs.webkit.org/show_bug.cgi?id=34311

        Cache the result of deserialising the event data

        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/MessageEvent.idl:

2010-01-28  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Change CSS 'page-break-inside' property from inherited one to non-inherited one because CSS specification defines so.

        Note: Currently, the 'page-break-inside' property is used only when parsing the CSS. That property is not used when rendering.

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

        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::NonInheritedFlags::operator==):
        (WebCore::InheritedFlags::setBitDefaults):
        (WebCore::InheritedFlags::pageBreakInside):
        (WebCore::InheritedFlags::setPageBreakInside):
        * rendering/style/StyleInheritedData.cpp:
        (WebCore::StyleInheritedData::StyleInheritedData):
        (WebCore::StyleInheritedData::operator==):
        * rendering/style/StyleInheritedData.h:

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

        Reviewed by Alexey Proskuryakov.

        ApplicationCache events should be deferred until after Document onload has fired.
        https://bugs.webkit.org/show_bug.cgi?id=29690

        Test: http/tests/appcache/deferred-events.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::handledOnloadEvents):  Tells the ApplicationCacheHost to stop deferring events.
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::ApplicationCacheHost): Initialize m_isDeferringEvents to true.
        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache): Depending, defer or raise the event.
        (WebCore::ApplicationCacheHost::stopDeferringEvents): Raise any deferred events and reset the flag.
        * loader/appcache/ApplicationCacheHost.h: Declare new data members and method.

2010-01-28  Kavita Kanetkar  <kkanetkar@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Generate header declaration for custom constructor callbacks
        https://bugs.webkit.org/show_bug.cgi?id=33680

        Added handling of 'CanBeConstructed' and 'OmitConstructor' and a new extended attribute
        CustomConstructor'.

        Deleted implementation .cpp files for corresponding 'CanBeConstructed'
        extended attributes. These are now generated via CodeGeneratorV8.pm
        Treating 'OmitConstructor' and 'CustomConstructor' to be the same in
        CodeGeneratorJS.pm
        Cleaned idls that had 'CustomConstructor' and 'OmitConstructor' together, and
        same with CustomConstructor and CanBeConstructed.

        * Android.v8bindings.mk:
        * WebCore.gypi: Removed deps for classes being generated.
        * bindings/scripts/CodeGeneratorJS.pm: OmitConstructor and CustomConstructor have the same behavior in generator.
        * bindings/scripts/CodeGeneratorV8.pm: Generating the callbacks for constructors.
        * bindings/v8/V8DOMWrapper.cpp: Removed manual calls to SetCallHandler() for constructor callbacks.
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/custom/V8CustomBinding.h: Removed manual declarations of constructor callbacks.
        * bindings/v8/custom/V8DOMParserConstructor.cpp:
        * bindings/v8/custom/V8EventSourceConstructor.cpp:
        (WebCore::V8EventSource::constructorCallback):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::V8MessageChannel::constructorCallback):
        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
        (WebCore::V8SharedWorker::constructorCallback):
        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
        (WebCore::V8WebGLArrayBuffer::constructorCallback):
        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
        (WebCore::V8WebGLByteArray::constructorCallback):
        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
        (WebCore::V8WebGLFloatArray::constructorCallback):
        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
        (WebCore::V8WebGLIntArray::constructorCallback):
        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
        (WebCore::V8WebGLShortArray::constructorCallback):
        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
        (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
        (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
        (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        (WebCore::V8WebKitCSSMatrix::constructorCallback):
        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
        (WebCore::V8WebKitPoint::constructorCallback):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8WebSocket::constructorCallback):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::V8Worker::constructorCallback):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::V8XMLHttpRequest::constructorCallback):
        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Deleted the file. Implementation now being generated.
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Deleted the file. Implementation now being generated.
        (WebCore::V8XSLTProcessor::constructorCallback): Deleted the file. Implementation now being generated.
        * css/WebKitCSSMatrix.idl: Added CustomConstructor attribute.
        * dom/MessageChannel.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLArrayBuffer.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLByteArray.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLFloatArray.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLIntArray.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLShortArray.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLUnsignedByteArray.idl: Added CustomConstructor attribute.
        * html/canvas/WebGLUnsignedIntArray.idl: Added CustomConstructor attribute.

2010-01-28  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Add stub for AXObjectCache::contentChanged when HAVE(ACCESSIBILITY) is not defined
        https://bugs.webkit.org/show_bug.cgi?id=34271

        No new tests, build fix only.

        * accessibility/AXObjectCache.cpp: Modified. Added HAVE(ACCESSIBILITY) guards around contentChanged
        * accessibility/AXObjectCache.h: Modified.
        (WebCore::AXObjectCache::contentChanged): Added stub

2010-01-28  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Use long long rather than int64 in V8Binding.h
        https://bugs.webkit.org/show_bug.cgi?id=34270

        No new tests, build fix only.

        * bindings/v8/V8Binding.h: Modified.
        (WebCore::toInt64): Returns long long

2010-01-28  Avi Drissman  <avi@chromium.org>

        Reviewed by David Levin.

        Unused variable in ThemeMac (followup to change 49103).
        https://bugs.webkit.org/show_bug.cgi?id=34274

        Covered by existing tests.

        * platform/mac/ThemeMac.mm:
        (WebCore::setupButtonCell):

2010-01-28  Enrica Casucci  <enrica@apple.com>

        Reviewed by Maciej Stachowiak.

        Huge plain text pastes are slow
        <rdar://problem/5195056>
        https://bugs.webkit.org/show_bug.cgi?id=34237

        No new tests. It is a performance improvement.

        The performance of the plain text paste is now linear.
        We treat as a special case, a fragment that has been
        created from plain text. Finding VisiblePositions and
        applying style is greatly simplified, given the nature of
        the fragment.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/markup.cpp:
        (WebCore::isPlainTextMarkup):
        * editing/markup.h:

2010-01-28  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Adam Barth.

        Initialize DOM Storage's quota's current length parameter when we clone it.
        https://bugs.webkit.org/show_bug.cgi?id=34294

        * storage/StorageMap.cpp:
        (WebCore::StorageMap::copy):

2010-01-28  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fix after r53411 on WinCairo.

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

2010-01-28  Nayan Kumar K  <nayankk@gmail.com>

        Reviewed by Laszlo Gombos.

        Fix for compilation error in WML enabled build introduced because of the changeset 53514.

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

        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::WMLDocument):

2010-01-28  Alex Milowski  <alex@milowski.com>

        Reviewed by Eric Seidel.

        Update to CSS to remove unnecessary line-height settings

        * css/mathml.css:

2010-01-28  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Add missing includes for HashMap/HashSet
        https://bugs.webkit.org/show_bug.cgi?id=34276

        No new tests, build fix only.

        * platform/KURL.cpp: Modified. Include HashMap.h
        * platform/network/CredentialStorage.cpp: Modified. Include HashMap.h and HashSet.h
        * platform/network/ProtectionSpaceHash.h: Modified. Include HashTraits.h

2010-01-28  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        Reviewed by Gustavo Noronha.

        Pass cookies to the GStreamer HTTP source
        https://bugs.webkit.org/show_bug.cgi?id=34003

        Test: http/tests/media/video-cookie.html

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateSourceChangedCallback):
        When using an appropiate GStreamer HTTP source element, pass
        the cookies for the media URI to it. This fixes playback of
        the YouTube HTML5 videos.

2010-01-28  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r54022.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObjectImp::createStructure):
        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure):
        * bridge/qt/qt_runtime.h:
        (JSC::Bindings::QtRuntimeMethod::createStructure):

2010-01-28  Adam Roben  <aroben@apple.com>

        Fix an assertion beneath SerializedScriptValue::deserialize on 32-bit
        builds (e.g., on Windows)

        Passing a JSValue to toRef on 32-bit builds can perform an allocation,
        so we need to make sure we hold a JSLock when that occurs.

        Reviewed by Oliver Hunt.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValueData::serialize):
        (WebCore::SerializedScriptValueData::deserialize):
        Moved JSLocks from here...

        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::deserialize):
        ...to this higher level, from which toRef can be called.

2010-01-28  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        DOM Objects shouldn't all require custom mark functions
        https://bugs.webkit.org/show_bug.cgi?id=34291

        Make DOMObjectWithGlobalPointer use an anonymous slot to store the global object
        reference.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObjectWithGlobalPointer::globalObject):
        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):

2010-01-28  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Simplify anonymous slot implementation
        https://bugs.webkit.org/show_bug.cgi?id=34282

        Update the WebCore JS DOM bindings to correctly pass and
        propagate the anonymous slot count information.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObjectWithGlobalPointer::createStructure):
        (WebCore::DOMConstructorObject::createStructure):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::createStructure):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::createStructure):
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::createStructure):
        * bridge/runtime_object.h:
        (JSC::RuntimeObjectImp::createStructure):

2010-01-27  Evan Martin  <evan@chromium.org>

        Reviewed by David Levin.

        [chromium] hebrew vowel marks incorrectly positioned
        https://bugs.webkit.org/show_bug.cgi?id=34234

        Fix glyph metrics computation such that the glyph offsets
        are correct, so we can now make use of them.

        Test: fast/text/international/hebrew-vowels.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::createGlyphArrays): initialize per-glyph
        offset table.
        (WebCore::TextRunWalker::setGlyphXPositions): use per-glyph
        offsets.
        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::getGlyphMetrics): fix metrics computation such that
        per-glyph offsets are computed correctly.

2010-01-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed build fix.

        [Qt] Build fix if websockets support is turned off after r53947.

        * WebCore.pro:

2010-01-28  Dimitri Glazkov  <dglazkov@chromium.org>

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

        Introduced 33 crashes in V8 traversal/ tests.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::mainWorldScriptState):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptState.cpp:
        * bindings/js/ScriptState.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::mainWorldScriptState):
        (WebCore::ScriptController::currentScriptState):
        (WebCore::ScriptController::clearWindowShell):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptScope.cpp:
        (WebCore::ScriptScope::ScriptScope):
        (WebCore::ScriptScope::success):
        * bindings/v8/ScriptScope.h:
        * bindings/v8/ScriptState.cpp:
        (WebCore::ScriptState::ScriptState):
        (WebCore::scriptStateFromPage):
        * bindings/v8/ScriptState.h:
        (WebCore::ScriptState::ScriptState):
        (WebCore::ScriptState::frame):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::scriptState):
        * bindings/v8/V8IsolatedContext.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::getScriptExecutionContext):
        (WebCore::reportException):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::V8NodeIterator::nextNodeCallback):
        (WebCore::V8NodeIterator::previousNodeCallback):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::V8TreeWalker::parentNodeCallback):
        (WebCore::V8TreeWalker::firstChildCallback):
        (WebCore::V8TreeWalker::lastChildCallback):
        (WebCore::V8TreeWalker::nextNodeCallback):
        (WebCore::V8TreeWalker::previousNodeCallback):
        (WebCore::V8TreeWalker::nextSiblingCallback):
        (WebCore::V8TreeWalker::previousSiblingCallback):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::injectedScriptForNodeId):

2010-01-28  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Fix missing forward-declarations and includes in V8 bindings
        https://bugs.webkit.org/show_bug.cgi?id=34272

        No new tests, build fix only.

        * bindings/v8/ScriptController.h: Modified. Forward-declare NPObject
        * bindings/v8/V8DOMWindowShell.cpp: Modified. Include CString.h and PlatformBridge.h
        * bindings/v8/V8DOMWrapper.h: Modified. Forward-declare V8Proxy

2010-01-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        Remove ScriptState::frame which is only used for reporting exceptions
        in some cases in a way that diverges from the regular exception reporting in
        v8 bindings.
        
        Cache ScriptState directly on v8::Context instead of providing
        implementations specific for isolated worlds and ScriptController.

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

        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptState.cpp:
        (WebCore::mainWorldScriptState):
        * bindings/js/ScriptState.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::clearWindowShell):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptScope.cpp:
        (WebCore::ScriptScope::ScriptScope):
        (WebCore::ScriptScope::success):
        * bindings/v8/ScriptScope.h:
        * bindings/v8/ScriptState.cpp:
        (WebCore::ScriptState::ScriptState):
        (WebCore::ScriptState::forContext):
        (WebCore::ScriptState::current):
        (WebCore::ScriptState::empty):
        (WebCore::ScriptState::weakReferenceCallback):
        (WebCore::mainWorldScriptState):
        (WebCore::scriptStateFromPage):
        * bindings/v8/ScriptState.h:
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/V8IsolatedContext.cpp:
        * bindings/v8/V8IsolatedContext.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::getScriptExecutionContext):
        (WebCore::reportException):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::V8NodeIterator::nextNodeCallback):
        (WebCore::V8NodeIterator::previousNodeCallback):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::V8TreeWalker::parentNodeCallback):
        (WebCore::V8TreeWalker::firstChildCallback):
        (WebCore::V8TreeWalker::lastChildCallback):
        (WebCore::V8TreeWalker::nextNodeCallback):
        (WebCore::V8TreeWalker::previousNodeCallback):
        (WebCore::V8TreeWalker::nextSiblingCallback):
        (WebCore::V8TreeWalker::previousSiblingCallback):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::injectedScriptForNodeId):

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

        Reviewed by David Levin.

        Remove XSSAuditor false positive for Google Translate
        https://bugs.webkit.org/show_bug.cgi?id=34242

        Google translate takes a base URL as a parameter, causing a false
        positive in the XSS filter.  This patch removes the false positive by
        allowing direct injections into the href property of the base tag.

        Test: http/tests/security/xssAuditor/base-href-direct.html

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canSetBaseElementURL):

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

        Reviewed by Dirk Schulze.

        Save additional memory in SVG*Element classes, by introducing SVGElementRareData
        https://bugs.webkit.org/show_bug.cgi?id=34268

        Introduce SVGElementRareData, to remove the need to store any members in SVGElement/SVGStyledElement.
        This saves some additional MB for the svg-node-count-vs-scroll.xhtml testcase.

        SVGElementRareData works just like NodeRareData. Unlike ElementRareData, we're not inheriting from
        NodeRareData in SVG, as we don't need all the rare data stored there, unlike Element.

        * GNUmakefile.am: Add SVGElementRareData.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/Node.cpp: Use Nodes bitfield to keep track wheter a SVGElement has a SVGElementRareData object associated.
        (WebCore::Node::Node):
        * dom/Node.h: Add m_hasRareSVGData flag, merged with the existing bitfield, 10 bits remaining now.
        (WebCore::Node::hasRareSVGData):
        * svg/SVGAnimateMotionElement.cpp: SVGElement::instancesForElement() now returns a const-reference to the HashMap instead of copying.
        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
        * svg/SVGAnimateTransformElement.cpp: Ditto.
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
        * svg/SVGAnimationElement.cpp: Ditto.
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
        * svg/SVGElement.cpp: Move the element instances HashSet and two cursor-related pointers into SVGElementRareData.
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::~SVGElement):
        (WebCore::SVGElement::rareSVGData): Modelled just like Node::rareData().
        (WebCore::SVGElement::ensureRareSVGData): Dito.
        (WebCore::SVGElement::accessDocumentSVGExtensions):
        (WebCore::SVGElement::mapInstanceToElement): Route call through SVGElementRareData.
        (WebCore::SVGElement::removeInstanceMapping): Ditto.
        (WebCore::SVGElement::instancesForElement): Ditto.
        (WebCore::SVGElement::setCursorElement): Ditto.
        (WebCore::SVGElement::setCursorImageValue): Ditto.
        * svg/SVGElement.h:
        * svg/SVGElementInstance.cpp: Ditto.
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
        * svg/SVGElementRareData.h: Added. Based on NodeRareData - works exactly the same.
        (WebCore::SVGElementRareData::SVGElementRareData):
        (WebCore::SVGElementRareData::rareDataMap):
        (WebCore::SVGElementRareData::rareDataFromMap):
        (WebCore::SVGElementRareData::elementInstances):
        (WebCore::SVGElementRareData::instanceUpdatesBlocked):
        (WebCore::SVGElementRareData::setInstanceUpdatesBlocked):
        (WebCore::SVGElementRareData::cursorElement):
        (WebCore::SVGElementRareData::setCursorElement):
        (WebCore::SVGElementRareData::cursorImageValue):
        (WebCore::SVGElementRareData::setCursorImageValue):
        * svg/SVGStyledElement.cpp: Move m_instancesUpdatesBlocked into SVGElementRareData.
        (WebCore::SVGStyledElement::SVGStyledElement):
        (WebCore::SVGStyledElement::instanceUpdatesBlocked):
        (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
        * svg/SVGStyledElement.h:
        * svg/SVGUseElement.cpp: Adapt to element instances changes, now passed as const-reference.
        (WebCore::dumpInstanceTree):

2010-01-28  Aaron Boodman  <aa@chromium.org>

        Reviewed by Darin Adler.

        Expand the NotificationPresenter::checkPermission() interface to send the full
        URL of the requesting context, as well as a pointer to the document if that
        context was a document.

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

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::NotificationCenter):
        (WebCore::NotificationCenter::checkPermission):
        Pass the full URL and document from the requesting context when calling
        NotificationPresenter::checkPermission().
        
        * notifications/NotificationPresenter.h:
        (WebCore::NotificationPresenter::):
        Expand interface.

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

        Reviewed by Dan Bernstein.

        Video can overlap position:fixed element when scrolling
        https://bugs.webkit.org/show_bug.cgi?id=32180
        
        When the scroll position changes, and we're using overlap to decide what gets composited,
        then we need to re-evaluate what gets compositing when scrolling in case fixed postion elements
        overlap composited elements (e.g. video).

        Test: compositing/geometry/video-fixed-scrolling.html

        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
        (WebCore::FrameView::scrollPositionChanged): Annotate the calls to updateCompositingLayers()
        with the type of change that occurred.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): Ditto.
        
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateCompositingLayers): For scroll changes, check
        for hierarchy update if m_compositingConsultsOverlap is true, and do
        a geometry update. For other changes, always check for hierarchy updates.

2010-01-27  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        Fix for user stylesheet bugs where they get parsed using the wrong compatibility mode.  This was a regression
        caused from Safari 3 -> 4 by the Acid3 fixes to create a real DOCTYPE in the DOM.

        This patch makes style selector creation lazy, so that the selector isn't built unless someone asks for it.

        In order to avoid creating the style selector before the compatibility mode has been determined, document
        style is now created without having a dependence on an instantiated style selector.  The creation of the style
        is now done as a static method on CSSStyleSelector called styleForDocument, and a couple of font-related
        functions have been made static as well so that they can be used by this method.

        m_styleSelector on Document is now an OwnPtr.

        Added userscripts/mixed-case-stylesheet.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
        (WebCore::CSSStyleSelector::setFontSize):
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        (WebCore::CSSStyleSelector::fontSizeForKeyword):
        * css/CSSStyleSelector.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::recalcStyle):
        (WebCore::Document::createStyleSelector):
        (WebCore::Document::attach):
        (WebCore::Document::setVisuallyOrdered):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        (WebCore::Document::styleSelector):
        (WebCore::Document::visuallyOrdered):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::determineParseMode):
        * loader/PlaceholderDocument.cpp:
        (WebCore::PlaceholderDocument::attach):

2010-01-28  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Rename ISODateTime.{cpp,h} to DateComponents.{cpp,h}
        https://bugs.webkit.org/show_bug.cgi?id=34245

        No functional changes.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/DateComponents.cpp: Copied from WebCore/html/ISODateTime.cpp.
        (WebCore::DateComponents::maxWeekNumberInYear):
        (WebCore::DateComponents::parseYear):
        (WebCore::DateComponents::addDay):
        (WebCore::DateComponents::addMinute):
        (WebCore::DateComponents::parseTimeZone):
        (WebCore::DateComponents::parseMonth):
        (WebCore::DateComponents::parseDate):
        (WebCore::DateComponents::parseWeek):
        (WebCore::DateComponents::parseTime):
        (WebCore::DateComponents::parseDateTimeLocal):
        (WebCore::DateComponents::parseDateTime):
        (WebCore::DateComponents::setMillisecondsSinceMidnightInternal):
        (WebCore::DateComponents::setMillisecondsSinceEpochForDateInternal):
        (WebCore::DateComponents::setMillisecondsSinceEpochForDate):
        (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime):
        (WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal):
        (WebCore::DateComponents::setMillisecondsSinceEpochForMonth):
        (WebCore::DateComponents::setMillisecondsSinceMidnight):
        (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
        (WebCore::DateComponents::millisecondsSinceEpochForTime):
        (WebCore::DateComponents::millisecondsSinceEpoch):
        (WebCore::DateComponents::toStringForTime):
        (WebCore::DateComponents::toString):
        * html/DateComponents.h: Copied from WebCore/html/ISODateTime.h.
        (WebCore::DateComponents::DateComponents):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseToDouble):
        (WebCore::HTMLInputElement::valueAsDate):
        (WebCore::HTMLInputElement::setValueAsDate):
        (WebCore::HTMLInputElement::setValueAsNumber):
        (WebCore::HTMLInputElement::formStringToDateComponents):
        * html/HTMLInputElement.h:
        * html/ISODateTime.cpp: Removed.
        * html/ISODateTime.h: Removed.
        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):

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

        Reviewed by Pavel Feldman.

        Use platform-specific monospace fonts in the Web Inspector

        Move the OS version detection code into the frontend,
        add custom CSS monospace styles for known platforms.
        https://bugs.webkit.org/show_bug.cgi?id=34040

        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::platform):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView):
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
        (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._createConditionElement):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.URLRegExp.i.get platform):
        (WebInspector._detectPlatform):

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

        Reviewed by Timothy Hatcher.

        Simplify views logic in Profiler panel, and fix the problem described in the issue.
        Remove image from Welcome view.
        Preserve border on status bar-like buttons in Welcome view on window deactivation.

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

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.show):
        (WebInspector.ProfilesPanel.prototype.reset):
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.showView):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        * inspector/front-end/WelcomeView.js:
        (WebInspector.WelcomeView):
        * inspector/front-end/inspector.css:

2010-01-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Eric Seidel.

        [Qt] Speed up KURL to QUrl conversion
        https://bugs.webkit.org/show_bug.cgi?id=33873

        The WebCore::String::utf8 method will use the generic WebCore::TextCodec
        and then call the encode method on it. In QtWebKit this class is implemented
        around the QTextCodec class. Instead of going the generic codec way we treat
        the WebCore::String as a QString (no copying) and then use the built-in
        QString::toUtf8 to do the conversion.

        * platform/qt/KURLQt.cpp:
        (WebCore::KURL::operator QUrl):

2010-01-28  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        [Android] [Qt] Touch event page co-ordinates are incorrect when touch is received in an iframe.
        https://bugs.webkit.org/show_bug.cgi?id=34162

        The pageX/pageY co-ordinates of a touch event should be relative to the containing frame, not the main frame. This change implements that and also updates the existing touch-inside-iframe test to also examine the page co-ordinates.

        * dom/Touch.cpp:
        (WebCore::Touch::Touch): Remove dead code.
        * dom/Touch.h: Remove dead code.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent): Rename framePoint to pagePoint, as it seems a clearer name. Also adjust the pagePoint to be relative to the touch target element's containing frame rather than the main frame.
        * platform/PlatformTouchEvent.h: Rename Android specific constructor parameter to better reflect it's contents.
        * platform/PlatformTouchPoint.h: Ditto.
        * platform/android/PlatformTouchEventAndroid.cpp: Ditto.
        * platform/android/PlatformTouchPointAndroid.cpp: Ditto.

2010-01-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Simplify isActivation method.

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

        Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::isActivation):

2010-01-27  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        rangeOverflow/rangeUnderflow support for type=date
        https://bugs.webkit.org/show_bug.cgi?id=34209

        Add DATE type support to rangeUnderflow(), rangeOverflow(),
        minimum(), and maximum() of HTMLInputElement.
        In order to unify parsing code for value, min, and max strings,
        introduce parseToDouble() function and it is called by
        valueAsDate() and valueAsNumber() too.

        Tests: fast/forms/ValidityState-rangeOverflow-date.html
               fast/forms/ValidityState-rangeUnderflow-date.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::rangeUnderflow): Support DATE type, and use parseToDouble().
        (WebCore::HTMLInputElement::rangeOverflow): ditto.
        (WebCore::HTMLInputElement::minimum): ditto.
        (WebCore::HTMLInputElement::maximum): ditto.
        (WebCore::HTMLInputElement::doubleValueFor): Added.
        (WebCore::HTMLInputElement::valueAsDate): Use parseToDouble().
        (WebCore::HTMLInputElement::valueAsNumber): Use parseToDouble().
        * html/HTMLInputElement.h: Declare parseToDouble().

2010-01-27  Darin Fisher  <darin@chromium.org>

        Fix chromium build bustage (take 2).

        * bindings/scripts/CodeGeneratorV8.pm: Really treat V8CustomGetter like CustomGetter in all cases.

2010-01-27  Darin Fisher  <darin@chromium.org>

        Fix chromium build bustage.

        * bindings/scripts/CodeGeneratorV8.pm: Treat V8CustomGetter like CustomGetter in all cases.

2010-01-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        MessageEvent.data should deserialize in the context of the MessageEvent's global object
        https://bugs.webkit.org/show_bug.cgi?id=34227

        Make ScriptValue deserialisation support the provision of a specific global
        object to use when creating new objects.  This then allows us to make
        MessageEvent.data and PopStateEvent.state deserialize in the correct
        context.

        Test: fast/dom/Window/window-postmessage-clone-frames.html

        * bindings/js/JSPopStateEventCustom.cpp:
          Remove custom implementation of state getter
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
        (WebCore::DeserializingTreeWalker::createOutputArray):
        (WebCore::DeserializingTreeWalker::createOutputObject):
        (WebCore::DeserializingTreeWalker::convertIfTerminal):
        (WebCore::SerializedScriptValueData::deserialize):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/js/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/scripts/CodeGeneratorJS.pm:
          Update bindings generation to pass the correct global object, and to
          treat "any" as synonymous with SerializedValue.
        * dom/PopStateEvent.idl:

2010-01-27  Nicholas Young  <nicholas.young@nokia.com>

        Reviewed by Eric Carlson.

        Make media controls fade in/out transition duration configurable on a theme level.
        https://bugs.webkit.org/show_bug.cgi?id=34196

        No new tests needed (I hope).

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia): Removed constant from contructor - the initial value is meaningless.
        (WebCore::RenderMedia::updateControlVisibility): Get fade in/out duration from theme.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::mediaControlsFadeInDuration): New virtual method.
        (WebCore::RenderTheme::mediaControlsFadeOutDuration): New virtual method.

2010-01-27  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Dimitri Glazkov.

        Tests that when a page removes an iframe that sleeps in its unload handler and
        terminates its JS execution, the outer page's JS continues running.
        
        https://bugs.webkit.org/show_bug.cgi?id=34226

        Tests: fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html
               fast/dom/Window/slow-unload-handler.html

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

2010-01-27  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Add valueAsNumber support for type=datetime-local.
        https://bugs.webkit.org/show_bug.cgi?id=34200

        Implement necessary methods of ISODateTime, and call them from
        HTMLInputElement.

        Test: fast/forms/input-valueasnumber-datetimelocal.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueAsNumber):
        (WebCore::HTMLInputElement::setValueAsNumber):
        * html/ISODateTime.cpp:
        (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTimeLocal):
          Implemented.  Just call setMillisecondsSinceEpochForDateTime().
        (WebCore::ISODateTime::millisecondsSinceEpochForTime):
          Accept to be called for m_type=DateTimeLocal.
        (WebCore::ISODateTime::toString): Add DateTimeLocal support.
        * html/ISODateTime.h: Declare new methods.

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

        Windows Debug_All build fix.

        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayerRenderer.cpp:

2010-01-27  Evan Martin  <evan@chromium.org>

        Reviewed by David Levin.

        [chromium] complex text draws newlines as bells
        https://bugs.webkit.org/show_bug.cgi?id=34186

        Revert r45496 -- once we've got a glyph array, it is too late to normalize
        because we could have had multiple codepoints combine into one glyph.  The
        Uniscribe code it mentions it's duplicating uses the log cluster map to fix
        this.

        Instead, we just normalize the input text if it contains any non-ascii-space
        whitespace.

        This fixes fast/text/international/hindi-whitespace, which currently has an
        incorrect baseline containing a square box glyph.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::getTextRun):
        (WebCore::TextRunWalker::getNormalizedTextRun):
        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::stringToGlyphs):

2010-01-27  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34150
        WebKit needs a mechanism to catch stale HashMap entries

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::getIDRules):
        (WebCore::CSSRuleSet::getClassRules):
        (WebCore::CSSRuleSet::getTagRules):
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
        * dom/CheckedRadioButtons.cpp:
        (WebCore::CheckedRadioButtons::checkedButtonForGroup):
        (WebCore::CheckedRadioButtons::removeButton):
        * editing/markup.cpp:
        (WebCore::shouldAddNamespaceAttr):
        (WebCore::appendNamespace):
        (WebCore::appendStartMarkup):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::nextNamedItem):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::collectionInfo):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::nonCacheRequestInFlight):
        (WebCore::Loader::nonCacheRequestComplete):
        (WebCore::Loader::cancelRequests):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::clearRenderer):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        (WebCore::CompositeAnimation::getAnimatedStyle):
        (WebCore::CompositeAnimation::setAnimating):
        (WebCore::CompositeAnimation::timeToNextService):
        (WebCore::CompositeAnimation::getAnimationForProperty):
        (WebCore::CompositeAnimation::suspendAnimations):
        (WebCore::CompositeAnimation::resumeAnimations):
        (WebCore::CompositeAnimation::isAnimatingProperty):
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        (WebCore::CompositeAnimation::numberOfActiveAnimations):
        Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys.

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): Clear m_elementsById map, because removeAllChildren()
        doesn't always update it correctly when called during docuemnt destruction.
        (WebCore::Document::getElementById): Added checkConsistency().
        (WebCore::Document::removeElementById): Ditto.
        (WebCore::Document::removeImageMap): Ditto.
        (WebCore::Document::getImageMap): Ditto.
        (WebCore::Document::nameCollectionInfo): Ditto.
        * dom/Document.h:
        (WebCore::Document::collectionInfo): Ditto.

        * html/CollectionCache.cpp:
        (WebCore::CollectionCache::checkConsistency):
        * html/CollectionCache.h:
        Added a checkConsistency() method that checks both HashMaps in the cache.

        * platform/TreeShared.h:
        (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be
        destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check.
        (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative.

2010-01-27  Brian Tarricone  <brian@kakai.com>

        Reviewed by Gustavo Noronha Silva.

        [gtk] Add support for windowless NPAPI plugins

        Much of this is a translation of how the Qt backend does this,
        modified for Gtk.

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

        No new tests; there is already a windowless test in the tree.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::handleEvent):
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::getRootWindow):
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::inputEventState):
        (WebCore::PluginView::initXEvent):
        (WebCore::setXButtonEventSpecificFields):
        (WebCore::setXMotionEventSpecificFields):
        (WebCore::setXCrossingEventSpecificFields):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::handleFocusInEvent):
        (WebCore::PluginView::handleFocusOutEvent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::getValueStatic):
        (WebCore::PluginView::invalidateRect):
        (WebCore::getPluginDisplay):
        (WebCore::plug_removed_cb):
        (WebCore::getVisualAndColormap):
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::platformDestroy):

2010-01-27  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        [v8] minor cosmetic fix in V8 bindings codegenerator
        https://bugs.webkit.org/show_bug.cgi?id=34224

        * bindings/scripts/CodeGeneratorV8.pm:

2010-01-27  Darin Fisher  <darin@chromium.org>

        Fix Chromium build bustage.

        * rendering/RenderBoxModelObject.cpp: Add wtf/CurrentTime.h include.

2010-01-26  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson and David Levin.

        Chains of history items representing same-document navigation need to
        always remember that association

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

        Replace HistoryItem's Document pointer with a DocumentSequenceNumber.
        During session history traversal, if the current HistoryItem and the
        target HistoryItem have the same DocumentSequenceNumber, then it means
        that the current Document should remain.

        NOTE: To support Chromium's serialization of HistoryItems, I generate
        DocumentSequenceNumbers that are unique across application launches.
        DocumentSequenceNumbers are generated using a counter initialized with
        the time of day.

        Test: fast/loader/stateobjects/document-destroyed-navigate-back.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        * dom/Document.h:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::pushStateItem):
        * history/BackForwardListChromium.cpp:
        (WebCore::BackForwardList::pushStateItem):
        * history/HistoryItem.cpp:
        (WebCore::generateDocumentSequenceNumber):
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::~HistoryItem):
        (WebCore::HistoryItem::setStateObject):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::setDocumentSequenceNumber):
        (WebCore::HistoryItem::documentSequenceNumber):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::navigateWithinDocument):
        (WebCore::FrameLoader::loadItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
        (WebCore::HistoryController::pushState):
        (WebCore::HistoryController::replaceState):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
        * page/History.cpp:
        (WebCore::History::stateObjectAdded):
        * page/Page.cpp:
        (WebCore::Page::goToItem):

2010-01-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Simon Fraser.

        Animated scaling of background-image is too slow
        https://bugs.webkit.org/show_bug.cgi?id=33808

        Implement a version of the RenderImage animated scaling optimisation
        for background images.  Due to the possibility of arbitrary transforms
        being applied to containing elements we explicitly check the current
        CTM of the context for scaling or rotation.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::TransformationMatrix::isIdentityOrTranslation):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
        (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
        (WebCore::RenderBoxModelScaleData::size):
        (WebCore::RenderBoxModelScaleData::time):
        (WebCore::RenderBoxModelScaleData::useLowQualityScale):
        (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
        (WebCore::RenderBoxModelScaleData::setSize):
        (WebCore::RenderBoxModelScaleData::setTime):
        (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
        (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
        (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
        (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
        (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderBoxModelObject.h:

2010-01-27  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable websockets support in QtWebKit
        https://bugs.webkit.org/show_bug.cgi?id=34180

        Connected between SocketStreamHandle and QTcpSocket/QSslSocket
        to enable support for websockets.
        Proxy authentication is not yet supported.
        SSL certificate errors are ignored while this is under development.

        * WebCore.pro:
        * platform/network/qt/SocketStreamHandle.h:
        * platform/network/qt/SocketStreamHandlePrivate.h: Added.
        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::socketConnected):
        (WebCore::SocketStreamHandlePrivate::socketReadyRead):
        (WebCore::SocketStreamHandlePrivate::send):
        (WebCore::SocketStreamHandlePrivate::close):
        (WebCore::SocketStreamHandlePrivate::socketSentdata):
        (WebCore::SocketStreamHandlePrivate::socketClosed):
        (WebCore::SocketStreamHandlePrivate::socketError):
        (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
        (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
        (WebCore::SocketStreamHandlePrivate::socketSslErrors):
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::~SocketStreamHandle):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):

2010-01-27  Mads Ager  <ager@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Support getting integer-named properties using indexing notation on document object
        https://bugs.webkit.org/show_bug.cgi?id=34211

        Add indexed property getter to HTMLDocument to support getting
        elements with integer names using indexing notation on document.

        Test: fast/dom/HTMLDocument/get-iframe-with-integer-name.html

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::indexedPropertyGetter):

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

        Reviewed by Oliver Hunt.

        Instead of relying on Object.prototype.toString result use JSObject::isActivationObject
        to check if a scope node is a JSActivation. Object.prototype.toString for JSActivation
        will call JSActivation::toThisObject whose result depends on the current call stack.

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

        Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::isActivation):
        * inspector/InjectedScriptHost.idl:
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):
        * manual-tests/inspector/debugger-scopes-inspection.html: Added.

2010-01-27 Anton Muhin <antonm@google.com>
        Review by Adam Barth.

        Implement Node map in intrusive way for better speed.
        https://bugs.webkit.org/show_bug.cgi?id=33957

        * bindings/v8/DOMData.h:
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::get):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::set):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::contains):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::allocateTableEntry):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::freeTableEntry):
        * bindings/v8/DOMDataStore.h:
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntry):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntries):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visitEntries):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::TableChunk::TableChunk):
        (WebCore::DOMDataStore::domNodeMap):
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h:
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getDOMNodeMap):
        * bindings/v8/V8DOMMap.h:
        (WebCore::AbstractWeakReferenceMap::AbstractWeakReferenceMap):
        (WebCore::AbstractWeakReferenceMap::weakReferenceCallback):
        (WebCore::WeakReferenceMap::WeakReferenceMap):
        (WebCore::WeakReferenceMap::set):
        (WebCore::WeakReferenceMap::visit):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
        (WebCore::getWrapper):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
        * bindings/v8/V8DOMWrapper.h:

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

        Reviewed by Eric Seidel.

        Add key event mappings for numpad keys for Gtk and Chromium/Gtk.
        http://bugs.webkit.org/show_bug.cgi?id=28247

        Test: fast/events/keydown-numpad-keys.html

        * platform/chromium/KeyCodeConversionGtk.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: migrate from SourceFrame to SourceFrame2.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorBackendStub.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._innerSelectContentTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.getResourceContent):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.set executionLine):
        (WebInspector.SourceFrame.prototype.revealLine):
        (WebInspector.SourceFrame.prototype.addBreakpoint):
        (WebInspector.SourceFrame.prototype.removeBreakpoint):
        (WebInspector.SourceFrame.prototype.addMessage):
        (WebInspector.SourceFrame.prototype.clearMessages):
        (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
        (WebInspector.SourceFrame.prototype.setContent):
        (WebInspector.SourceFrame.prototype.findSearchMatches):
        (WebInspector.SourceFrame.prototype._collectRegexMatches):
        (WebInspector.SourceFrame.prototype.setSelection):
        (WebInspector.SourceFrame.prototype._incrementMessageRepeatCount):
        (WebInspector.SourceFrame.prototype._addExistingMessagesToSource):
        (WebInspector.SourceFrame.prototype._addMessageToSource):
        (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
        (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
        (WebInspector.SourceFrame.prototype._contextMenu):
        (WebInspector.SourceFrame.prototype._toggleBreakpoint):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
        (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
        (WebInspector.SourceFrame.prototype._createConditionElement):
        (WebInspector.SourceFrame.prototype._keyDown):
        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
        (WebInspector.SourceFrame.prototype._breakpointChanged):
        (WebInspector.SourceFrame.prototype.resize):
        (WebInspector.BreakpointLineNumberDecorator):
        (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
        (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
        (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
        (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
        (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu):
        (WebInspector.ExecutionLineDecorator):
        (WebInspector.ExecutionLineDecorator.prototype.decorate):
        * inspector/front-end/SourceFrame2.js: Removed.
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.resize):
        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
        (WebInspector.SourceView.prototype._contentLoaded):
        (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
        (WebInspector.SourceView.prototype.performSearch):
        (WebInspector.SourceView.prototype._jumpToSearchResult):
        (WebInspector.SourceView.prototype._sourceFrameSetupFinished):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor.prototype._mouseDown):
        (WebInspector.TextEditor.prototype._copy.delayCopy):
        (WebInspector.TextEditor.prototype._copy):
        (WebInspector.TextEditor.prototype._cut):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-01-27  Dominik Röttsches  <dominik.roettsches@access-company.com>

        Reviewed by Xan Lopez.

        [Gtk] For removing ICU, implement IDN support by means of libidn
        https://bugs.webkit.org/show_bug.cgi?id=31470

        In order to avoid a new dependency, 
        IDN support now based on GLib for the GLib unicode backend.

        * platform/KURL.cpp:
        (WebCore::appendEncodedHostname):

2010-01-27  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] For package builds use the .def files on Symbian

        * WebCore.pro:

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

        Reviewed by Timothy Hatcher.

        Avoid watch expressions duplication
        https://bugs.webkit.org/show_bug.cgi?id=33996

        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):

2010-01-27  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Dimitri Glazkov.

        Adds EventSource bindings for V8
        https://bugs.webkit.org/show_bug.cgi?id=33695

        No new tests (existing layout tests for EventSource should pass).

        * Android.v8bindings.mk:
        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8EventSourceConstructor.cpp: Added.
        * bindings/v8/custom/V8EventSourceCustom.cpp: Added.

2010-01-27  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Meta-methods can't be introspected using ES5 API
        https://bugs.webkit.org/show_bug.cgi?id=34087

        Add getOwnPropertyDescriptor() and getOwnPropertyNames() reimplementations.

        Tests are in WebKit/qt/tests/qwebframe

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
        * bridge/qt/qt_runtime.h:

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

        Reviewed by Eric Seidel.

        Fix a crash when trying to indent a block element that was contained
        in a list.  This was happening because enclosingBlock() in
        htmlediting.cpp can return the current the same Node when a block
        element (like an <hr> or a <table>) is passed in.  This causes
        the indent command to think that it is not in a list item.

        Work around this by checking to see if enclosingBlock returned the
        same Node.

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

        Test: editing/execCommand/indent-block-in-list.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::tryIndentingAsListItem):

2010-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Add the "d" suffix to QtWebKit's dll on Windows.

        * WebCore.pro:

2010-01-27  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Eric Seidel.

        Fix a bug where dispatchDocumentElementAvailable was fired for fragment parsing on XML documents.
        https://bugs.webkit.org/show_bug.cgi?id=33920

        Tests: userscripts/script-not-run-for-fragments.html
               userscripts/script-run-at-start.html

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::startElementNs):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Improve SourceHTMLTokenizer so that it treats script tag well.

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

        * inspector/front-end/SourceHTMLTokenizer.js:
        (WebInspector.SourceHTMLTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype._isAttribute):
        (WebInspector.SourceHTMLTokenizer.prototype._isAttributeValue):
        (WebInspector.SourceHTMLTokenizer.prototype._setAttributeValue):
        (WebInspector.SourceHTMLTokenizer.prototype._setAttribute):
        (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: nuke quarantine wrappers.

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

        * Android.jscbindings.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSInspectedObjectWrapper.cpp: Removed.
        * bindings/js/JSInspectedObjectWrapper.h: Removed.
        * bindings/js/JSInspectorCallbackWrapper.cpp: Removed.
        * bindings/js/JSInspectorCallbackWrapper.h: Removed.
        * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed.
        * bindings/js/JSQuarantinedObjectWrapper.h: Removed.

2010-01-27  Alexey Proskuryakov  <ap@apple.com>

        Revert r53899 (HashMap<AtomicStringImpl*, Value> key checks) and subsequent build fixes,
        because they make SVG tests crash in release builds.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::getIDRules):
        (WebCore::CSSRuleSet::getClassRules):
        (WebCore::CSSRuleSet::getTagRules):
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
        * dom/CheckedRadioButtons.cpp:
        (WebCore::CheckedRadioButtons::checkedButtonForGroup):
        (WebCore::CheckedRadioButtons::removeButton):
        * dom/ContainerNodeAlgorithms.h:
        (WebCore::removeAllChildrenInContainer):
        * dom/Document.cpp:
        (WebCore::Document::getElementById):
        (WebCore::Document::removeElementById):
        (WebCore::Document::removeImageMap):
        (WebCore::Document::getImageMap):
        (WebCore::Document::nameCollectionInfo):
        * dom/Document.h:
        (WebCore::Document::collectionInfo):
        * editing/markup.cpp:
        (WebCore::shouldAddNamespaceAttr):
        (WebCore::appendNamespace):
        (WebCore::appendStartMarkup):
        * html/CollectionCache.cpp:
        * html/CollectionCache.h:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::nextNamedItem):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::collectionInfo):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::nonCacheRequestInFlight):
        (WebCore::Loader::nonCacheRequestComplete):
        (WebCore::Loader::cancelRequests):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::clearRenderer):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        (WebCore::CompositeAnimation::getAnimatedStyle):
        (WebCore::CompositeAnimation::setAnimating):
        (WebCore::CompositeAnimation::timeToNextService):
        (WebCore::CompositeAnimation::getAnimationForProperty):
        (WebCore::CompositeAnimation::suspendAnimations):
        (WebCore::CompositeAnimation::resumeAnimations):
        (WebCore::CompositeAnimation::isAnimatingProperty):
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        (WebCore::CompositeAnimation::numberOfActiveAnimations):
        * platform/TreeShared.h:
        (WebCore::TreeShared::~TreeShared):
        (WebCore::TreeShared::deref):

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

        Reviewed by Eric Seidel.

        autobuffer value not forwarded media element to MediaPlayer
        https://bugs.webkit.org/show_bug.cgi?id=33889

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadResource): Forward autobuffer
        value to MediaPlayer instance.
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load): Forward autobuffer and
        preservesPitch values to newly created platform media player instance.

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

        Reviewed by Eric Seidel.

        [Gtk] media/video-reverse-play-duration.html fails on and off on Gtk buildbots
        https://bugs.webkit.org/show_bug.cgi?id=34086

        Cache media duration and fix didEnd() in case of reverse
        playback. When EOS was reached but in case of reverse playback the
        position is not always 0. So to not confuse the HTMLMediaElement
        we synchronize position and duration values.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::duration):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::didEnd):
        (WebCore::MediaPlayerPrivate::durationChanged):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2010-01-27  Alexey Proskuryakov  <ap@apple.com>

        * WebCore.xcodeproj/project.pbxproj: Actually land the change to add ContainerNodeAlgorithms.h
        (it's "svn resolved", not "svn revert"!).

2010-01-26  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34150
        WebKit needs a mechanism to catch stale HashMap entries

        * WebCore.xcodeproj/project.pbxproj: Added ContainerNodeAlgorithms.h to the project to make
        it easier to search for.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::getIDRules):
        (WebCore::CSSRuleSet::getClassRules):
        (WebCore::CSSRuleSet::getTagRules):
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
        * dom/CheckedRadioButtons.cpp:
        (WebCore::CheckedRadioButtons::checkedButtonForGroup):
        (WebCore::CheckedRadioButtons::removeButton):
        * dom/Document.cpp:
        (WebCore::Document::getElementById):
        (WebCore::Document::removeElementById):
        (WebCore::Document::removeImageMap):
        (WebCore::Document::getImageMap):
        (WebCore::Document::nameCollectionInfo):
        * dom/Document.h:
        (WebCore::Document::collectionInfo):
        * editing/markup.cpp:
        (WebCore::shouldAddNamespaceAttr):
        (WebCore::appendNamespace):
        (WebCore::appendStartMarkup):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::namedItems):
        (WebCore::HTMLCollection::nextNamedItem):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::collectionInfo):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::nonCacheRequestInFlight):
        (WebCore::Loader::nonCacheRequestComplete):
        (WebCore::Loader::cancelRequests):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::clearRenderer):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        (WebCore::CompositeAnimation::getAnimatedStyle):
        (WebCore::CompositeAnimation::setAnimating):
        (WebCore::CompositeAnimation::timeToNextService):
        (WebCore::CompositeAnimation::getAnimationForProperty):
        (WebCore::CompositeAnimation::suspendAnimations):
        (WebCore::CompositeAnimation::resumeAnimations):
        (WebCore::CompositeAnimation::isAnimatingProperty):
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        (WebCore::CompositeAnimation::numberOfActiveAnimations):
        Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys.

        * dom/ContainerNodeAlgorithms.h: (WebCore::removeAllChildrenInContainer): Be sure to notify
        about removed child nodes that can be deleted immediately.

        * html/CollectionCache.cpp:
        (WebCore::CollectionCache::checkConsistency):
        * html/CollectionCache.h:
        Added a checkConsistency() method that checks both HashMaps in the cache.

        * platform/TreeShared.h:
        (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be
        destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check.
        (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative.

2010-01-26  Daniel Bates  <dbates@webkit.org>

        Reviewed by Tor Arne Vestbø.

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

        [Qt] Fixes an issue where the height of <button>- and
        <input type="button">- elements are fixed to the height of the
        button label font plus padding. That is, the CSS height property
        is being ignored.

        Instead, we should honor the user-specified height, if appropriate
        for the platform and context. Notice, the Mac ports do not honor the
        height for <input type="button"> elements unless a border and/or
        background is also specified.

        Test: fast/css/button-height.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustButtonStyle):

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

        Reviewed by Timothy Hatcher.

        Enable the Audits panel via a shortcut (Cmd/Ctrl+Alt+A)
        https://bugs.webkit.org/show_bug.cgi?id=34158

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2010-01-26  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsNumber support except type=datetime-local.
        https://bugs.webkit.org/show_bug.cgi?id=32696

        Tests: fast/forms/input-valueasnumber-date.html
               fast/forms/input-valueasnumber-datetime.html
               fast/forms/input-valueasnumber-month.html
               fast/forms/input-valueasnumber-number.html
               fast/forms/input-valueasnumber-range.html
               fast/forms/input-valueasnumber-time.html
               fast/forms/input-valueasnumber-unsupported.html
               fast/forms/input-valueasnumber-week.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueAsNumber):
          According to the specification, we should return NaN for invalid values.
        (WebCore::HTMLInputElement::setValueAsNumber):
          According to the specification, throws NOT_SUPPORTED_ERR for Infinitiy or NaN,
          and throws INVALID_STATE_ERR for unsupported types.
        (WebCore::HTMLInputElement::formStringToDouble):
          According to the step 14 of Real Number in the specification, we
          should round -0 to 0.
        * html/HTMLInputElement.h: Declare valueAsNumber() and setValueAsNumber().
        * html/HTMLInputElement.idl: Add valueAsNumber.

2010-01-26  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt.

        Make sure there is a lock on serialize in SerializedScriptValueData, since type errors can be created when
        exceptions are thrown.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValueData::serialize):

2010-01-26  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Add Date type support for Objective-C binding.
        https://bugs.webkit.org/show_bug.cgi?id=32810

        The Date type in IDLs is mapped to NSTimeInterval in Objective-C.

        * bindings/objc/DOMInternal.h: Add kit() and core() for NSTimeInterval.
        * bindings/scripts/CodeGenerator.pm: Make Date a primitive type.
        * bindings/scripts/CodeGeneratorJS.pm: Move some code for the CodeGeenrator.pm change.
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm: Move some code for the CodeGeenrator.pm change.
        * html/HTMLInputElement.idl: Remove Objective-C exclusion for valueAsDate.

2010-01-26  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, attempt to fix Tiger build.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::write): Use UNUSED_PARAM macros to prevent compiler warning on targets without accelerated compositing.

2010-01-26  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Darin Adler.

        Incorrect boolean expression in isMailBlockquote() (WebCore/htmlediting.cpp)
        https://bugs.webkit.org/show_bug.cgi?id=34156

        No new tests (minor code change).

        * editing/htmlediting.cpp:
        (WebCore::isMailBlockquote):

2010-01-26  Peter Kasting  <pkasting@google.com>

        Reviewed by David Levin.

        Handle broken images more correctly in the open-source image decoders.
        https://bugs.webkit.org/show_bug.cgi?id=33747

        No tests since Safari doesn't use these decoders and there's already a
        broken-image test in the tree.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::createFrameAtIndex): No need to check isSizeAvailable() since size() is now always safe.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::size): Don't assert that the bitmap is valid; we don't need a complete successful decode to be able to give info about the size.
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames.
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames.

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

        Not reviewed. Synchronize Qt/Gtk build systems with Mac/Win, should fix Qt compilation. Gtk results still pending.

        * GNUmakefile.am:
        * WebCore.pro:

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

        Not reviewed. Attempt to fix V8 - change SetterMethod function signatures, just like it has been done for JSSVGPODTypeWrapper.

        * bindings/v8/V8SVGPODTypeWrapper.h:

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

        Not reviewed. Revert Base.xcconfig changes, was not meant to be committed.

        * Configurations/Base.xcconfig:

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

        Reviewed by Oliver Hunt.

        SVG consumes way too much memory to store animated properties in the DOM
        https://bugs.webkit.org/show_bug.cgi?id=34188

        Shrink WebCore library size to 75% (measured in debug builds) and reduce SVG memory usage to <25%.
        Adding Oliver testcase as manual-tests/svg-node-count-vs-scroll.xhtml, which creates an arbitary number of
        rects (50.000 <rect> elements added to the DOM by default) - memory usage down to 111M from 503M (RPRVT).
        The SVG DOM side is almost fine, still some optimizations possible, that will be implemented soon - next
        target is the SVG render tree, there are plenty of possibilities to reduce memory usage there.

        Redesign the way we store animated properties in the individual SVG*Element files. Short story: In order
        to support SVG DOM through the bindings (e.g. JS) we need to associate SVGAnimatedProperty objects with
        the SVGElement object that created it - we used to store this pointer directly in the SVGAnimatedProperty.
        This means, every SVGAnimatedProperty stored in a SVGRectElement, stored a pointer to the SVGRectElement, resulting
        in excessive memory usage. This is now properly implemented, without wasting tons of memory. Unfortunately this
        requires touching all SVG*Element files.

        Detailed list of changes:
        - Remove template bloat by not specializing class templates for each attributeName/tagName combination. Instead
          SVGAnimatedProperty is a non-specialized template class now, only depending on the AnimatedType (ie. SVGLength for SVGAnimatedLength)
          -> This heavily reduces the generated code, thus shrinking WebCore size. I hope we can build windows again without SVGAllInOne.cpp

        - Remove "exportStrings" / "exportString" handling from make_names.pl - SVG defined string literals for each QualifiedName,
          in order to use template specialization based on "const char*" parameters. All that bloat is gone, so there's no need for it anymore.

        - Redesign SVGAnimatedProperty so it does not need any back-pointers to the SVGElement that created it

        - Don't actually store the XML DOM attribute name associated with a SVG DOM property in SVGAnimatedProperty, move the associatedAttributeName()
          function inside the macro declaration and just return the passed macro parameter DOMAttribute there, storing is inefficient and useless.

        - Remove SynchronizablePropertyController, which was living in SVGElement as member variable, keeping a HashMap<AttributeName, SVGAnimatedProperty>.
          It was needed before to lookup a SVGAnimatedProperty for a XML DOM attribute, in order to synchronize SVG <-> XML dom properties/attributes.
          Instead just add a "synchronizeProperty(const QualifiedName&)" method to all SVG*Element classes. As each SVG*Element class knows about its
          animated properties it can just ask them to synchronize themselves - no need for any dynamic lookups anymore.

        - Remove SynchronizableTypeWrapper which added more complexity for the sake of SVG <-> XML DOM synchronization, all replaced by synchronizeProperty.

        - Pass around any POD objects as const references, instead of copying them for no reason.

        - Clean up SVGAnimatedProperty, splitting up into SVGAnimatedProperty/PropertySynchronizer/PropertyTraits.

        - Remove baseValue/setBaseValue code from SVGDocumentExtensions, not needed anymore.

        ... and tons of changes to all SVG*Element classes, adapting to the new way of handling animated properties.

        * GNUmakefile.am: Remove Synchronizable* from build, add new SVGAnimatedPropertySynchronizer/Traits files
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSSVGPODTypeWrapper.h: Change synchronization callback signatures, as we pass around const-references now.
        * dom/Element.cpp: Let updateAnimatedSVGAttribute take a QualifiedName instead of pure Strings.
        (WebCore::Element::getAttribute):
        (WebCore::Element::hasAttributes):
        * dom/Element.h:
        (WebCore::Element::updateAnimatedSVGAttribute):
        (WebCore::Element::attributes):
        * dom/make_names.pl: Remove SVG specific "exportString" / "exportStrings" functionality, see above.
        * html/HTMLAttributeNames.in: Remove "exportString" tag from "className" attribute.
        * manual-tests/svg-node-count-vs-scroll.xhtml: Added. Can be used to verify memory consumption with a lot of DOM objects.
        * mathml/mathattrs.in: MathML doesn't need "exportStrings" - remove it.
        * mathml/mathtags.in: Ditto.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::SVGAElement):
        (WebCore::SVGAElement::synchronizeProperty):
        * svg/SVGAElement.h:
        * svg/SVGAllInOne.cpp: Remove SynchronizablePropertyController.cpp
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
        (WebCore::SVGAltGlyphElement::synchronizeProperty):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
        * svg/SVGAnimatedProperty.h: Rewritten, see above for details.
        (WebCore::SVGAnimatedPropertyTearOff::create):
        (WebCore::SVGAnimatedPropertyTearOff::setBaseVal):
        (WebCore::SVGAnimatedPropertyTearOff::setAnimVal):
        (WebCore::SVGAnimatedPropertyTearOff::baseVal):
        (WebCore::SVGAnimatedPropertyTearOff::animVal):
        (WebCore::SVGAnimatedPropertyTearOff::associatedAttributeName):
        (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
        (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
        (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
        (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
        (WebCore::SVGAnimatedProperty::value):
        (WebCore::SVGAnimatedProperty::baseValue):
        (WebCore::SVGAnimatedProperty::setValue):
        (WebCore::SVGAnimatedProperty::setBaseValue):
        (WebCore::SVGAnimatedProperty::shouldSynchronize):
        (WebCore::SVGAnimatedProperty::setShouldSynchronize):
        * svg/SVGAnimatedPropertySynchronizer.h: Added.
        (WebCore::):
        * svg/SVGAnimatedPropertyTraits.h: Added.
        (WebCore::):
        * svg/SVGAnimatedTemplate.h: Move SVGAnimatedPropertyTraits into its own file.
        (WebCore::SVGAnimatedTemplate::forgetWrapper):
        (WebCore::lookupOrCreateWrapper):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::SVGAnimationElement):
        (WebCore::SVGAnimationElement::synchronizeProperty):
        * svg/SVGAnimationElement.h:
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        (WebCore::SVGCircleElement::synchronizeProperty):
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        (WebCore::SVGClipPathElement::synchronizeProperty):
        * svg/SVGClipPathElement.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
        (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        (WebCore::SVGCursorElement::synchronizeProperty):
        * svg/SVGCursorElement.h:
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::SVGDefsElement):
        (WebCore::SVGDefsElement::synchronizeProperty):
        * svg/SVGDefsElement.h:
        * svg/SVGDocumentExtensions.h:
        * svg/SVGElement.cpp: Adapt to synchronization changes: use synchronizeProperty() call, instead of SynchronizablePropertyController.
        (WebCore::SVGElement::updateAnimatedSVGAttribute):
        * svg/SVGElement.h: Don't store SynchronizablePropertyController anymore, it's gone.
        (WebCore::SVGElement::synchronizeProperty):
        (WebCore::SVGElement::setSynchronizedSVGAttributes):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        (WebCore::SVGEllipseElement::synchronizeProperty):
        * svg/SVGEllipseElement.h:
        * svg/SVGExternalResourcesRequired.cpp:
        * svg/SVGExternalResourcesRequired.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        (WebCore::SVGFEBlendElement::synchronizeProperty):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (WebCore::SVGFEColorMatrixElement::synchronizeProperty):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        (WebCore::SVGFEComponentTransferElement::synchronizeProperty):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        (WebCore::SVGFECompositeElement::parseMappedAttribute):
        (WebCore::SVGFECompositeElement::synchronizeProperty):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        (WebCore::SVGFEDisplacementMapElement::synchronizeProperty):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        (WebCore::SVGFEGaussianBlurElement::synchronizeProperty):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        (WebCore::SVGFEImageElement::synchronizeProperty):
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::SVGFELightElement):
        (WebCore::SVGFELightElement::synchronizeProperty):
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
        (WebCore::SVGFEMergeNodeElement::synchronizeProperty):
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
        (WebCore::SVGFEMorphologyElement::synchronizeProperty):
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
        (WebCore::SVGFEOffsetElement::synchronizeProperty):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        (WebCore::SVGFESpecularLightingElement::synchronizeProperty):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        (WebCore::SVGFETileElement::synchronizeProperty):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
        (WebCore::SVGFETurbulenceElement::synchronizeProperty):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        (WebCore::SVGFilterElement::synchronizeProperty):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFitToViewBox.cpp:
        * svg/SVGFitToViewBox.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::SVGFontElement):
        (WebCore::SVGFontElement::synchronizeProperty):
        * svg/SVGFontElement.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        (WebCore::SVGForeignObjectElement::synchronizeProperty):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::SVGGElement):
        (WebCore::SVGGElement::synchronizeProperty):
        * svg/SVGGElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        (WebCore::SVGGradientElement::synchronizeProperty):
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        (WebCore::SVGImageElement::synchronizeProperty):
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        (WebCore::SVGLineElement::synchronizeProperty):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        (WebCore::SVGLinearGradientElement::synchronizeProperty):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGList.h: Adapt to const-reference changes.
        (WebCore::SVGPODListItem::setValue):
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::SVGMPathElement):
        (WebCore::SVGMPathElement::synchronizeProperty):
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::synchronizeProperty):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::synchronizeProperty):
        * svg/SVGMaskElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::synchronizeProperty):
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::synchronizeProperty):
        * svg/SVGPatternElement.h:
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::SVGPolyElement):
        (WebCore::SVGPolyElement::svgAttributeChanged):
        (WebCore::SVGPolyElement::synchronizeProperty):
        * svg/SVGPolyElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::synchronizeProperty):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        (WebCore::SVGRectElement::synchronizeProperty):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::synchronizeProperty):
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        (WebCore::SVGScriptElement::synchronizeProperty):
        * svg/SVGScriptElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement):
        (WebCore::SVGStopElement::synchronizeProperty):
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::SVGStyledElement):
        (WebCore::SVGStyledElement::parseMappedAttribute):
        (WebCore::SVGStyledElement::synchronizeProperty):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
        (WebCore::SVGStyledTransformableElement::synchronizeProperty):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::SVGSwitchElement):
        (WebCore::SVGSwitchElement::synchronizeProperty):
        * svg/SVGSwitchElement.h:
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::SVGSymbolElement):
        (WebCore::SVGSymbolElement::synchronizeProperty):
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::SVGTRefElement):
        (WebCore::SVGTRefElement::synchronizeProperty):
        * svg/SVGTRefElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        (WebCore::SVGTextContentElement::synchronizeProperty):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        (WebCore::SVGTextElement::synchronizeProperty):
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        (WebCore::SVGTextPathElement::synchronizeProperty):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        (WebCore::SVGTextPositioningElement::synchronizeProperty):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGURIReference.cpp:
        * svg/SVGURIReference.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::synchronizeProperty):
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::SVGViewElement):
        (WebCore::SVGViewElement::synchronizeProperty):
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::SVGViewSpec):
        * svg/SVGViewSpec.h:
        (WebCore::SVGViewSpec::contextElement):
        * svg/SynchronizablePropertyController.cpp: Removed.
        * svg/SynchronizablePropertyController.h: Removed.
        * svg/SynchronizableTypeWrapper.h: Removed.
        * svg/svgattrs.in: Remove "exportStrings" tag.
        * svg/svgtags.in: Ditto.
        * svg/xlinkattrs.in:

2010-01-26  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/7169464> REGRESSION (r47444): PLT is 1% slower due to implementation of :valid and :invalid CSS selectors
        https://bugs.webkit.org/show_bug.cgi?id=34029

        If we never hit the valid or invalid selectors for a particular document, 
        then we'll skip the validity checks when deciding about style sharing.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        
        * dom/Document.cpp: (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::considerValidity):
        (WebCore::Document::setConsiderValidity):

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

        Reviewed by Simon Fraser.

        Revert 53797 as it seems to be causing crashes.
        https://bugs.webkit.org/show_bug.cgi?id=34153

        * page/FrameView.cpp:
        (WebCore::FrameView::useSlowRepaints):
        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        * platform/ScrollView.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):
        (WebCore::RenderObject::destroy):

2010-01-26  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Steve Falkenburg.

        DumpRenderTree silently crashes at the end of the run because geolocationControllerClient pointer is 0.
        https://bugs.webkit.org/show_bug.cgi?id=34191

        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::~GeolocationController): Add check for m_client being 0.
        (WebCore::GeolocationController::addObserver): Ditto.
        (WebCore::GeolocationController::removeObserver): Ditto.
        (WebCore::GeolocationController::lastPosition): Ditto.

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

        Reviewed by Adele Peterson.

        Enhance externalRepresentation() to make it more useful for layer debugging
        https://bugs.webkit.org/show_bug.cgi?id=34143

        Enhance externalRepresentation() to output additional information about layers when certain flags are passed.
        The new flags allow you to show all layers (not just those that would paint), to the structure of the z-order
        and normal flow lists, and to show which layers are composited.

        * WebCore.base.exp: The signature of externalRepresentation() changed.

        * platform/text/TextStream.h: Add operator<<(void*)
        * platform/text/TextStream.cpp: Implement operator<<(void*)

        * rendering/RenderLayer.h:
        * rendering/RenderLayer.cpp:
        (showLayerTree): New method outside the WebCore namespace, for ease of calling from gdb.

        * rendering/RenderTreeAsText.h: New behavior flags for externalRepresentation().
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write): Output compositing information if requested. Also clean up some -1/1 magic
        numbers with an enum.
        (WebCore::writeLayers): If requested, show layer nesting via the z-order and normal flow lists.
        (WebCore::externalRepresentation): New arguments

2010-01-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Fixed an off-by-one error.

        * rendering/break_lines.cpp:
        (WebCore::shouldBreakAfter):

2010-01-26  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        Avoid reloading iframe on re-parenting between documents.
        https://bugs.webkit.org/show_bug.cgi?id=32848

        Achieved by setting a flag on iframe element when it is a target of document.adoptNode(node) operation.
        The flag prevents unload/load cycle and is reset once element is attached to a new document.
        If iframe is adopted but not actually inserted into the tree, it gets unloaded by async timer
        once JS yields, to avoid having active content in non-attached iframe.

        Test: fast/frames/iframe-reparenting.html

        * dom/Document.cpp:
        (WebCore::Document::adoptNode): If the adopted node is iframe, set a remainsAliveOnRemovalFromTree on it.
        * html/HTMLFrameElementBase.h:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
        (WebCore::HTMLFrameElementBase::attach): Skip actual loading of the frame if it has remainsAliveOnRemovalFromTree flag. Reset the flag.
        (WebCore::HTMLFrameElementBase::willRemove): Skip unloading the frame if it has remainsAliveOnRemovalFromTree flag set.
        (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Set the flag, start the async timer to check if the frame was actually attached.
        (WebCore::HTMLFrameElementBase::checkAttachedTimerFired):
        * html/HTMLFrameOwnerElement.h:
        (WebCore::HTMLFrameOwnerElement::willRemove): Move from private to protected, since it is conditionally called in HTMLFrameElementBase::willRemove now.

2010-01-26  Adam Roben  <aroben@apple.com>

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

        Caused 2 regression tests to fail.

        * dom/Document.cpp:
        (WebCore::Document::detach):
        (WebCore::Document::registerHistoryItem):
        (WebCore::Document::unregisterHistoryItem):
        * dom/Document.h:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::pushStateItem):
        * history/BackForwardListChromium.cpp:
        (WebCore::BackForwardList::pushStateItem):
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::~HistoryItem):
        (WebCore::HistoryItem::setStateObject):
        (WebCore::HistoryItem::setDocument):
        (WebCore::HistoryItem::documentDetached):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::document):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::navigateWithinDocument):
        (WebCore::FrameLoader::loadItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
        (WebCore::HistoryController::pushState):
        (WebCore::HistoryController::replaceState):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
        * page/History.cpp:
        (WebCore::History::stateObjectAdded):
        * page/Page.cpp:
        (WebCore::Page::goToItem):

2010-01-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/7576663> Crash caused by anonymous list item
        https://bugs.webkit.org/show_bug.cgi?id=34183

        Test: fast/lists/anonymous-items.html

        enclosingList() and previousListItem() were DOM-based, but in order to work with anonymous
        list items, they need to work with rthe render tree.

        * rendering/RenderListItem.cpp:
        (WebCore::isList): Factored out.
        (WebCore::enclosingList): Added this variant that takes a RenderObject.
        (WebCore::previousListItem): Changed to travers the render tree.
        (WebCore::RenderListItem::calcValue): Use the RenderObject version of enclosingList()
        (WebCore::RenderListItem::setExplicitValue): Added an assertion.
        (WebCore::RenderListItem::clearExplicitValue): Ditto.

2010-01-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Jon Honeycutt.

        Crash in WebKit!WebCore::RenderMenuList::itemStyle
        https://bugs.webkit.org/show_bug.cgi?id=34182
        <rdar://7087757>
        
        Added bounds checks in RenderMenuList to make sure we are
        not making an out of bounds check in a vector once an option
        element has been deleted. If we are out of bounds, we fall back to
        a default value and return early, and in the case of itemStyle, we use a 
        previous option's style, if it is available.

        * manual-tests/select-delete-item.html: Added.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemText): If out of bounds check, return early.
        (WebCore::RenderMenuList::itemToolTip): Ditto.
        (WebCore::RenderMenuList::itemIsEnabled): Ditto.
        (WebCore::RenderMenuList::itemStyle): If out of bounds check, try using the 0th index
            option style, then fall back to the select's style if that option doesn't exist.
        (WebCore::RenderMenuList::itemBackgroundColor): If out of bounds check, return early.
        (WebCore::RenderMenuList::itemIsSeparator): Ditto.
        (WebCore::RenderMenuList::itemIsLabel): Ditto.
        (WebCore::RenderMenuList::itemIsSelected): Ditto.

2010-01-25  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Anders Carlsson.

        Some methods in JSC JNI bridge need more error checking of results from JNI.
        https://bugs.webkit.org/show_bug.cgi?id=34149

        In JNIUtility.h, callJNIMethodV<jobject> might return null (from CallObjectMethodV, via
        JNICaller<jobject>::callV) if an exception is thrown.  All clients of callJNIMethodV<jobject>
        that are calling methods on the returned object should null check first.

        * bridge/jni/JNIBridge.cpp:
        (JavaField::JavaField):
        (JavaMethod::JavaMethod):
        * bridge/jni/JNIUtility.h:
        (JSC::Bindings::):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jsc/JavaClassJSC.cpp:
        (JavaClass::JavaClass):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::stringValue):

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

        Reviewed by Oliver Hunt.

        Windows build references non-existent include paths
        https://bugs.webkit.org/show_bug.cgi?id=34175

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:

2010-01-26  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        Chains of history items representing same-document navigation need to
        always remember that association

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

        Replace HistoryItem's Document pointer with a DocumentSequenceNumber.
        During session history traversal, if the current HistoryItem and the
        target HistoryItem have the same DocumentSequenceNumber, then it means
        that the current Document should remain.

        NOTE: To support Chromium's serialization of HistoryItems, I generate
        DocumentSequenceNumbers that are unique across application launches.
        DocumentSequenceNumbers are generated using a counter initialized with
        the time of day.

        Test: fast/loader/stateobjects/document-destroyed-navigate-back.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        * dom/Document.h:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::pushStateItem):
        * history/BackForwardListChromium.cpp:
        (WebCore::BackForwardList::pushStateItem):
        * history/HistoryItem.cpp:
        (WebCore::generateDocumentSequenceNumber):
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::~HistoryItem):
        (WebCore::HistoryItem::setStateObject):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::setDocumentSequenceNumber):
        (WebCore::HistoryItem::documentSequenceNumber):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::navigateWithinDocument):
        (WebCore::FrameLoader::loadItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
        (WebCore::HistoryController::pushState):
        (WebCore::HistoryController::replaceState):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
        * page/History.cpp:
        (WebCore::History::stateObjectAdded):
        * page/Page.cpp:
        (WebCore::Page::goToItem):

2010-01-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Add ability for image maps to be focused via tabbing
        https://bugs.webkit.org/show_bug.cgi?id=17513

        Test: fast/events/tab-imagemap.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::focusedImageMapUIElement):
        (WebCore::AXObjectCache::focusedUIElementForPage):
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityImageMapLink.h:
        (WebCore::AccessibilityImageMapLink::areaElement):
        (WebCore::AccessibilityImageMapLink::mapElement):
        (WebCore::AccessibilityImageMapLink::isImageMapLink):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isImageMapLink):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getPath):
        (WebCore::HTMLAreaElement::getRect):
        (WebCore::HTMLAreaElement::imageElement):
        (WebCore::HTMLAreaElement::isKeyboardFocusable):
        (WebCore::HTMLAreaElement::isFocusable):
        (WebCore::HTMLAreaElement::dispatchBlurEvent):
        (WebCore::HTMLAreaElement::updateFocusAppearance):
        (WebCore::HTMLAreaElement::supportsFocus):
        * html/HTMLAreaElement.h:
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::imageElement):
        * html/HTMLMapElement.h:
        * 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::drawFocusRingToContext):
        (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.cpp:
        (WebCore::RenderImage::paint):
        (WebCore::RenderImage::paintFocusRings):
        (WebCore::RenderImage::imageMap):
        * rendering/RenderImage.h:
        * rendering/RenderReplaced.h:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: add support for breakpoints, messages and search into the SourceFrame2.

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

        * inspector/front-end/SourceFrame2.js:
        (WebInspector.SourceFrame2):
        (WebInspector.SourceFrame2.prototype.get executionLine):
        (WebInspector.SourceFrame2.prototype.set executionLine):
        (WebInspector.SourceFrame2.prototype.revealLine):
        (WebInspector.SourceFrame2.prototype.addBreakpoint):
        (WebInspector.SourceFrame2.prototype.removeBreakpoint):
        (WebInspector.SourceFrame2.prototype.sizeToFitContentHeight):
        (WebInspector.SourceFrame2.prototype.setContent):
        (WebInspector.SourceFrame2.prototype.findSearchMatches):
        (WebInspector.SourceFrame2.prototype.setSelection):
        (WebInspector.SourceFrame2.prototype._addMessageToSource):
        (WebInspector.SourceFrame2.prototype._addExistingBreakpointsToSource):
        (WebInspector.SourceFrame2.prototype._addBreakpointToSource):
        (WebInspector.SourceFrame2.prototype._removeBreakpointFromSource):
        (WebInspector.SourceFrame2.prototype._contextMenu.addConditionalBreakpoint):
        (WebInspector.SourceFrame2.prototype._contextMenu):
        (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
        (WebInspector.SourceFrame2.prototype._editBreakpointCondition.committed):
        (WebInspector.SourceFrame2.prototype._editBreakpointCondition.dismissed):
        (WebInspector.SourceFrame2.prototype._editBreakpointCondition):
        (WebInspector.SourceFrame2.prototype._showBreakpointConditionPopup):
        (WebInspector.SourceFrame2.prototype._createConditionElement):
        (WebInspector.SourceFrame2.prototype._keyDown):
        (WebInspector.SourceFrame2.prototype._evalSelectionInCallFrame):
        (WebInspector.SourceFrame2.prototype._breakpointChanged):
        (WebInspector.SourceFrame2.prototype.resize):
        (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
        (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
        (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
        (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu):
        (WebInspector.ExecutionLineDecorator.prototype.decorate):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype.set mimeType):
        (WebInspector.TextEditor.prototype.set readOnly):
        (WebInspector.TextEditor.prototype.setDivDecoration):
        (WebInspector.TextEditor.prototype.reveal):
        (WebInspector.TextEditor.prototype.packAndRepaintAll):
        (WebInspector.TextEditor.prototype._updateSize):
        (WebInspector.TextEditor.prototype.updateCanvasSize):
        (WebInspector.TextEditor.prototype.repaintAll):
        (WebInspector.TextEditor.prototype._paintLinesContinuation):
        (WebInspector.TextEditor.prototype._repaintOnScroll):
        (WebInspector.TextEditor.prototype._mouseDown):
        (WebInspector.TextEditor.prototype._contextMenu):
        (WebInspector.TextEditor.prototype._caretForMouseEvent):
        (WebInspector.TextEditor.prototype._columnForOffset):
        (WebInspector.TextEditor.prototype._handleNavigationKey):
        (WebInspector.TextEditor.prototype._positionDivDecoration):
        (WebInspector.TextEditor.prototype._replaceSelectionWith):
        (WebInspector.TextEditor.prototype.setCoalescingUpdate):
        (WebInspector.TextEditor.prototype._handleUndo):
        (WebInspector.TextEditor.prototype._handleRedo):
        (WebInspector.TextEditor.prototype._changeFont):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
        * inspector/front-end/inspector.css:
        * inspector/front-end/textEditor.css:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: add methods for getting resource content from within frontend.

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

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getResourceContent):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetResourceContent):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.getResourceContent):
        * inspector/front-end/InspectorFrontendHostStub.js:

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

        Not reviewed: added null check into the timeline agent getter.

        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::retrieve):

2010-01-26  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Moves JSC-specific classes from bridge/jni/JNIBridge to bridge/jni/jsc/JNIBridgeJSC
        https://bugs.webkit.org/show_bug.cgi?id=33958

        This allows bridge/jni/JNIBridge to be used with both JSC and V8.
        A later change will add the V8 equivalent of these JSC-specific classes.

        No new tests, refactoring only.

        * Android.jscbindings.mk: Modified. Added JNIBridgeJSC.cpp
        * GNUmakefile.am: Modified. Added JNIBridgeJSC.h
        * WebCore.xcodeproj/project.pbxproj: Modified. Added JNIBridgeJSC.[cpp|h]
        * bridge/jni/JNIBridge.cpp: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.cpp
        (appendClassName): Modfied. Guard calls to JSLock
        (JavaMethod::signature): Modfied. Guard calls to JSLock
        * bridge/jni/JNIBridge.h: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.h
        * bridge/jni/jsc/JNIBridgeJSC.cpp: Copied from WebCore/bridge/jni/JNIBridge.cpp.
        * bridge/jni/jsc/JNIBridgeJSC.h: Copied from WebCore/bridge/jni/JNIBridge.h.
        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Include JNIBridgeJSC.h
        * bridge/jni/jsc/JavaClassJSC.h: Modified. Include JNIBridgeJSC.h
        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Include JNIBridgeJSC.h

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

        Unreviewed build fix.

        [Qt] Fix Windows build when sqlite is not available.

        * WebCore.pri:
        * WebCore.pro:

2010-01-26  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann.

        [Qt] JavaScript prompt is currently broken.
        https://bugs.webkit.org/show_bug.cgi?id=30914

        Remove the manual test case in favor of an automated
        test case in WebKit/qt/tests/qwebpage.

        * manual-tests/qt/java-script-prompt.html: Removed.

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Implement HTML and CSS highlighters.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/JavaScriptTokenizer.js: Removed.
        * inspector/front-end/JavaScriptTokenizer.re2js: Removed.
        * inspector/front-end/SourceCSSTokenizer.js: Added.
        (WebInspector.SourceCSSTokenizer):
        (WebInspector.SourceCSSTokenizer.prototype._stringToken):
        (WebInspector.SourceCSSTokenizer.prototype._isPropertyValue):
        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
        * inspector/front-end/SourceCSSTokenizer.re2js: Added.
        * inspector/front-end/SourceHTMLTokenizer.js: Added.
        (WebInspector.SourceHTMLTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js: Added.
        * inspector/front-end/SourceJavaScriptTokenizer.js: Added.
        (WebInspector.SourceJavaScriptTokenizer):
        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
        * inspector/front-end/SourceJavaScriptTokenizer.re2js: Added.
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
        (WebInspector.TextEditorHighlighter.Tokenizer):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition):
        (WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-01-26  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        REGRESSION(r53835): Fix editing/pasteboard/paste-noscript-xhtml.xhtml
        https://bugs.webkit.org/show_bug.cgi?id=34157

        Pass the FragmentScriptingPermission correctly through to the DOM
        and disallow scripting elements in parseEndElement(), similar to
        the libxml tokenizer change in r53835.

        * dom/XMLTokenizerQt.cpp:
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLTokenizer::parseStartElement):
        (WebCore::XMLTokenizer::parseEndElement):

2010-01-26  Garret Kelly  <gdk@chromium.org>

        Reviewed by Eric Seidel.

        Add missing declaration for the feMorphology SVG element.
        https://bugs.webkit.org/show_bug.cgi?id=34151

        * bindings/v8/V8DOMWrapper.cpp:

2010-01-26  Andras Becsi  <abecsi@inf.u-szeged.hu>

        Unreviewed build fix.

        [Qt] Build fix after API changes in r53835.

        No new tests needed.

        * dom/XMLTokenizerQt.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::parseXMLDocumentFragment):

2010-01-22  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        Make storage events match the spec.
        https://bugs.webkit.org/show_bug.cgi?id=30546

        This meat of the patch I just posted is very simple.  It's just making events
        asynchronous, not posting them to the frame that generated them, passing a null
        for the key when issuing a clear storage event, and making the events
        non-cancelable/non-bubbleable...all of which are clearly stated in the spec.

        The asynchronous and not posting to the frame that generated them forced me to
        re-write all the layout tests that dealt with storage events.  There's a lot of
        code there, but I tried to be fairly careful to ensure that test coverage did
        not shrink in any area.

        Tests: storage/domstorage/events/basic-body-attribute.html
               storage/domstorage/events/basic-setattribute.html
               storage/domstorage/events/basic.html
               storage/domstorage/events/case-sensitive.html
               storage/domstorage/events/documentURI.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::enqueueStorageEvent):
        (WebCore::Document::storageEventTimerFired):
        * dom/Document.h:
        * storage/StorageEvent.cpp:
        (WebCore::StorageEvent::StorageEvent):
        * storage/StorageEvent.idl:
        * storage/StorageEventDispatcher.cpp:
        (WebCore::StorageEventDispatcher::dispatch):

2010-01-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7573493> Error with line break inside ?&raquo; pair of characters.
        https://bugs.webkit.org/show_bug.cgi?id=17475

        Test: fast/text/line-break-after-question-mark.html

        Instead of unconditionally allowing lines to break after a question mark, which was intended
        to mimic Internet Explorer, apply the Unicode line breaking behavior after a question mark,
        with one exception in the ASCII range to match IE, namely not allowing a line break between
        a question mark and a vertical line.

        * rendering/break_lines.cpp:
        (WebCore::shouldBreakAfter): Added a next character parameter. Changed to consult a table
        for the question mark case in order to keep it fast and not require a text break iterator in
        the ASCII case.
        (WebCore::nextBreakablePosition): Pass the next character to shouldBreakAfter.

2010-01-25  Peter Kasting  <pkasting@google.com>

        Reviewed by Dan Bernstein.

        Mac scrollbar thumbs were drawn with the wrong size.
        https://bugs.webkit.org/show_bug.cgi?id=34049

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

2010-01-25  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Cleanup unwanted tags after pasting.
        https://bugs.webkit.org/show_bug.cgi?id=34148
        
        Test: editing/pasteboard/paste-noscript-xhtml.xhtml

        * dom/Element.cpp:
        (WebCore::Element::setAttributeNS):
        * dom/Element.h:
        * dom/XMLTokenizer.h:
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLTokenizer::startElementNs):
        (WebCore::XMLTokenizer::endElementNs):
        (WebCore::parseXMLDocumentFragment):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::createContextualFragment):

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

        Reviewed by Simon Fraser.

        A WebGeolocationControllerClient is leaked for every WebView
        https://bugs.webkit.org/show_bug.cgi?id=34145

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

2010-01-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Fixed bug in positioning of scroll layer within the
        parent root layer.
        https://bugs.webkit.org/show_bug.cgi?id=33847
        
        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::setScrollFrame):
        (WebCore::WKCACFLayerRenderer::createRenderer):

2010-01-25  Alexey Proskuryakov  <ap@apple.com>

        Rubber-stamped by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=34076
        An image remains accessible via form.property syntax after being removed from document.

        Fix crashing regression tests (tables/mozilla/bugs/bug4527.html et al.)

        * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::insertedIntoTree): Remove incorrect
        assertions added in the previous patch - it's mot true that m_for is always a parent; table
        parsing can reparent the image element, but m_form still needs to be set.

2010-01-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=34076
        An image remains accessible via form.property syntax after being removed from document.

        Tests: fast/forms/removed-image-as-property.html
               fast/forms/reparented-image-as-property.html

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::~HTMLImageElement): This is called during GC - not a good time
        to make observable changes to DOM.
        (WebCore::HTMLImageElement::insertedIntoTree): This is the right place to do any work that
        depends on connectedness to some ancestor. We still allow for m_form to be set via constructor,
        which happens during parsing.
        (WebCore::HTMLImageElement::removedFromTree): Ditto.

        * html/HTMLImageElement.h: Added removedFromTree/insertedIntoTree, moved removedFromDocument
        and insertedIntoDocument to private section, as they shouldn't be called directly.

2010-01-25  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

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

        Fixes misspelled words in comments.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::addChildren):
        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper detach]):
        (AXAttributeStringSetElement):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::completeURL):
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertySlot):
        * bindings/js/JSSVGPODTypeWrapper.h:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInWorld):
        * bridge/NP_jsobject.cpp:
        (_NPN_SetException):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        (JObjectWrapper::JObjectWrapper):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::sortMatchedRules):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Document.cpp:
        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
        (WebCore::Document::detach):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * dom/Element.h:
        * dom/MessagePortChannel.h:
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::receivedTarget):
        * dom/Node.cpp:
        (WebCore::Node::isFocusable):
        (WebCore::Node::shadowAncestorNode):
        * dom/Node.h:
        * dom/Position.cpp:
        (WebCore::Position::upstream):
        * dom/Position.h:
        * dom/Range.cpp:
        (WebCore::Range::processContents):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::reconcileTextDecorationProperties):
        (WebCore::StyleChange::extractTextStyles):
        (WebCore::prepareEditingStyleToApplyAt):
        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd):
        * editing/Editor.cpp:
        (WebCore::Editor::learnSpelling):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._format):
        * loader/Cache.cpp:
        (WebCore::Cache::pruneLiveResources):
        (WebCore::Cache::pruneDeadResources):
        * loader/Cache.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::makePurgeable):
        * loader/CachedResource.h:
        * loader/CachedResourceHandle.h:
        * loader/DocumentLoader.h:
        * loader/FTPDirectoryParser.cpp:
        (WebCore::parseOneFTPLine):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didExplicitOpen):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didCancel):
        * loader/WorkerThreadableLoader.h:
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::spaceNeeded):
        * notifications/NotificationPresenter.h:
        (WebCore::NotificationPresenter::):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::updateAnimations):
        * platform/LinkHash.cpp:
        (WebCore::cleanPath):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::calculateDrawingMode):
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::offsetForPosition):
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::doSeek):
        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
        (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):
        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames):
        * platform/text/TextEncodingDetectorICU.cpp:
        (WebCore::detectTextEncoding):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::layout):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteVerticalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollByRecursively):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::hitTestLayer):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setInnerTextValue):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::stateChanged):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::mapLocalToContainer):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::buildTextChunks):
        * rendering/TransformState.cpp:
        (WebCore::TransformState::flattenWithTransform):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::dispatchBlurEvent):
        (WebCore::WMLInputElement::suggestedValue):

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

        Suggested by Darin Adler.

        Fixed a spelling error, tightened up some grammar.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::forgetDOMObject):
        (WebCore::forgetDOMNode):

2010-01-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Instead of adding inspector methods to the inspected global objects
        use private implementation visible from inspector code only.
        https://bugs.webkit.org/show_bug.cgi?id=34089

        Test: inspector/inspected-objects-not-overriden.html

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

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

        Reviewed by Timothy Hatcher.

        Web Inspector: don't show headers/content tabs in scripts view.

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

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype.set headersVisible):
        (WebInspector.ResourceView.prototype._selectContentTab):
        (WebInspector.ResourceView.prototype._innerSelectContentTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
        (WebInspector.ResourcesPanel.prototype.showResource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/inspector.css:

2010-01-25  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Reduce the size of the library when compiling for Maemo5
        https://bugs.webkit.org/show_bug.cgi?id=34050

        Exclude the Web Inspector's qrc file in the Maemo5 build, just
        like we do for the Symbian build. Saves about ~900k.

        * WebCore.pro:

2010-01-25  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] In the StyledPainter determine the style from the Render and Scrollbar theme instead of from the paint device
        https://bugs.webkit.org/show_bug.cgi?id=34054

        Getting the style from the painter's paint device is a hack that breaks when
        the paint device's style is different than the style that is used when
        calculating the metries earlier when there is no painter available.

        This change moves us closer to always using the same style.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::StylePainter::StylePainter):
        (WebCore::StylePainter::init):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::paintMenuListButton):
        (WebCore::RenderThemeQt::paintSliderTrack):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        * platform/qt/RenderThemeQt.h:
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::paint):
        (WebCore::ScrollbarThemeQt::hitTest):
        (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeQt::scrollbarThickness):
        (WebCore::ScrollbarThemeQt::thumbLength):
        (WebCore::ScrollbarThemeQt::trackPosition):
        (WebCore::ScrollbarThemeQt::trackLength):
        (WebCore::ScrollbarThemeQt::paintScrollCorner):
        (WebCore::ScrollbarThemeQt::style):
        * platform/qt/ScrollbarThemeQt.h:

2010-01-25  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] In RenderThemeQt determine the QStyle from the page client instead of the page's view
        https://bugs.webkit.org/show_bug.cgi?id=34053

        * platform/qt/QWebPageClient.h: Add function to return the style.
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::qStyle): Determine the style from the page client instead of the page's view.

2010-01-25  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Kenneth Christiansen.

        [Qt] Clean up code to determine palette from page client in RenderThemeQt
        https://bugs.webkit.org/show_bug.cgi?id=34052

        Use the RenderTheme's associated page instead of going through the
        render tree and the document.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
        * platform/qt/RenderThemeQt.h:

2010-01-25  Janne Koskinen  <janne.p.koskinen@digia.com>

        Reviewed by Simon Hausmann.

        [Qt] Phone backup support for QtWebkit for Symbian devices.
        https://bugs.webkit.org/show_bug.cgi?id=34077

        * WebCore.pro:

2010-01-25  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Antti Koivisto.

        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

        * page/FrameView.cpp:
        (WebCore::FrameView::useSlowRepaints):
        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
        (WebCore::FrameView::registerFixedPositionedObject):
        (WebCore::FrameView::unregisterFixedPositionedObject):
        (WebCore::FrameView::scrollContentsFastPath):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::scrollContentsFastPath):
        * platform/ScrollView.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):
        (WebCore::RenderObject::destroy):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Add support for addMessage/clearMessages to SourceFrame2.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/SourceFrame2.js:
        (WebInspector.SourceFrame2):
        (WebInspector.SourceFrame2.prototype.addMessage):
        (WebInspector.SourceFrame2.prototype.clearMessages):
        (WebInspector.SourceFrame2.prototype._incrementMessageRepeatCount):
        (WebInspector.SourceFrame2.prototype._addExistingMessagesToSource):
        (WebInspector.SourceFrame2.prototype._addMessageToSource):
        (WebInspector.SourceFrame2.prototype.resize):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype.setDivDecoration):
        (WebInspector.TextEditor.prototype._lineHeight):
        (WebInspector.TextEditor.prototype._highlightChanged):
        (WebInspector.TextEditor.prototype.packAndRepaintAll):
        (WebInspector.TextEditor.prototype._updateSize):
        (WebInspector.TextEditor.prototype._repaintAll):
        (WebInspector.TextEditor.prototype._paint):
        (WebInspector.TextEditor.prototype._paintLinesContinuation):
        (WebInspector.TextEditor.prototype._mouseOut):
        (WebInspector.TextEditor.prototype._updateDivDecorations):
        (WebInspector.TextEditor.prototype._positionDivDecoration):
        (WebInspector.TextEditor.prototype._paintSelection):
        (WebInspector.TextEditor.prototype._replaceSelectionWith):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:
        * inspector/front-end/textEditor.css: Added.

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Replace split pane with tabbed pane in resource
        contents view.

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

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype.attach):
        (WebInspector.ResourceView.prototype.show):
        (WebInspector.ResourceView.prototype._selectTab):
        (WebInspector.ResourceView.prototype._selectHeadersTab):
        (WebInspector.ResourceView.prototype._selectContentTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
        (WebInspector.ResourcesPanel.prototype.showResource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings.prototype._load):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._loaded):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        * inspector/front-end/inspector.css:

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

        Reviewed by Dan Bernstein.

        Media element duration changes to zero after playing in reverse
        https://bugs.webkit.org/show_bug.cgi?id=34041

        Test: media/video-reverse-play-duration.html

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::didEnd): QTKit's ended notification fires at time zero when 
        playing in reverse, so don't reset duration in that case.

2010-01-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        Content with heavily nested residual style is so slow, it seems like a hang
        https://bugs.webkit.org/show_bug.cgi?id=34059
        <rdar://problem/7292906>
        
        Test cast: fast/parser/residual-style-hang.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        Limit the number of iterations of the main loop to 5.
        
        The reason this limit is necessary is that otherwise, N misnested open tags followed
        by N misnested close tags will cause O(N^2) of work due to cloning and attaching subtrees;
        at a fixed limit, the cost is at worst O(N).
        
        The code that was in the loop originally ran exactly once - the loop was added in
        r21472 to fix <https://bugs.webkit.org/show_bug.cgi?id=13603>. I have verified that
        with the iteration limit, the bug is still fixed, both with the original test case
        and with the layout tests tht were added.

2010-01-24  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsDate setter support for type=week.
        https://bugs.webkit.org/show_bug.cgi?id=33986

        Introduce ISODateTime::setMillisecondsSinceEpochForWeek() and add
        Week type support to ISODateTime::toString().

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueAsDate): Avoid default:.
        (WebCore::HTMLInputElement::setValueAsDate):
          Add WEEK type handling and avoid default:.
        * html/ISODateTime.cpp:
        (WebCore::offsetTo1stWeekStart):
        (WebCore::ISODateTime::setMillisecondsSinceEpochForWeek):
        (WebCore::ISODateTime::millisecondsSinceEpoch):
        (WebCore::ISODateTime::toString):
          Add Week type support and avoid default:.
        * html/ISODateTime.h:

2010-01-24  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        Object Serialization assumes deserialization will always occur in the context of a webpage
        https://bugs.webkit.org/show_bug.cgi?id=34056
        rdar://7573833

        Added ClassInfo to JSDOMGlobalObject and make the window and worker class info
        inherit from it.  With this in place we're able to determine whether a given
        global object is a DOMGlobalObject, and then use that information to avoid
        attempting to deserialize types that require the presence of the DOM.

        No test as all global objects in webkit inherit from JSDOMGlobalObject.

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::classInfo):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::):
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
        (WebCore::DeserializingTreeWalker::convertIfTerminal):

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

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=34047
        <rdar://problem/7573699>
        Media element "endedPlayback" logic doesn't match spec

        Test: media/video-timeupdate-reverse-play.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::ended): The 'ended' attribute should only be true when playback
        rate is positive.
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Always schedule a 'timeupdate' event when
        the media engine signals a time discontinuity, scheduleTimeupdateEvent will only queue an event
        if one hasn't already been posted for the current movie time.
        (WebCore::HTMLMediaElement::endedPlayback): Update to match the spec logic.

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

        Reviewed by Darin Adler.

        Video that loads inside reflection doesn't get reflected
        https://bugs.webkit.org/show_bug.cgi?id=34046
        
        ensureCloneLayers() made an incorrect assumption that if a clone of the primaryLayer
        exists already, then the structural layer and content layer can just be returned.
        However, this doesn't account for the situation where a content layer may have
        been create after the clone tree was last updated.
        
        Fix by always creating the structural and clone layers on demand.

        Test: compositing/reflections/load-video-in-reflection.html

        * platform/graphics/mac/GraphicsLayerCA.h: Added utility method, findOrMakeClone().
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::findOrMakeClone): Utility that efficiently finds
        or creates a layer in a LayerMap.
        (WebCore::GraphicsLayerCA::ensureCloneLayers): Always look for or clone the
        structural and content layers, rather than relying on whether there's a primary
        layer clone already.

2010-01-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Implement support for FileList cloning in postMessage
        https://bugs.webkit.org/show_bug.cgi?id=34048

        Support passing FileList through postMessage APIs.  Basically
        mechanical task in line with other terminals in the object
        graph.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedFileList::create):
        (WebCore::SerializedFileList::length):
        (WebCore::SerializedFileList::item):
        (WebCore::SerializedFileList::SerializedFileList):
        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
        (WebCore::SharedSerializedData::asFileList):
        (WebCore::SerializingTreeWalker::convertIfTerminal):
        (WebCore::DeserializingTreeWalker::convertIfTerminal):
        (WebCore::TeardownTreeWalker::convertIfTerminal):
            Rearrange these functions to not use 'default:' handling
            so that the compiler will actually tell us when we're
            not handling cases.
        * bindings/js/SerializedScriptValue.h:
        (WebCore::SerializedScriptValueData::):
        (WebCore::SerializedScriptValueData::asFileList):

2010-01-23  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Inject inspector script directly into the inspected context. All the
        communication between the script and the frontend is serialized into
        JSON strings. It allows to get rid of object quarantines in Web Inspector.

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

        Test: inspector/console-log-before-inspector-open.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        * bindings/js/ScriptCallStack.h:
        (WebCore::ScriptCallStack::globalState):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::mainWorldScriptState):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptObject.h:
        (WebCore::ScriptObject::scriptState):
        * bindings/js/ScriptValue.cpp:
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptCallStack.h:
        (WebCore::ScriptCallStack::globalState):
        * bindings/v8/ScriptObject.h:
        (WebCore::ScriptObject::scriptState):
        * bindings/v8/ScriptValue.h:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::setInjectedScriptSource):
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::resetScriptObjects):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::injectedScriptForNodeId):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        (WebCore::InspectorFrontend::pausedScript):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.setDocument):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        (injectedScriptConstructor.):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess):
        (InjectedScriptAccess.getDefault):
        (get InjectedScriptAccess):
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
        * inspector/front-end/ObjectPropertiesSection.js:
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.pausedScript):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-01-22  Alex Milowski  <alex@milowski.com>

        Reviewed by David Hyatt.

        Added support for RenderMathMLBlock base object and isRenderMathMLBlock()
        method on RenderObject. 

        Added support for text elements and updated tag and attribute names

        Also, updated the stylesheet added files to the project

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * css/mathml.css:
        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::createRenderer):
        * mathml/MathMLTextElement.cpp: Added.
        (WebCore::MathMLTextElement::MathMLTextElement):
        (WebCore::MathMLTextElement::create):
        (WebCore::MathMLTextElement::createRenderer):
        * mathml/MathMLTextElement.h: Added.
        * mathml/RenderMathMLBlock.cpp: Added.
        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
        (WebCore::RenderMathMLBlock::styleDidChange):
        (WebCore::RenderMathMLBlock::isChildAllowed):
        (WebCore::RenderMathMLBlock::makeBlockStyle):
        (WebCore::RenderMathMLBlock::nonOperatorHeight):
        (WebCore::RenderMathMLBlock::stretchToHeight):
        * mathml/RenderMathMLBlock.h: Added.
        (WebCore::RenderMathMLBlock::isRenderMathMLBlock):
        (WebCore::RenderMathMLBlock::isRenderMathMLOperator):
        (WebCore::RenderMathMLBlock::isRenderMathMLRow):
        (WebCore::RenderMathMLBlock::isRenderMathMLMath):
        (WebCore::RenderMathMLBlock::hasBase):
        (WebCore::toRenderMathMLBlock):
        * mathml/mathattrs.in: Added.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderMathMLBlock):

2010-01-22  James Robinson  <jamesr@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Ensures that the 'selected' attribute of an <option> is correct
        https://bugs.webkit.org/show_bug.cgi?id=32641

        Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
        so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.

         Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.

         Tests: fast/forms/HTMLOptionElement_selected2.html
                fast/forms/HTMLOptionElement_selected3.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::setOptionsChangedOnRenderer):
        (WebCore::SelectElement::setRecalcListItems):
        (WebCore::SelectElement::recalcListItems):
        (WebCore::SelectElement::restoreFormControlState):
        (WebCore::SelectElement::reset):
        (WebCore::SelectElement::typeAheadFind):
        * dom/SelectElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::selected):
        (WebCore::HTMLOptionElement::insertedIntoTree):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
        * html/HTMLSelectElement.h:
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::recalcStyle):

2010-01-22  Chris Rogers  <crogers@google.com>

        Reviewed by Eric Seidel.

        Need to handle WebGLUnsignedByteArray as method argument for V8 binding
        https://bugs.webkit.org/show_bug.cgi?id=33929

        V8 code generator does not have associated tests

        * bindings/scripts/CodeGeneratorV8.pm:

2010-01-22  Elliot Glaysher  <erg@chromium.org>

        Reviewed by David Levin.

        Chromium: theme selection colors to match gtk theme
        Add functions to RenderThemeChromiumLinux to change the selection color
        according to the current GTK+ theme.

        Since the change is to the Chromium WebKit API layer, testing is done
        in Chromium's test shell (see Chromium side of this patch:
        http://codereview.chromium.org/554004)

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

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumLinux::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumLinux::setSelectionColors):
        * rendering/RenderThemeChromiumLinux.h: Adds static members.

2010-01-22  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        [wx] Remove the Bakefile build system, which is no longer being used.
        
        https://bugs.webkit.org/show_bug.cgi?id=34022

        * WebCoreSources.bkl: Removed.
        * webcore-base.bkl: Removed.
        * webcore-wx.bkl: Removed.

2010-01-22  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        Remove unnecessary copy of zlib.
        https://bugs.webkit.org/show_bug.cgi?id=34028

        * platform/image-decoders/zlib: Removed.
        * platform/image-decoders/zlib/adler32.c: Removed.
        * platform/image-decoders/zlib/compress.c: Removed.
        * platform/image-decoders/zlib/crc32.c: Removed.
        * platform/image-decoders/zlib/crc32.h: Removed.
        * platform/image-decoders/zlib/deflate.c: Removed.
        * platform/image-decoders/zlib/deflate.h: Removed.
        * platform/image-decoders/zlib/gzio.c: Removed.
        * platform/image-decoders/zlib/infback.c: Removed.
        * platform/image-decoders/zlib/inffast.c: Removed.
        * platform/image-decoders/zlib/inffast.h: Removed.
        * platform/image-decoders/zlib/inffixed.h: Removed.
        * platform/image-decoders/zlib/inflate.c: Removed.
        * platform/image-decoders/zlib/inflate.h: Removed.
        * platform/image-decoders/zlib/inftrees.c: Removed.
        * platform/image-decoders/zlib/inftrees.h: Removed.
        * platform/image-decoders/zlib/mozzconf.h: Removed.
        * platform/image-decoders/zlib/trees.c: Removed.
        * platform/image-decoders/zlib/trees.h: Removed.
        * platform/image-decoders/zlib/uncompr.c: Removed.
        * platform/image-decoders/zlib/zconf.h: Removed.
        * platform/image-decoders/zlib/zlib.h: Removed.
        * platform/image-decoders/zlib/zutil.c: Removed.
        * platform/image-decoders/zlib/zutil.h: Removed.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34025
        Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:

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

        Reviewed by Eric Carlson.

        Race condition in video setup can force videos into software mode
        https://bugs.webkit.org/show_bug.cgi?id=34034

        We used to call setUpVideoRendering() unconditionally from
        acceleratedRenderingStateChanged(); this could happen before the movie had any
        data, and thus force the movie into software rendering mode.
        
        Fix by returning early from setUpVideoRendering() if isReadyForRendering() returns false,
        which also allows us to remove some other checks for being ready to render.
        
        Timing dependent, hard to make a test for.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToMedia): Optimize to do an early return
        if passing in the same layer that is already being used.
        
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Return without doing anything
        if not ready to render.
        (WebCore::MediaPlayerPrivate::updateStates): No need to call isReadyForRendering()
        any more, since setUpVideoRendering() does that.
        (WebCore::MediaPlayerPrivate::setVisible): No need to check the ready state; this
        is equivalent to the check inside of setUpVideoRendering().

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

        Reviewed by Dan Bernstein.

        REGRESSION (r53110): Find My iPhone message dialog is offset from original position once it gets focus
        https://bugs.webkit.org/show_bug.cgi?id=33821

        Fix an issue with the geometry of fixed position, composited layers inside other
        composited layers. If we called convertToLayerCoords() on a fixed layer with an ancestor
        layer which is not the root, then we assumed that the fixed layer had a positioning root.
        However, this is not always the case, since the fixed layer may have a compositing ancestor
        which is not a fixed container.
        
        Test: compositing/geometry/fixed-in-composited.html

        * rendering/RenderLayer.cpp:
        (WebCore::isFixedPositionedContainer): Utility function to test whether a layer acts
        as a fixed position container.
        
        (WebCore::RenderLayer::convertToLayerCoords): When called on a fixed position layer
        for an ancestor layer that is not the root, compute the correct offsets by looking for
        the fixed position container, and computing offsets relative to that. If the ancestorLayer
        is the fixed position container, fall through to the existing code that is shared
        with absolutely positioned layers.

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

        Reviewed by Dan Bernstein.

        webkitConvertPointFromNodeToPage doesn't take into account most recent transform style
        https://bugs.webkit.org/show_bug.cgi?id=34023

        Be sure to call updateLayoutIgnorePendingStylesheets() before doing point mapping,
        to apply any style changes since the last layout.

        Test: fast/dom/Window/webkitConvertPointUpdateLayout.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): Call updateLayoutIgnorePendingStylesheets().
        (WebCore::DOMWindow::webkitConvertPointFromPageToNode): Ditto.

2010-01-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Roben.

        Use stale cache data when going back and forward but not using WebCore’s page cache
        https://bugs.webkit.org/show_bug.cgi?id=33993
        <rdar://problem/7383392>

        No tests since this is a performance change.

        * loader/CachePolicy.h:
        (WebCore::): Add CachePolicyAllowStale.
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::checkForReload): Never reload in the case of
        CachePolicyAllowStale.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::subresourceCachePolicy): Return CachePolicyAllowStale
        if the main resource is being loaded to allow stale data.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Use ReturnCacheDataElseLoad
        on back/forward loads - needed when going back of forward to a page with frames.

2010-01-22  Kelly Norton  <knorton@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: JavaScript Error in DOMAgent.js:375 (_attributesUpdated)
        https://bugs.webkit.org/show_bug.cgi?id=33915

        Errors were caused by the fact that Element::attributes calls Element::setAttribute to
        synchronized the styleAttr. The fix is to simply check the synchronizing style attribute
        flag.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute): Checked for case where styleAttr is being synchronized.

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

        Reviewed by Simon Fraser.

        Update r53711 for GraphicsLayer method rename.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::createLayerForMovie): Rename from change setContentsToVideo.

2010-01-22  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        Add BlobConstructor to DOMWindow.
        https://bugs.webkit.org/show_bug.cgi?id=33982

        * page/DOMWindow.idl:

2010-01-22  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Adam Roben.
        
        Commit files that were supposed to be part of r53696, but weren't
        landed.

        * English.lproj/localizedStrings.js:
        * manual-tests/debugger-caught-uncaught-exceptions.html: Added.

2010-01-22  Peter Kasting  <pkasting@google.com>

        Reviewed by David Hyatt.

        When scrolling by page, hold back 1/8th of the visible size instead of
        40 px.
        https://bugs.webkit.org/show_bug.cgi?id=32595

        * editing/EditorCommand.cpp:
        (WebCore::verticalScrollDistance):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/Scrollbar.h:
        * platform/wx/ScrollViewWx.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):

2010-01-22  Peter Kasting  <pkasting@google.com>

        Not reviewed, backout.

        Back out r52673, which caused several regressions.
        https://bugs.webkit.org/show_bug.cgi?id=32533

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::hidePopup):
        (WebCore::PopupListBox::handleKeyEvent):
        (WebCore::PopupListBox::abandon):
        (WebCore::PopupListBox::acceptIndex):
        (WebCore::PopupListBox::selectIndex):
        (WebCore::PopupListBox::clearSelection):
        (WebCore::PopupListBox::hidePopup):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::menuUnmapped):
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::show):
        * platform/qt/QtAbstractWebPopup.cpp:
        (WebCore::QtAbstractWebPopup::popupDidHide):
        * platform/qt/QtAbstractWebPopup.h:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::hide):
        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::OnMenuItemSelected):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::popupDidHide):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::popupDidHide):
        * rendering/RenderTextControlSingleLine.h:

2010-01-22  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Darin Adler.

        Revert r53693 because it broke scrolling of pages with fixed elements on
        Mac OS X.

        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        * platform/ScrollView.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):
        (WebCore::RenderObject::destroy):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34008
        Assertion failure in KURL::setProtocol when running DOM Fuzzer

        Test: fast/dom/Window/invalid-protocol.html

        * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setProtocol): Raise an exception
        if KURL::setProtocol fails.

        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::setProtocol): Move argument
        tweaking logic into KURL. This way, the ':' trick applies to both JSLocation and
        HTMLAnchorElement, matching IE (but not Firefox). IE behavior is more permissive, and even
        more logical in my opinion.

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::iconURL): Assert that setting protocol
        succeeded.

        * platform/KURL.cpp: (WebCore::KURL::setProtocol): Remove everything past ':', if present.
        Return false if the protocol to set is not valid.
        (WebCore::isValidProtocol): Made this work correctly for empty strings.

        * platform/KURL.h: isValidProtocol() is now static in KURL.cpp, it's only used in setProtocol().

        * platform/KURLGoogle.cpp: 
        (WebCore::KURL::setProtocol): Always return true. This should hopefully prevent Chromium build
        breakage, alhough tests will likely fail.
        (WebCore::isValidProtocol): Removed, as this isn't used at the moment.

        * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
        Assert that setting protocol succeeded.

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

        Reviewed by Adam Roben.

        <rdar://problem/7373568>
        https://bugs.webkit.org/show_bug.cgi?id=34007
        Implement hardware acceleration of video compositing on Windows

        Internally we still have QuickTime render to a bitmap, but frames are then composited
        with the page using an accelerated renderer.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_newFrameAvailable.
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call tearDownVideoRendering.
        (WebCore::MediaPlayerPrivate::cancelLoad): Call tearDownVideoRendering.
        (WebCore::MediaPlayerPrivate::updateStates): Call setUpVideoRendering once the movie 
            is ready to draw.
        (WebCore::MediaPlayerPrivate::isReadyForRendering): New, utility function returns true 
            only when movie is ready to render.
        (WebCore::MediaPlayerPrivate::setSize): Remember the size as we need it when rendering 
            in accelerated mode.
        (WebCore::MediaPlayerPrivate::setVisible): Call setUpVideoRendering when made visible.
        (WebCore::MediaPlayerPrivate::paint): Do nothing when rendering to a layer. Move frame 
            rate drawing code to paintCompleted.
        (WebCore::MediaPlayerPrivate::paintCompleted): New, clear m_newFrameAvailable and, when 
            built with DRAW_FRAME_RATE, draw framerate.
        (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Set m_newFrameAvailable, trigger 
            repaint differently when drawing to a layer.
        (WebCore::MediaPlayerPrivate::currentRenderingMode): New, return the current rendering mode.
        (WebCore::MediaPlayerPrivate::preferredRenderingMode): New, return preferred rendering mode
            (render to a layer whenever possible).
        (WebCore::MediaPlayerPrivate::setUpVideoRendering): New, tear down current rendering mode 
            and set up new mode when necessary.
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering): New, noop unless rendering to a layer.
        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): New.
        (WebCore::MediaPlayerPrivate::paintContents): New, callback from compositing layer when it
            is time to draw the current frame.
        (WebCore::MediaPlayerPrivate::createLayerForMovie): New, allocate a layer for the movie.
        (WebCore::MediaPlayerPrivate::destroyLayerForMovie): New, delete movie layer.
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): New, return true unless the 
            movie is not ready to render.
        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): New, deal with change in 
            accelerated rendering state.
        (WebCore::MediaPlayerPrivate::notifySyncRequired): New, callback from compositing layer 
            when it wants to schedule a redraw.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
        (WebCore::MediaPlayerPrivate::showDebugBorders):
        (WebCore::MediaPlayerPrivate::showRepaintCounter):

        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWin::getCurrentFrameInfo):
            New, return information about the offscreen render buffer.
        (QTMovieWin::initializeQuickTime):
        * platform/graphics/win/QTMovieWin.h:

2010-01-21  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        The Chromium WebKit API needs to expose storage event related data
        https://bugs.webkit.org/show_bug.cgi?id=33985

        This change is not visible to layoutTests/web pages.

        * storage/StorageArea.h:
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::setItem): return the old value
        (WebCore::StorageAreaImpl::removeItem): return the old value
        (WebCore::StorageAreaImpl::clear): return whether there was anything to clear
        * storage/StorageAreaImpl.h:

2010-01-22  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        An element that doesn't validate and an invalid element shouldn't share style
        https://bugs.webkit.org/show_bug.cgi?id=34010

        Test: fast/css/pseudo-invalid-novalidate-001.html

        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): 
          Separate the check for willValidate from the check for isValidFormControlElement.
        * html/HTMLFormControlElement.h: The validity method doesn't need to be virtual.

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

        Reviewed by Dan Bernstein.

        Crash in fast/dom/Window/window-properties if Geolocation enabled
        https://bugs.webkit.org/show_bug.cgi?id=34013
        
        Add null check to fix Geolocation crash in fast/dom/Window/window-properties.
        
        * page/Geolocation.cpp:
        (WebCore::createGeoposition):

2010-01-22  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Darin Adler.

        Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain
        https://bugs.webkit.org/show_bug.cgi?id=33948

        Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(),
        that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor().

        This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().

        Test: fast/dom/Window/window-property-descriptors.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):

2010-01-22  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Simon Hausmann.

        [Qt] Save the QWebPageClient instead of the ownerWidget in QtAbstractWebPopup
        
        The QWebPageClient is required for the QtFallbackWebPopup. QtFallbackWebPopup will
        need it to create a QGraphicsProxyWidget (in a future commit) for the 
        QGraphicsWebView's web popup.

        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::show):
        * platform/qt/QtAbstractWebPopup.cpp:
        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
        (WebCore::QtAbstractWebPopup::popupDidHide):
        (WebCore::QtAbstractWebPopup::valueChanged):
        (WebCore::QtAbstractWebPopup::itemType):
        * platform/qt/QtAbstractWebPopup.h:
        (WebCore::QtAbstractWebPopup::itemText):
        (WebCore::QtAbstractWebPopup::itemToolTip):
        (WebCore::QtAbstractWebPopup::itemIsEnabled):
        (WebCore::QtAbstractWebPopup::itemCount):
        (WebCore::QtAbstractWebPopup::pageClient):
        (WebCore::QtAbstractWebPopup::font):

2010-01-22  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Qt "build" fix.

        * WebCore.pro: Fix warning about missing header file that isn't present anymore.

2010-01-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        Reviewed by Gustavo Noronha Silva.

        Update copy of the source whenever playbin2's source property
        changes.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateSourceChangedCallback):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        Connect to the notify::source signal and update the source
        element pointer from there. This makes sure that we never
        store a pointer to an old source element.

2010-01-22  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: Caught exceptions still pause the debugger.
        <https://bugs.webkit.org/show_bug.cgi?id=28622>.

        Turn the pauseOnExceptions variable from a bool to an int, because we now have
        3 states, in an enum: DontPauseOnExceptions, PauseOnAllExceptions, and
        PauseOnUncaughtExceptions. The status button for pausing on exceptions is now
        a tri-state button, which cycles from Don't pause (no background) to Pause on All
        (blue background) to Pause on Uncaught (purple background).

        Also added the ability for a status button to have more than 2 states, and added
        style rules for a CSS three state button.

        Added a manual test, manual-tests/debugger-caught-uncaught-exceptions.html, that
        generates caught and uncaught exceptions.

        * English.lproj/localizedStrings.js: Added updated Action / Click to Action text.
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::pauseOnExceptions): Changed from a bool to an int.
        (WebCore::InspectorBackend::setPauseOnExceptions): Ditto.
        * inspector/InspectorBackend.h: Ditto.
        * inspector/InspectorBackend.idl: Ditto.
        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Changed from bool to PauseOnExceptionsState.
        (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Ditto.
        (WebCore::JavaScriptDebugServer::exception): Updated logic to see if we are breaking
            on uncaught exceptions, and check if we have a handler.
        * inspector/JavaScriptDebugServer.h:
        (WebCore::JavaScriptDebugServer::): Changed from bool to PauseOnExceptionsState.
        (WebCore::JavaScriptDebugServer::pauseOnExceptions): Ditto.
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptionsState): Changed from returning false to returning 0 (stub function).
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): Updated to new text/new cycling of variables.
        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): Updated to new text/new cycling of variables.
        * inspector/front-end/StatusBarButton.js:
        (WebInspector.StatusBarButton): Added the option for a different number of states.
        (WebInspector.StatusBarButton.prototype.set toggled): Added rules to toggle on/off with multiple states.
        * inspector/front-end/inspector.css: Added rules for toggled-1 and toggled-2.
        * manual-tests/debugger-caught-uncaught-exceptions.html: Added.

2010-01-22  Ben Murdoch  <benm@google.com>

        Reviewed by Eric Seidel.

        [Android] Android platform specific PlatformTouchEvent and PlatformTouchPoint implementations are not upstream.
        https://bugs.webkit.org/show_bug.cgi?id=33719

        Add the Android specific files and update the Android makefile.

        No new tests as this is all Android-specific code.

        * Android.mk: Add Touch event related files to the makefile.
        * platform/PlatformTouchEvent.h: Add Android constructor.
        * platform/PlatformTouchPoint.h: Ditto.
        * platform/android/PlatformTouchEventAndroid.cpp: Added.
        (WebCore::PlatformTouchEvent::PlatformTouchEvent): Android implementation.
        * platform/android/PlatformTouchPointAndroid.cpp: Added.
        (WebCore::PlatformTouchPoint::PlatformTouchPoint): Android implementation.

2010-01-22  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

        The RenderObjects with fixed position register to the view
        to be taken into account while scrolling.
        The scrolling code update specifically those elements after blitting the pixels.

        * page/FrameView.cpp:
        (WebCore::FrameView::registerFixedPositionedObject):
        (WebCore::FrameView::unregisterFixedPositionedObject):
        (WebCore::FrameView::scrollContentsFastPath):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::scrollContentsFastPath):
        * platform/ScrollView.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):
        (WebCore::RenderObject::destroy):

2010-01-22  Anton Muhin  <antonm@chromium.org>

        Reviewed by Eric Seidel.

        Adding ScriptWrappable into WebCore.
        This allows to associate custom information when Node
        gets wrapped into JavaScript wrapper.

        [v8, dom] Add a pointer field to C++ Node class
        https://bugs.webkit.org/show_bug.cgi?id=32430

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptWrappable.h: Added.
        (WebCore::ScriptWrappable::ScriptWrappable):
        * bindings/v8/ScriptWrappable.h: Added.
        (WebCore::ScriptWrappable::ScriptWrappable):
        (WebCore::ScriptWrappable::wrapper):
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::ScriptWrappable::clearWrapper):
        * dom/Node.h:

2010-01-22  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Add stub implementation of dispatchOnInjectedScript method so that
        Chromium source can compile against it and the main fix for the bug
        28622 can be landed without breaking Chromium build.

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

        * inspector/InspectorBackend.h:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):

2010-01-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Dmitry Titov.

        ENABLE(DATABASE) guard is missing in ScriptExecutionContext::~ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=33990

        Add missing ENABLE(DATABASE) guard.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):

2010-01-22  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=33590

        * bindings/scripts/generate-bindings.pl:

2010-01-22  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=33590

        Rename FEATURE_DEFINES_JAVASCRIPT to FEATURE_DEFINES and remove
        the hardcoded LANGUAGE_JAVASCRIPT=1, in preparation for its use by
        the GObject DOM bindings.

        * GNUmakefile.am:

2010-01-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7568696> Zoom applied to embedded SVG incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=33988

        Test: svg/custom/text-zoom.xhtml

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement): Initialize m_scale.
        (WebCore::SVGSVGElement::currentScale): If this is the document element,
        return the frame’s zoom factor. Otherwise, return m_scale.
        (WebCore::SVGSVGElement::setCurrentScale): If this is the document element,
        set the frame’s zoom factor. Otherwise, set m_scale and mark for layout.
        * svg/SVGSVGElement.h: Added m_scale member.

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

        Reviewed by Eric Seidel.

        [chromium] Add allowPlugins callback to allow per-site enabling of plugins
        https://bugs.webkit.org/show_bug.cgi?id=33974

        Add a callback into the FrameLoaderClient to let the embedder enable or
        disable plugins on a per-site basis.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::requestObject):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::allowPlugins):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25501
        Remove empty font tags when applying a style to a content editable
        region.

        Test: editing/execCommand/change-font.html

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

2010-01-21  Joe Mason  <jmason@rim.com>

        Reviewed by Darin Adler.

        Promote pow argument to double to resolve ambiguous overload (compile fix for RVCT 4.0)
        https://bugs.webkit.org/show_bug.cgi?id=33952

        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::gamma):

2010-01-21  Andrei Popescu  <andreip@google.com>

        Reviewed by David Levin.

        [Android] bindings/v8/ScriptController.cpp needs to include
        PlatformBridge.h instead of ChromiumBridge.h so that it can
        be used on both Chromium and Android.
        https://bugs.webkit.org/show_bug.cgi?id=33673

        Add "static NPObject* pluginScriptableObject(Widget*);" method
        to PlatformBridge.h
        Include PlatformBridge.h from ScriptController.cpp.

        No new tests, just platform code.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * platform/android/PlatformBridge.h:

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

        Reviewed by Maciej Stachowiak.

        history.back() for same-document history traversals isn't synchronous as the specification states.
        <rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538

        In resolving https://bugs.webkit.org/show_bug.cgi?id=25570, all history.back()/forward()/go() navigations
        were made asynchronous. That doesn't agree with the HTML5 spec and might have been overreaching for fixing
        that particular bug. In working with the new history state APIs I noticed some things that should've been
        possible were not possible because of this change.

        The change in loading behavior is well covered via modifications to previous tests.

        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleHistoryNavigation): Determine beforehand if the traversal is
          a same-document navigation. If it is, perform the load directly instead of scheduling it.

2010-01-21  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Don't allow Phonon's invisible video widget to keep the app running.
        https://bugs.webkit.org/show_bug.cgi?id=33842

        The change made in r38223 should not be limited to Qt < 4.5 only.

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):

2010-01-21  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsDate setter support for type=datetime.
        https://bugs.webkit.org/show_bug.cgi?id=33939

        Introduce ISODateTime::setMillisecondsSinceEpochForDateTime() and add
        DateTime type support to ISODateTime::toString().

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueAsDate):
        * html/ISODateTime.cpp:
        (WebCore::ISODateTime::setMillisecondsSinceEpochForDate):
         Set Invalid to m_type.
        (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTime):
        (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
         Set Invalid to m_type.
        (WebCore::ISODateTime::setMillisecondsSinceMidnight):
         Set Invalid to m_type.
        (WebCore::ISODateTime::toString):
         Support DateTime type. This always produces UTC representation.
        * html/ISODateTime.h:

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

        Reviewed by Sam Weinig.

        Fixed <rdar://problem/7562574> ASSERT in WebCore::removeWrapper() at the
        end of run-webkit-tests
        
        This was an ASSERT-only bug, introduced by isolated worlds, which
        created the novelty of a wrapper that might outlive its wrapper cache.
        
        When a wrapper outlived its wrapper cache, both the wrapper's destructor
        and the wrapper cache's destructor would claim to have uncached the wrapper,
        causing an ASSERT to fire.
        
        The solution is to distinguish between operations that logically add and
        remove cache entries, and operations that delete whole caches. We track
        when a cache entry is logically added, and when it's logically removed,
        independent of whether the actual cache still exists.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::willCacheWrapper):
        (WebCore::didUncacheWrapper): New names for these functions to help
        explain what they track.

        (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Don't claim to uncache
        all the wrappers in the world; we're deleting the cache, not managing its
        entries.

        (WebCore::cacheDOMObjectWrapper):
        (WebCore::forgetDOMObject):
        (WebCore::forgetDOMNode):
        (WebCore::cacheDOMNodeWrapper):
        (WebCore::forgetAllDOMNodesForDocument):
        (WebCore::forgetWorldOfDOMNodesForDocument):
        (WebCore::takeWrappers):
        (WebCore::updateDOMNodeDocument): Updated for renames.

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

        Reviewed by Sam Weinig.

        SVG JS bindings "context" pointer needs to move onto binding impls
        https://bugs.webkit.org/show_bug.cgi?id=27243

        Rewrite SVG DOM JSC bindings to use a global DOMObject <-> SVGElement context map, similar to V8's approach.
        This allows us to remove DOMObjectWithSVGContext and make all SVG JS objects use DOMObjectWithGlobalPointer.
        We're fitting again in JS_CELL_SIZE, and there's no need to special case SVG anymore.

        Not adding a new test, as we have yet to identify how to test that we're passing around correct global objects.
        For now this is just a code cleanup which lets me continue making progress in that area of the code.

        * GNUmakefile.am: Add new DOMObjectWithSVGContext.h to build.
        * WebCore.gypi: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/DOMObjectWithSVGContext.h: Removed.
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException): Add comment, that passing 0 context is intentional.
        * bindings/js/JSDOMBinding.h:
        (WebCore::createDOMObjectWrapper): Add to JSSVGContextCache, when creating wrappers.
        (WebCore::getDOMObjectWrapper): Add assertion guarding the JSSVGContextCache is in-sync with the passed context.
        * bindings/js/JSSVGContextCache.h: Added. Maps DOMObjects to SVGElements - just like V8 approachs to this problem.
        (WebCore::JSSVGContextCache::wrapperMap):
        (WebCore::JSSVGContextCache::addWrapper):
        (WebCore::JSSVGContextCache::forgetWrapper):
        (WebCore::JSSVGContextCache::propagateSVGDOMChange): 
        (WebCore::JSSVGContextCache::svgContextForDOMObject):
        * bindings/js/JSSVGLengthCustom.cpp: Retrieve context from cache, instead of taking it from the JS* class.
        (WebCore::JSSVGLength::value):
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSSVGMatrixCustom.cpp Ditto.:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::rotateFromVector):
        * bindings/js/JSSVGPODListCustom.h: Ditto.
        (WebCore::JSSVGPODListCustom::finishGetter):
        (WebCore::JSSVGPODListCustom::finishSetter):
        (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
        (WebCore::JSSVGPODListCustom::clear):
        (WebCore::JSSVGPODListCustom::initialize):
        * bindings/js/JSSVGPODTypeWrapper.h: Ditto.
        (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
        (WebCore::JSSVGStaticPODTypeWrapper::commitChange):
        (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
        (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
        * bindings/js/JSSVGPathSegCustom.cpp: Ditto.
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp: Ditto.
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/scripts/CodeGeneratorJS.pm:
        * svg/SVGAngle.h: Remove unneeded associatedAttributeName() method.
        * svg/SVGPreserveAspectRatio.h: Ditto.
        * svg/SVGTransform.h: Ditto.

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

        Build fix, add missing header.

        * dom/ScriptExecutionContext.cpp:

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

        Reviewed by Dan Bernstein.

        -webkit-mask-box-image draws a box while loading
        https://bugs.webkit.org/show_bug.cgi?id=33979
        <rdar://problem/7378662>
        
        Don't render masked elements until the mask images are fully loaded.

        Test: http/tests/misc/slow-loading-mask.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMaskImages): Check that all mask images (both the single mask-box-image,
        and the possibly multiple mask-image) are fully loaded before allowing the masked content to render.
        If they are not fully loaded, use a fully transparent transparency layer.
        
        * rendering/style/FillLayer.h:
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::imagesAreLoaded): New utility function that returns true if the image
        in every FillLayer is loaded.

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

        Reviewed by Mark Rowe.

        REGRESSION (r52795): New message created in response to mailto: URL has random character in message body
        rdar://problem/7565902

        This regression affects the Mac OS X Mail application.
        I was not able to find a simple way to create a regression test.

        * platform/cf/SharedBufferCF.cpp:
        (WebCore::SharedBuffer::SharedBuffer): Initialize m_size to 0 as in the other constructors.

2010-01-21  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Script tags are copied and pasted, making cross-domain attacks possible.
        https://bugs.webkit.org/show_bug.cgi?id=33970

        Tests: editing/pasteboard/paste-noscript-svg.html
               editing/pasteboard/paste-visible-script.html

        We remove the content and the attributes of every script tag before
        pasting into the destination.
        
        * dom/Element.cpp:
        (WebCore::Element::setAttributeMap): Now we are removing xlink:href
        if it contains javascript protocol.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::parseToken): We strip all the script tag attributes
        we are parsing to create a fragment to paste.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::scriptHandler): Removes the script text after it was parsed.
        * html/HTMLTokenizer.h:

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

        Reviewed by Dirk Schulze.

        <use> with % lengths does not update on window resize
        https://bugs.webkit.org/show_bug.cgi?id=14639

        appendChild broken for symbol-use
        https://bugs.webkit.org/show_bug.cgi?id=24802

        Test: svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml
              svg/custom/svg/custom/relative-sized-use-on-symbol.xhtml

        Fix reaction on window size changes for relative sized elements within <symbol> elements.
        Don't evaluate SVGUseElement width/height attributes in order to propagate them to the shadow tree,
        instead just propagate the attribute values itself so "100%" remains "100%" instead of being evaluated
        to an absolute pixel value in the parent <svg> user-space.

        Needs another fix in SVGStyledElement::childrenChanged(), which is a regression from my last <use>
        patch, that hasn't been detected, as the use-dynamic-append.svg testcase was broken.

        The combination of all the last <use> patches finally fixes the peepo.co.uk website, which was broken by several bugs for years.

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::childrenChanged): Need to mark shadow trees needing recalcs, even when parsing.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged): Don't reclone for width/height attribute changes, just propagate them down the render tree
        (WebCore::updateContainerSize): Added helper function, updating the width/height attributes in the shadow tree.
        (WebCore::SVGUseElement::updateContainerSizes):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Update container width/height after shadow tree creation, instead of doing it inbetween.
        (WebCore::SVGUseElement::buildShadowTree): Don't alter width/height attributes here anymore.
        (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
        * svg/SVGUseElement.h:

2010-01-21  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33972
        Assertion failure in FrameLoader::checkLoadComplete()

        I couldn't make a test for this, after trying rather hard. I'm not too worried, because such
        a test has to depend on details of current implementation so intimately that it would become
        ineffective very quickly anyway.

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders): Stop the check timer, we
        don't need it after aborting load.

2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Dave Hyatt.

        Buildfix for r53646.

        * bindings/js/SerializedScriptValue.cpp: path of JSLock.h fixed.

2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r53644.

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::scroll): missing HAVE(ACCESSIBILITY) guard added.

2010-01-21  Darin Fisher  <darin@chromium.org>

        Reviewed by David Levin.

        Unnecessary call to HistoryItem::targetItem in HistoryController::pushState
        https://bugs.webkit.org/show_bug.cgi?id=33969

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::pushState): Remove unnecessary code.

2010-01-21  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, Chromium build fix. Add AccessibilityScrollbar.h and .cpp to WebCore.gypi

        * WebCore.gypi:

2010-01-21  Albert J. Wong  <ajwong@chromium.org>

        [chromium] Unreviewed build fix.

        Fix possible use of initialized variable warning in release mode.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Deserializer::doDeserialize):

2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r53644.

        * WebCore.pro: accessibility/AccessibilityScrollbar.cpp and accessibility/AccessibilityScrollbar.h added.

2010-01-21  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt.

        Make sure to do a JSLock before deserialization of script values, since they can heap allocate.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValueData::deserialize):

2010-01-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=33923 REGRESSION 
        (Safari 4): AXValueChanged no longer sent for text area scrollbars
        -and corresponding-
        <rdar://problem/6942686>

        New class AccessibilityScrollbar inherits directly from 
        AccessibilityObject.
        * accessibility/AccessibilityScrollbar.cpp: Added.
        (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
        (WebCore::AccessibilityScrollbar::create):
        (WebCore::AccessibilityScrollbar::valueForRange):
        * accessibility/AccessibilityScrollbar.h: Added.
        (WebCore::AccessibilityScrollbar::setScrollbar):
        (WebCore::AccessibilityScrollbar::roleValue):
        (WebCore::AccessibilityScrollbar::accessibilityIsIgnored):
        (WebCore::AccessibilityScrollbar::size):
        (WebCore::AccessibilityScrollbar::elementRect):
        (WebCore::AccessibilityScrollbar::parentObject):

        AXObjectCache::getOrCreate() now has a case for ScrollBarRole, 
        which will create a new AccessibilityScrollbar. I also added a new 
        version of postNotification() that does not require a renderer. The 
        old postNotification() calls the new one.
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
        (WebCore::AXObjectCache::postNotification):
        * accessibility/AXObjectCache.h:

        When AX is enabled, getOrCreate an AccessibilityScrollbar and send 
        a notification.
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::scroll):

        Fix project files.
        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:

2010-01-21  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dmitry Titov.

        Add changes missing from r53595, without which Chromium has no database.

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

        No new tests - fixes database layout tests in Chromium.

        * bindings/v8/RuntimeEnabledFeatures.cpp:
        * bindings/v8/RuntimeEnabledFeatures.h:

2010-01-21  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Adam Treat.

        Don't call vgGetError()/eglGetError() repeatedly
        https://bugs.webkit.org/show_bug.cgi?id=33959

        For vgGetError(), I missed the part of the spec where
        it says that calling that function clears the error
        and subsequent calls will return VG_NO_ERROR again.

        For eglGetError(), the specification doesn't mention
        that kind of behavior, and interpretations seem to
        differ between EGL implementations (even within
        Khronos: the OpenVG reference implementation doesn't
        reset the error code - and even mentions the difference
        to vgGetError() in a comment - whereas the online
        OpenGL ES API document explicitly specifies clearing
        the error code).

        It thus makes sense not to call either of the two
        error functions more than once for checking a single
        EGL/OpenVG call. This patch adapts assertions to
        accommodate for this behavior, and also needs to
        change surface creation methods as they previously
        relied on multiple calls of eglGetError().

        * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
        (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
        (WebCore::EGLDisplayOpenVG::createPbufferSurface):
        * platform/graphics/openvg/EGLDisplayOpenVG.h:
        * platform/graphics/openvg/EGLUtils.h:
        * platform/graphics/openvg/SurfaceOpenVG.cpp:
        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
        * platform/graphics/openvg/SurfaceOpenVG.h:
        * platform/graphics/openvg/VGUtils.h:

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

        Reviewed by Dave Hyatt.

        Hit testing on composited plugins is broken
        https://bugs.webkit.org/show_bug.cgi?id=33927
        <rdar://problem/7559069>

        RenderWidget::paint()'s strategy of moving widgets at paint time, using tx and ty, was flawed
        because tx,ty are not always root-relative, especially when painting into compositing layers.
        This would move widgets to the wrong location, which caused hit testing issues.
        
        Widgets are usually positioned by layout. The one time this was not true was scrolling fixed-position
        elements, so we now reposition widgets after scrolling too.
        
        There was a related problem, which was that widgets expect the graphics context to be set up for
        root-relative painting. To fix this, adjust the CTM and the paintRect when the widget's frameRect
        is in a different coordinate system to the painting offset.
        
        Test: plugins/mouse-events-fixedpos.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged): Update widget positions, to handle widgets in fixed position
        elements, but only if we're not already inside of layout.

        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContext::translate): Add a translate() convenience method that takes a FloatSize.

        * platform/graphics/IntSize.h:
        (WebCore::IntSize::isZero): Add a convenience method for testing for a zero size.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::paint): Adjust a comment.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint): Detect when the widget's frame is in a different coordinate system
        to painting, and adjust the CTM and paintRect in that case.

2010-01-21  Andrei Popescu  <andreip@google.com>

        Reviewed by David Levin.

        [Android] bindings/v8/NPV8Object.cpp does not compile on Android
        https://bugs.webkit.org/show_bug.cgi?id=33608

        Use the standard WebKit header in bridge/npruntime.h.
        Include PlatformBridge.h instead of ChroimiumBridge.h.
        Add popupsAllowed() method to PlatformBridge.h on Android.
        Add ARRAYSIZE_UNSAFE to PlatformBridge.h on Android.

        No new tests, fixing the build.

        * bindings/v8/NPV8Object.cpp:
        (_NPN_Evaluate):
        * bindings/v8/NPV8Object.h:
        * platform/android/PlatformBridge.h:

2010-01-21  Andrei Popescu  <andreip@google.com>

        Reviewed by David Levin.

        Add PlatformBridge.h header and a typedef to give ChromiumBridge a new name: PlatformBridge.
        https://bugs.webkit.org/show_bug.cgi?id=33917

        No new tests needed, this is just to allow other methods to call ChromiumBridge
        using the new 'PlatformBridge' name.

        * platform/chromium/PlatformBridge.h: Added.

2010-01-21  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r53625.

        Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
        https://bugs.webkit.org/show_bug.cgi?id=30106

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMediaSliderTrack):

2010-01-21  Andrei Popescu  <andreip@google.com>

        Reviewed by David Levin.

        [Android] bindings/v8/V8DOMWrapper.h[cpp] are missing guards for XPATH and XSLT features
        https://bugs.webkit.org/show_bug.cgi?id=33944

        Inside V8DOMWrapper.h[cpp], the code for XPATH and XSLT features is not guarded
        by the appropriate #if ENABLE(feature) macros. Add the missing guards.
        V8DOMWrapper.cpp includes ChromiumBridge.h for no reason. Remove the include.

        No new tests needed, functionality not changed.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/V8DOMWrapper.h:

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

        Reviewed by Darin Adler.

        Intermittent crash when media element is adopted by another document
        https://bugs.webkit.org/show_bug.cgi?id=33919
        rdar://problem/7557527
        
        Test: media/adopt-node-crash.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Unregister for
        document callbacks.
        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Register for
        document callbacks.
        * html/HTMLMediaElement.h:

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

        More Windows build fixing

        * WebCore.vcproj/WebCore.vcproj: Copy bridge/jsc in the post-build
        event of all configurations, not just Debug.

2010-01-21  Thiago Macieira  <thiago.macieira@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix incorrect dependency to QtXmlPatterns in generated include/QtWebKit/QtWebKit header

        The generated file includes QtXmlPatterns/QtXmlPatterns, which is neither used/required by
        the public QtWebKit API nor will it be available if Qt is configured with -no-xmlpatterns.

        * WebCore.pro: Trick syncqt to believe that xmlpatterns is not a dependency, so that it's not
        included in the generated file. It'll still be used and linked to with this trick.

2010-01-21  Steve Block  <steveblock@google.com>

        Unreviewed build fix.

        Copy BridgeJSC.h to generated headers on Windows

        No new tests, build fix only.

        * WebCore.vcproj/WebCore.vcproj:

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

        Reviewed by Darin Adler.

        Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
        https://bugs.webkit.org/show_bug.cgi?id=30106

        No new tests, only dead code was removed.

        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::currentTime):
        (WebCore::MediaPlayerPrivate::doSeek):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/wince/MediaPlayerPrivateWince.h:

2010-01-21  Iain Campbell <iain.campbell@accenture.com>

        Reviewed by Simon Hausmann.

        [Qt] Simplify the qmake code for freezing QtWebKit on Symbian.

        * WebCore.pro:

2010-01-21  Steve Block  <steveblock@google.com>

        Unreviewed speculative build fix for Windows.

        Adds missing include path for JSCBridge.h on Windows, added in http://trac.webkit.org/changeset/53620

        No new tests, build fix only.

        * WebCore.vcproj/WebCoreCommon.vsprops:

2010-01-21  Steve Block  <steveblock@google.com>

        Unreviewed build fix.

        Adds missing include path for JSCBridge.h, added in http://trac.webkit.org/changeset/53620

        No new tests, build fix only.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2010-01-21  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Move bridge interfaces Field, Class, Instance and Array from Bridge to BridgeJSC
        https://bugs.webkit.org/show_bug.cgi?id=33589

        These interfaces use JSC-specific types, so are moved out of Bridge.h to allow the file to
        be used with both JSC and V8.

        No new tests, refactoring only.

        * Android.jscbindings.mk: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
        * GNUmakefile.am: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
        * WebCore.pro: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
        * WebCore.xcodeproj/project.pbxproj: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
        * WebCoreSources.bkl: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
        * bridge/Bridge.cpp: Removed.
        * bridge/Bridge.h: Modfied. Moved Field, Class, Instance and Array interfaces to BridgeJSC.h
        * bridge/jsc: Added.
        * bridge/jsc/BridgeJSC.cpp: Copied from WebCore/bridge/Bridge.cpp.
        * bridge/jsc/BridgeJSC.h: Copied from WebCore/bridge/Bridge.h.

2010-01-21  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Fixes style in WebCore/bridge/jni/JNIBridge
        https://bugs.webkit.org/show_bug.cgi?id=33914

        No new tests, style fixes only.

        * bridge/jni/JNIBridge.cpp:
        * bridge/jni/JNIBridge.h:

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

        Reviewed by Oliver Hunt.

        [GTK] handle media redirections
        https://bugs.webkit.org/show_bug.cgi?id=33539

        Media redirections support.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateMessageCallback):
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::mediaLocationChanged):
        (WebCore::MediaPlayerPrivate::loadNextLocation):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        (WebCore::MediaPlayerPrivate::pipelineReset):

2010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Antti Koivisto.

        [Qt] Implement GraphicsLayer for accelerated layer compositing
        https://bugs.webkit.org/show_bug.cgi?id=33514

        No new tests: tests in LayoutTests/compositing are now relevant for
        QtWebkit!

        * WebCore.pro: added accelerated-compositing related files 
        * platform/graphics/GraphicsLayer.h: define Qt-specific implementation           of GraphicsLayer
        * platform/graphics/qt/GraphicsLayerQt.cpp: Added.
        (WebCore::GraphicsLayerQtImpl::): Implementation of GraphicsLayer with
        a QGraphicsItem
        (WebCore::GraphicsLayerQtImpl::ContentData::ContentData): save 
        pixmap/color info for directly composited content
        (WebCore::GraphicsLayerQtImpl::State::State): save info for syncing
        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): ctor
        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): dtor
        (WebCore::GraphicsLayerQtImpl::setBaseTransform): set Qt
        transformation in the way WebCore wants it
        (WebCore::GraphicsLayerQtImpl::opaqueArea): calculate opaque area
        based on info we have
        (WebCore::GraphicsLayerQtImpl::boundingRect): reimp QGraphicsItem
        (WebCore::GraphicsLayerQtImpl::paint): reimp QGraphicsItem
        (WebCore::GraphicsLayerQtImpl::drawContents): draw HTML/Pixmap/Color
        (WebCore::GraphicsLayerQtImpl::notifyChange): let WebCore know
        something has changed
        (WebCore::GraphicsLayerQtImpl::flushChanges): Make the changes appear
        on screen by setting them to QGraphicsItems
        (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): let WebCore
        know the QAnimation started
        (WebCore::GraphicsLayerQt::GraphicsLayerQt): ctor
        (WebCore::GraphicsLayerQt::~GraphicsLayerQt): dtor
        (WebCore::GraphicsLayer::create): hook for WebCore to know we're
        implementing compositing
        (WebCore::GraphicsLayer::compositingCoordinatesOrientation): hook for
        WebCore to know we use a top-down system
        (WebCore::GraphicsLayerQt::setNeedsDisplay): update the display
        (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): udpate part of the
        display
        (WebCore::GraphicsLayerQt::setName): reimp
        (WebCore::GraphicsLayerQt::setParent): reimp
        (WebCore::GraphicsLayerQt::setChildren): reimp
        (WebCore::GraphicsLayerQt::addChild): reimp
        (WebCore::GraphicsLayerQt::addChildAtIndex): reimp
        (WebCore::GraphicsLayerQt::addChildAbove): reimp
        (WebCore::GraphicsLayerQt::addChildBelow): reimp
        (WebCore::GraphicsLayerQt::replaceChild): reimp
        (WebCore::GraphicsLayerQt::removeFromParent): reimp
        (WebCore::GraphicsLayerQt::setMaskLayer): reimp
        (WebCore::GraphicsLayerQt::setPosition): reimp
        (WebCore::GraphicsLayerQt::setAnchorPoint): reimp
        (WebCore::GraphicsLayerQt::setSize): reimp
        (WebCore::GraphicsLayerQt::setTransform): reimp
        (WebCore::GraphicsLayerQt::setChildrenTransform): reimp
        (WebCore::GraphicsLayerQt::setPreserves3D): reimp
        (WebCore::GraphicsLayerQt::setMasksToBounds): reimp
        (WebCore::GraphicsLayerQt::setDrawsContent): reimp
        (WebCore::GraphicsLayerQt::setBackgroundColor): reimp
        (WebCore::GraphicsLayerQt::clearBackgroundColor): reimp
        (WebCore::GraphicsLayerQt::setContentsOpaque): reimp
        (WebCore::GraphicsLayerQt::setBackfaceVisibility): reimp
        (WebCore::GraphicsLayerQt::setOpacity): reimp
        (WebCore::GraphicsLayerQt::setContentsRect): reimp
        (WebCore::GraphicsLayerQt::setContentsToImage): reimp
        (WebCore::GraphicsLayerQt::setContentsBackgroundColor): reimp
        (WebCore::GraphicsLayerQt::setGeometryOrientation): reimp
        (WebCore::GraphicsLayerQt::setContentsOrientation): reimp
        (WebCore::GraphicsLayerQt::distributeOpacity): reimp
        (WebCore::GraphicsLayerQt::accumulatedOpacity): reimp
        (WebCore::GraphicsLayerQt::syncCompositingState): reimp
        (WebCore::GraphicsLayerQt::nativeLayer): reimp (QGraphicsItem*)
        (WebCore::GraphicsLayerQt::platformLayer): reimp (QGraphicsItem*)
        (WebCore::solveEpsilon): copy from AnimationBase.cpp
        (WebCore::solveCubicBezierFunction): copy from AniamtionBase.cpp
        (WebCore::applyTimingFunction): use WebCore's timing and not Qt's
        (WebCore::webkitAnimationToQtAnimationValue): safely figure out
        animation values
        (WebCore::AnimationQtBase::AnimationQtBase): base class for Qt-based
        Webcore-initiated animations
        (WebCore::AnimationQtBase::updateState): notify when an animation
        starts
        (WebCore::AnimationQtBase::duration): reimp QAbstractAnimation
        (WebCore::AnimationQt:::AnimationQtBase):
        (WebCore::AnimationQt::updateCurrentTime): realize keyframes from
        progress
        (WebCore::TransformAnimationQt::TransformAnimationQt): ctor
        (WebCore::TransformAnimationQt::~TransformAnimationQt): dtor
        (WebCore::TransformAnimationQt::applyFrame): set the actual QTransform
        based on WebCore TransformOperations
        (WebCore::TransformAnimationQt::updateState): change cache mode
        (WebCore::OpacityAnimationQt::OpacityAnimationQt):
        (WebCore::OpacityAnimationQt::applyFrame): change item's opacity
        (WebCore::OpacityAnimationQt::updateState):
        (WebCore::GraphicsLayerQt::addAnimation): convert WebCore Animation to
        Qt Animation
        (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
        (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
        (WebCore::GraphicsLayerQt::pauseAnimation):
        (WebCore::GraphicsLayerQt::suspendAnimations):
        (WebCore::GraphicsLayerQt::resumeAnimations):
        * platform/graphics/qt/GraphicsLayerQt.h: Added.
        * platform/qt/QWebPageClient.h: virtual functions for QGraphicsWebView
        compositing
        (QWebPageClient::setRootGraphicsLayer): let QGraphicsWebView know that
        compositing has started/ended
        (QWebPageClient::markForSync): let QGraphicsWebView know the
        compositing layers need to sync, either soon or with the next update

2010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Adding QPixmap/QImage support for the Qt hybrid layer
        Allows accesing QPixmap and QImage based arguments from Qt signals,
        slots and properties
        This is done by an intermediate object that can be turned into
        web-based objects by calling either toHTMLImageElement() or
        toDataURL()
        https://bugs.webkit.org/show_bug.cgi?id=32461

        Tests are in WebKit/qt/tests/hybridPixmap

        * WebCore.pro:
        * bridge/qt/qt_pixmapruntime.cpp: Added.
        (JSC::Bindings::QtPixmapWidthField::name): "width"
        (JSC::Bindings::QtPixmapWidthField::valueFromInstance): width of
        pixmap
        (JSC::Bindings::QtPixmapWidthField::setValueToInstance): nothing
        (JSC::Bindings::QtPixmapHeightField::name): "height"
        (JSC::Bindings::QtPixmapHeightField::valueFromInstance): height of
        pixmap
        (JSC::Bindings::QtPixmapHeightField::setValueToInstance): nothing
        (JSC::Bindings::QtPixmapRuntimeMethod::numParameters): 0
        (JSC::Bindings::QtPixmapCreateElementMethod::name): toHTMLImageElement
        (JSC::Bindings::QtPixmapCreateElementMethod::invoke): creates an HTML
        element from the QPixmap
        (JSC::Bindings::QtPixmapToDataUrlMethod::name): "toDataURL"
        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): encodes the image to
        a base64 data url
        (JSC::Bindings::QtPixmapToStringMethod::name): "toString"
        (JSC::Bindings::QtPixmapToStringMethod::invoke): [Qt Native Pixmap
        w,h]

        (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure):
        runtime-object broilerplate
        (JSC::Bindings::QtPixmapRuntimeObjectImp::classInfo): ditto
        (JSC::Bindings::QtPixmapRuntimeObjectImp::QtPixmapRuntimeObjectImp):
        ditto
        (JSC::Bindings::): ditto
        (JSC::Bindings::QtPixmapClass::QtPixmapClass): class for the
        intermediate pixmap-holder 
        (JSC::Bindings::QtPixmapInstance::getClass): ditto
        (JSC::Bindings::QtPixmapInstance::invokeMethod): ditto
        (JSC::Bindings::QtPixmapClass::methodsNamed): toHTMLImageElement,
        toDataURL
        (JSC::Bindings::QtPixmapClass::fieldNamed): width, height
        (JSC::Bindings::QtPixmapInstance::getPropertyNames):
                toHTMLImageElement, toDataURL, width, height
        (JSC::Bindings::QtPixmapInstance::defaultValue): nothing
        (JSC::Bindings::QtPixmapInstance::valueOf): toString
        (JSC::Bindings::data): holds a QVariant of type QImage/QPixmap
        (JSC::Bindings::QtPixmapInstance::width): width of the image/pixmap
        (JSC::Bindings::QtPixmapInstance::height): height of the image/pixmap
        (JSC::Bindings::QtPixmapInstance::toPixmap): converts to a QPixmap
        (JSC::Bindings::QtPixmapInstance::toImage): converts to a QImage
        (JSC::Bindings::QtPixmapInstance::variantFromObject): makes sure this
        is the right type of object, and creates a QVariant
        (JSC::Bindings::QtPixmapInstance::createRuntimeObject): creates a new
        intermediate pixmap holder from a QVariant
        (JSC::Bindings::QtPixmapInstance::canHandle): returns true if a
        QPixmap/QImage is required
        * bridge/qt/qt_pixmapruntime.h: Added.
        * bridge/qt/qt_runtime.cpp: hooks for the bridge
        (JSC::Bindings::convertValueToQVariant): handle QPixmap/QImage if the
        object is the intermediate pixmap holder or an HTMLImageElement
        (JSC::Bindings::convertQVariantToValue): creates the intermediate
        object from a QVariant of type QImage/QPixmap

2010-01-21  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Custom select popups.
        https://bugs.webkit.org/show_bug.cgi?id=33418

        Optimization of the WebCore support to combobox popup delegate.

        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::show):
        * platform/qt/QtAbstractWebPopup.cpp:
        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
        (WebCore::QtAbstractWebPopup::itemType):
        * platform/qt/QtAbstractWebPopup.h:
        (WebCore::QtAbstractWebPopup::):
        (WebCore::QtAbstractWebPopup::itemText):
        (WebCore::QtAbstractWebPopup::itemToolTip):
        (WebCore::QtAbstractWebPopup::itemIsEnabled):
        (WebCore::QtAbstractWebPopup::itemCount):
        (WebCore::QtAbstractWebPopup::view):
        (WebCore::QtAbstractWebPopup::geometry):
        (WebCore::QtAbstractWebPopup::currentIndex):
        (WebCore::QtAbstractWebPopup::font):

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

        Reviewed by Darin Adler.

        Stylesheet href property shows redirected URL unlike other browsers
        https://bugs.webkit.org/show_bug.cgi?id=33683

        Teach StyleSheet the difference between original and final URLs in
        redirect chains.  Unfortunately, StyleSheet needs to know both of these
        URLs.  The original URL is needed for the href property and the final
        URL is needed as the baseURL.

        This change required touching a lot of lines of code because we need to
        plumb this information to the StyleSheet object.  I audited all
        existing clients of href() and setHref() to see whether they wanted the
        original or final URLs.  I then updated the clients (except the JS
        bindings themselves) to use the correct accessor.

        Test: http/tests/security/stylesheet-href-redirect.html

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet):
        (WebCore::CSSImportRule::insertedIntoParent):
        * css/CSSImportRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::create): 
        (WebCore::CSSStyleSheet::createInline): Added a new constructor to deal
        with "inline" style sheets that don't have a distinct original and
        final URL.
        * css/StyleBase.cpp:
        (WebCore::StyleBase::baseURL): This code wants to use the final URL,
        not the original URL.  Updated it to grab the baseURL directly.
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        * css/StyleSheet.h:
        (WebCore::StyleSheet::href):
        (WebCore::StyleSheet::setBaseURL): This function really just updates
        the base URL of the style sheet, so I made it more explicit.
        (WebCore::StyleSheet::putativeBaseURL): We need an accessor for the
        base URL, but baseURL is already taken.
        * dom/Document.cpp:
        (WebCore::Document::updateBaseURL):
        (WebCore::Document::pageUserSheet):
        (WebCore::Document::pageGroupUserSheets):
        (WebCore::Document::elementSheet):
        (WebCore::Document::mappedElementSheet):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        (WebCore::ProcessingInstruction::setXSLStyleSheet):
        * dom/ProcessingInstruction.h:
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLLinkElement.h:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::didAddClient):
        (WebCore::CachedCSSStyleSheet::checkNotify): This code now passes both
        the original and final URL into setCSSStyleSheet so that the style
        sheet can have both.
        * loader/CachedResourceClient.h:
        (WebCore::CachedResourceClient::setCSSStyleSheet):
        (WebCore::CachedResourceClient::setXSLStyleSheet):
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::didAddClient):
        (WebCore::CachedXSLStyleSheet::checkNotify): I don't have any direct
        evidence that we need to change the XSLStyleSheet behavior, which is
        why I wasn't able to add a test for the behavior.  However, the objects
        are parallel enough that it seemed like the right thing to do.
        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::setXSLStyleSheet):
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLImportRule.h:
        * xml/XSLStyleSheet.h:
        (WebCore::XSLStyleSheet::create):
        (WebCore::XSLStyleSheet::createEmbedded):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        (WebCore::XSLStyleSheet::parseString):
        (WebCore::XSLStyleSheet::loadChildSheets):
        * xml/XSLStyleSheetQt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::xsltStylesheetPointer):
        * xml/XSLTProcessorQt.cpp:
        (WebCore::XSLTProcessor::transformToString):

2010-01-20  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Alexey Proskuryakov.

        Use xmlStrdup instead of strdup for consistency in Libxml2.
        https://bugs.webkit.org/show_bug.cgi?id=33935

        Remove the direct use of strdup.

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::):
        (WebCore::XMLTokenizer::error):

2010-01-20  Oliver Hunt  <oliver@apple.com>

        Reviewed by Dan Bernstein.

        Insufficient repaint issues with html embedded in foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=16318

        Final part of fix -- now we render the selection rect of list
        markers in a transformed context.

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::localSelectionRect):
        (WebCore::RenderListMarker::paint):
        * rendering/RenderListMarker.h:

2010-01-20  Daniel Bates  <dbates@webkit.org>

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

        Rolling out the change committed in change set 53591
        <http://trac.webkit.org/changeset/53591> because it caused
        a regression of test /fast/replaced/table-percent-height.html
        on the Qt bot.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustButtonStyle):

2010-01-20  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Disable the "seatbelt" coordinate validation functions in the
        Skia graphics layer.  We believe all the underlying bugs have
        been fixed, but just in case we're being overly optimistic, this
        leaves in the code for an easy revert.

        https://bugs.webkit.org/show_bug.cgi?id=33908
        Exercised by many layout tests.

        * platform/graphics/skia/GraphicsContextSkia.cpp:

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

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsDate setter support for type=date.
        https://bugs.webkit.org/show_bug.cgi?id=33911

        Introduce ISODateTime::setMillisecondsSinceEpochForDate() and add Date
        type support to ISODateTime::toString().

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueAsDate):
        * html/ISODateTime.cpp:
        (WebCore::ISODateTime::setMillisecondsSinceEpochForDate):
        (WebCore::ISODateTime::toString):
        * html/ISODateTime.h:

2010-01-20  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        Touch Events are not sent to iframes
        https://bugs.webkit.org/show_bug.cgi?id=33894

        Fix the touch event handler so it does not bail out early if the main frame document does not have any touch listeners registered, as there may be embedded iframes that have registered for touch events.

        Test: fast/events/touch/touch-inside-iframe.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent): Instead of looking at the document of the main frame to see if touch event listeners are registered, look at the document of the target element to account for iframes.

2010-01-20  Michael Nordman  <michaeln@google.com>

        Reviewed by Alexey Proskuryakov.

        Remove an assertion that is not valid in some detached iframes cases.
        https://bugs.webkit.org/show_bug.cgi?id=33827

        Test: http/tests/appcache/detached-iframe.html

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::DOMApplicationCache):

2010-01-20  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dmitry Titov.

        Refactoring and plumbing to get the HTML5 SQL Database API accessible to
        web workers.  No new functionality is exposed yet; this just gets the
        infrastructure in place.  It touches a lot of files in small ways; here
        are the main changes:

        1) Database members and methods move from Document up to
        ScriptExecutionContext.  Each of Document and WorkerContext must
        implement a few virtual methods where the Database code requires
        differentiation.
        2) Worker thread shutdown got changed a bunch to handle Database cleanup
        and thread synchronization issues.  Database cleanup tasks need to post
        some cleanup tasks to the JavaScript thread.  However, since database
        cleanup may happen due to the destruction of the WorkerThread, I added a
        handshake [involving WorkerThreadShutdownStartTask,
        WorkerThreadShutdownFinishTask, and a DatabaseTaskSynchronizer] between
        the Database thread and WorkerThread that cleans up all the Database
        stuff before the WorkerThread's runLoop can exit.
        3) The runtime enabler for the Database moved to a static variable
        accessible through Database::isAvailable, following the model used by
        WebSocket.
        4) Worker threads don't run their JavaScript on the Main thread, so
        Database code that differentiated between the Main thread and the
        Database thread now need to deal with a third possibility.
        5) Most of the other changes have to do with having a
        ScriptExecutionContext pointer instead of a Document pointer when
        dealing with a Database.  In many cases it's just a string replacement,
        but in some it required the creation of a new virtual function [e.g.
        databaseExceededQuota, isDatabaseReadOnly]

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

        No new tests; in a future patch I'll add JSC and V8 bindings and new
        layout tests to exercise them.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::OpenDatabaseEnabled):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::isDatabaseReadOnly):
        (WebCore::Document::databaseExceededQuota):
        (WebCore::Document::isContextThread):
        * dom/Document.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::databaseThread):
        (WebCore::ScriptExecutionContext::addOpenDatabase):
        (WebCore::ScriptExecutionContext::removeOpenDatabase):
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::setHasOpenDatabases):
        (WebCore::ScriptExecutionContext::hasOpenDatabases):
        (WebCore::ScriptExecutionContext::Task::isCleanupTask):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * storage/Database.cpp:
        (WebCore::Database::setIsAvailable):
        (WebCore::Database::isAvailable):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::DerefContextTask::create):
        (WebCore::DerefContextTask::performTask):
        (WebCore::DerefContextTask::isCleanupTask):
        (WebCore::Database::~Database):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::ContextRemoveOpenDatabaseTask::create):
        (WebCore::ContextRemoveOpenDatabaseTask::performTask):
        (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
        (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
        (WebCore::Database::close):
        (WebCore::Database::performOpenAndVerify):
        (WebCore::Database::scheduleTransaction):
        (WebCore::Database::scheduleTransactionStep):
        (WebCore::DeliverPendingCallbackTask::create):
        (WebCore::DeliverPendingCallbackTask::performTask):
        (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
        (WebCore::Database::scheduleTransactionCallback):
        (WebCore::Database::transactionClient):
        (WebCore::Database::transactionCoordinator):
        (WebCore::Database::tableNames):
        (WebCore::Database::securityOrigin):
        * storage/Database.h:
        (WebCore::Database::scriptExecutionContext):
        * storage/DatabaseTask.h:
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        (WebCore::DatabaseThread::~DatabaseThread):
        (WebCore::DatabaseThread::requestTermination):
        (WebCore::DatabaseThread::databaseThread):
        (WebCore::DatabaseThread::unscheduleDatabaseTasks):
        * storage/DatabaseThread.h:
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
        * storage/DatabaseTracker.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        * storage/SQLTransactionClient.cpp:
        (WebCore::SQLTransactionClient::didCommitTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):
        (WebCore::DatabaseTracker::addOpenDatabase):
        (WebCore::TrackerRemoveOpenDatabaseTask::create):
        (WebCore::TrackerRemoveOpenDatabaseTask::performTask):
        (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
        (WebCore::DatabaseTracker::removeOpenDatabase):
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
        * storage/chromium/SQLTransactionClientChromium.cpp:
        (WebCore::NotifyDatabaseChangedTask::create):
        (WebCore::NotifyDatabaseChangedTask::performTask):
        (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
        (WebCore::SQLTransactionClient::didCommitTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::openDatabase):
        (WebCore::WorkerContext::isContextThread):
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::clearScript):
        (WebCore::WorkerContext::thread):
        (WebCore::WorkerContext::isDatabaseReadOnly):
        (WebCore::WorkerContext::databaseExceededQuota):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::runInMode):
        (WebCore::WorkerRunLoop::Task::performTask):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread):
        (WebCore::WorkerThreadShutdownFinishTask::create):
        (WebCore::WorkerThreadShutdownFinishTask::performTask):
        (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask):
        (WebCore::WorkerThreadShutdownStartTask::create):
        (WebCore::WorkerThreadShutdownStartTask::performTask):
        (WebCore::WorkerThreadShutdownStartTask::isCleanupTask):
        (WebCore::WorkerThread::stop):

2010-01-20  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket: Request-URI should not be empty when no tralling slash in host
        https://bugs.webkit.org/show_bug.cgi?id=33689

        Test: websocket/tests/url-no-trailing-slash.html

        * websockets/WebSocketHandshake.cpp:
        (WebCore::resourceName):

2010-01-20  Daniel Bates  <dbates@webkit.org>

        Reviewed by Tor Arne Vestbø.

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

        [Qt] Fixes an issue where the height of <button>- and
        <input type="button">- elements are fixed to the height of the
        button label font plus padding. That is, the CSS height property
        is being ignored.

        Instead, we should honor the user-specified height, if appropriate
        for the platform and context. Notice, the Mac ports do not honor the
        height for <input type="button"> elements unless a border and/or
        background is also specified.

        Test: fast/css/button-height.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::adjustButtonStyle):

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

        Reviewed by Sam Weinig.

        Assertion failure calling history.pushState within popstate event handler.
        https://bugs.webkit.org/show_bug.cgi?id=33830

        Test: fast/loader/stateobjects/pushstate-within-popstate-handler-assert.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::navigateWithinDocument): Remove the ASSERT and invalid part of the comment.

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

        Reviewed by Oliver Hunt.

        Crash on dispatching SVG mouse events
        https://bugs.webkit.org/show_bug.cgi?id=33841

        Return early SVGUseElement::instanceForShadowTreeElement if m_targetElementInstance is zero.
        This only happens if the SVGUseElement has just been removed from the document and EventHandler
        tries to dispatch a mouseout event to the corresponding SVGElementInstance. This is not testable
        using DRT unfortunately, so we have to add another manual testcase for that.

        Tests: manual-tests/use-crash-on-mouse-hover.svg

        * manual-tests/svg-crash-hovering-use.svg: Added.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::instanceForShadowTreeElement): Add ASSERT(!inDocument()) when returning 0 here if m_targetElementInstance is 0.

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

        Reviewed by Pavel Feldman.

        Timeline reset button doesn't clean timeline if the panel is scrolled down.
        The overview pane also stay dirty after reset.
        https://bugs.webkit.org/show_bug.cgi?id=33829

        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.reset):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.reset):
        (WebInspector.TimelinePanel.prototype._refreshRecords):

2010-01-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=33930
        Crash in JSDOMWindowBase::crossDomainAccessErrorMessage when accessing a detached sandboxed frame

        Test: http/tests/security/detached-sandboxed-frame-access.html

        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
        Changed the way we discover the url to match what the actual check does. Both old and new
        code correctly fetch the URL of the current window displayed in frame, but going via
        DOMWindowShell avoids crashing on null DOMWindow::m_frame pointer.

2010-01-20  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        [V8] Support SerializedScriptValue.
        https://bugs.webkit.org/show_bug.cgi?id=32920
        http://crbug.com/30620

        Initial implementation of SerializedScriptValue which is used to
        to create a serialized representation of JavaScript objects.  This
        representation is needed for structured clones and worker messages.

        * WebCore.gypi: Added SerializedScriptValue.cpp.
        * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
        * bindings/v8/SerializedScriptValue.cpp: Added.
        (WebCore::):
        (WebCore::ZigZag::encode):
        (WebCore::ZigZag::decode):
        (WebCore::Writer::Writer):
        (WebCore::Writer::writeUndefined):
        (WebCore::Writer::writeNull):
        (WebCore::Writer::writeTrue):
        (WebCore::Writer::writeFalse):
        (WebCore::Writer::writeString):
        (WebCore::Writer::writeInt32):
        (WebCore::Writer::writeNumber):
        (WebCore::Writer::endComposite):
        (WebCore::Writer::data):
        (WebCore::Writer::doWriteUint32):
        (WebCore::Writer::append):
        (WebCore::Writer::ensureSpace):
        (WebCore::Writer::fillHole):
        (WebCore::Writer::charAt):
        (WebCore::Serializer::Serializer):
        (WebCore::Serializer::serialize):
        (WebCore::Serializer::StateBase::~StateBase):
        (WebCore::Serializer::StateBase::nextState):
        (WebCore::Serializer::StateBase::setNextState):
        (WebCore::Serializer::StateBase::composite):
        (WebCore::Serializer::StateBase::StateBase):
        (WebCore::Serializer::State::composite):
        (WebCore::Serializer::State::tag):
        (WebCore::Serializer::State::State):
        (WebCore::Serializer::StackCleaner::StackCleaner):
        (WebCore::Serializer::StackCleaner::~StackCleaner):
        (WebCore::Serializer::ArrayState::ArrayState):
        (WebCore::Serializer::ArrayState::done):
        (WebCore::Serializer::ArrayState::advance):
        (WebCore::Serializer::ObjectState::ObjectState):
        (WebCore::Serializer::ObjectState::done):
        (WebCore::Serializer::ObjectState::advance):
        (WebCore::Serializer::ObjectState::nextProperty):
        (WebCore::Serializer::doSerialize):
        (WebCore::Serializer::push):
        (WebCore::Serializer::top):
        (WebCore::Serializer::pop):
        (WebCore::Serializer::checkComposite):
        (WebCore::Reader::Reader):
        (WebCore::Reader::isEof):
        (WebCore::Reader::read):
        (WebCore::Reader::readTag):
        (WebCore::Reader::readString):
        (WebCore::Reader::readInt32):
        (WebCore::Reader::readNumber):
        (WebCore::Reader::doReadUint32):
        (WebCore::Deserializer::Deserializer):
        (WebCore::Deserializer::deserialize):
        (WebCore::Deserializer::doDeserialize):
        (WebCore::Deserializer::push):
        (WebCore::Deserializer::pop):
        (WebCore::Deserializer::stackDepth):
        (WebCore::Deserializer::element):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/v8/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::toWireString):

        Updated uses of SerializedScriptValue:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::postMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::initMessageEventCallback):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::V8MessagePort::postMessageCallback):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::V8Worker::postMessageCallback):

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

        Reviewed by Sam Weinig.

        Fix crash in geolocation when observers change during iteration.

        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::positionChanged): Copy observers to vector while iterating.
        (WebCore::GeolocationController::errorOccurred): Copy observers to vector while iterating.

2010-01-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Dan Bernstein.

        Insufficient repaint issues with html embedded in foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=16318

        Partial fix for selection repaint in foreignObject, basically we
        just need to make sure foreignObject correctly applies the svg
        transform to the selection rect.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::mapLocalToContainer):
        * rendering/RenderForeignObject.h:

2010-01-20  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY.

        <rdar://problem/7557695> REGRESSION(r53445-r53449): Many new memory leaks (33867)

        Revert r53447, since this caused leaks.

        * WebCore.base.exp:
        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::operator new):
        (WebCore::StringImpl::operator delete):
        (WebCore::StringImpl::StringImpl):
        (WebCore::StringImpl::~StringImpl):
        (WebCore::StringImpl::create):
        (WebCore::StringImpl::createWithTerminatingNullCharacter):
        (WebCore::StringImpl::crossThreadString):
        (WebCore::StringImpl::sharedBuffer):
        * platform/text/StringImpl.h:
        (WebCore::StringImpl::hasTerminatingNullCharacter):
        (WebCore::StringImpl::inTable):
        (WebCore::StringImpl::setInTable):
        (WebCore::StringImpl::):
        * storage/OriginUsageRecord.cpp:
        (WebCore::OriginUsageRecord::addDatabase):
        (WebCore::OriginUsageRecord::markDatabase):

2010-01-20  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Implement File and Blob interfaces as defined in File API spec.
        https://bugs.webkit.org/show_bug.cgi?id=32912

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/objc/DOMHTML.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Binding.h:
        (WebCore::toInt64):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::sendCallback):
        * html/File.cpp:
        (WebCore::File::File):
        * html/File.h:
        (WebCore::File::create):
        (WebCore::File::name):
        (WebCore::File::fileName):
        (WebCore::File::fileSize):
        * html/File.idl:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):
        * xml/XMLHttpRequest.h:

2010-01-20  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        WAI-ARIA popup buttons spoken as simply 'button'
        https://bugs.webkit.org/show_bug.cgi?id=33922

        Test: platform/mac/accessibility/aria-popup.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::actionElement):
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        * html/HTMLAttributeNames.in:

2010-01-19  David Levin  <levin@chromium.org>

        Reviewed by Oliver Hunt.

        CrossThreadCopier needs to support ThreadSafeShared better.
        https://bugs.webkit.org/show_bug.cgi?id=33698

        Now the copier is able to handle types that derive from ThreadSafeShared.

        No change functionality so no new tests.

        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Remove unnecessary cast.
        (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): Ditto.
        * loader/WorkerThreadableLoader.h:
        Change to use the derived class instead of the ThreadSafeShared version.
        * platform/CrossThreadCopier.cpp:
        Add the new template parameter throughout the classes and adjust the class that 
        handles ThreadSafeShared to allow for derived types.
        * platform/CrossThreadCopier.h:
        Add another template parameter to be able to detect classes that derive 
        from ThreadSafeShared.
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        Removed unnecessary casts and changed a type to use the derived class instead of
        the ThreadSafeShared version.
        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
        (WebCore::workerContextDidSend):
        (WebCore::workerContextDidGetBufferedAmount):
        (WebCore::workerContextDidConnect):
        (WebCore::workerContextDidReceiveMessage):
        (WebCore::workerContextDidClose):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
        * websockets/WorkerThreadableWebSocketChannel.h:
        (WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the
        derived class instead of the ThreadSafeShared version.

2010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/7086565> Crash in WebCore::PlugInView::dispatchNPEvent

        Reviewed by Sam Weinig.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::handleEvent):
        Ref the PluginView to protect it from deletion while calling into the
        plug-in.

2010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: accSelect() is not implemented

        https://bugs.webkit.org/show_bug.cgi?id=33918
        <rdar://problem/7436861>

        Reviewed by Darin Adler.

        Test: platform/win/accessibility/selection-and-focus.html

        * accessibility/AccessibilityMenuListOption.cpp:
        (WebCore::AccessibilityMenuListOption::setSelected):
        Return early if the object is not selectable.

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

        Not reviewed. Fix chromium build, introduced a copy&paste error.

        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):

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

        Reviewed by Darin Adler.

        <rdar://problem/6579204> Exception thrown when opening a <select> pop-up that
        uses a web font
        https://bugs.webkit.org/show_bug.cgi?id=23911

        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot
        be obtained.

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

        Reviewed by Alexey Proskuryakov. 

        svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
        https://bugs.webkit.org/show_bug.cgi?id=33835

        mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml
        https://bugs.webkit.org/show_bug.cgi?id=32519

        Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml

        Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p)

        Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement
        synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect,
        w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey.

        Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait
        for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result.
        This is now matching Operas behaviour.

        Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise
        DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener
        cache and removed afterwards.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey.
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener): Ditto.
        * dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone.
        (WebCore::instancesForSVGElement):
        (WebCore::tryAddEventListener):
        (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well.
        (WebCore::tryRemoveEventListener):
        (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments)
        * svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor.
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
        (WebCore::SVGElementInstance::scriptExecutionContext):
        (WebCore::SVGElementInstance::addEventListener):
        (WebCore::SVGElementInstance::removeEventListener):
        (WebCore::SVGElementInstance::removeAllEventListeners):
        (WebCore::SVGElementInstance::eventTargetData):
        (WebCore::SVGElementInstance::ensureEventTargetData):
        * svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works.
        (WebCore::SVGUseElement::instanceRoot):

2010-01-20  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp
        since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345.

        No new tests since no change in functionality.

        * dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'.
        * dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration.

2010-01-20  Oliver Hunt  <oliver@apple.com>

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

        broke selection repaint for transformed text in html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderForeignObject.cpp:
        * rendering/RenderForeignObject.h:

2010-01-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Beth Dakin.

        Insufficient repaint issues with html embedded in foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=16318

        Partial fix for selection repaint in foreignObject, basically we
        just need to make sure foreignObject correctly applies the svg
        transform to the selection rect.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::mapLocalToContainer):
        * rendering/RenderForeignObject.h:

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

        Build fix for !ENABLE(SVG).

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

2010-01-20  David Levin  <levin@chromium.org>

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

        Caused lots of fast/profile test failures.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::inspectedWindow):
        (WebCore::JSInjectedScriptHost::wrapCallback):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::wrapObject):
        (WebCore::JSInjectedScriptHost::unwrapObject):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        * bindings/js/ScriptCallStack.h:
        (WebCore::ScriptCallStack::state):
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptObject.h:
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::quarantineValue):
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptObject.h:
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::quarantineValue):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
        (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
        (WebCore::V8InjectedScriptHost::wrapObjectCallback):
        (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::wrapObject):
        (WebCore::InjectedScriptHost::unwrapObject):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::resetScriptObjects):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::wrapObject):
        (WebCore::InspectorController::unwrapObject):
        (WebCore::InspectorController::releaseWrapperObjectGroup):
        (WebCore::InspectorController::resetInjectedScript):
        (WebCore::InspectorController::deleteCookie):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        (WebCore::InspectorFrontend::pausedScript):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleView.prototype._formatnode):
        (WebInspector.ConsoleView.prototype._formatarray):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.setDocument):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.dispatch):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript._serializeRule):
        (InjectedScript._serializeStyle):
        (InjectedScript.getProperties):
        (InjectedScript.setPropertyValue):
        (InjectedScript._evaluateAndWrap):
        (InjectedScript.getCallFrames):
        (InjectedScript._inspectObject):
        (InjectedScript._ensureCommandLineAPIInstalled):
        (InjectedScript._resolveObject):
        (InjectedScript._window):
        (InjectedScript._objectForId):
        (InjectedScript.createProxyObject):
        (InjectedScript.executeSql):
        (InjectedScript.executeSql.errorCallback):
        (InjectedScript.executeSql.queryTransaction):
        (Object.type):
        (String.prototype.escapeCharacters):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
        (WebInspector.MetricsSidebarPane.prototype.update):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy):
        (WebInspector.ObjectProxy.getPropertiesAsync):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.pausedScript):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-01-20  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h]
        https://bugs.webkit.org/show_bug.cgi?id=33899

        No new tests, refactoring only.

        * Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp
        * GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h
        * WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h]
        * bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp.
        * bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h.
        * bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h
        * bridge/jni/jni_runtime.cpp: Removed.
        * bridge/jni/jni_runtime.h: Removed.
        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h
        * bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include
        * bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h
        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h

2010-01-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=33913
        Crash under Media::matchMedium in detached frame

        Also took the opportunity to fix JS bindings for the Media object.

        Test: fast/media/lifetime.html

        * css/Media.h:
        (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do.
        (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from
        DOMWindow::clear()).

        * css/Media.cpp:
        (WebCore::Media::Media): Updated to storing Frame pointer.
        (WebCore::Media::type): Ditto.
        (WebCore::Media::matchMedium): Removed null check for document element - every document has
        one. Also, every Frame has a document, so we only need to check for m_frame being zero.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::markChildren):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::media):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalMedia):
        Make sure there's only one Media object per window, and keep its wrapper alive.

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

        Reviewed by Darin Adler and Adam Roben.

        Feature defines are difficult to maintain on Windows builds
        https://bugs.webkit.org/show_bug.cgi?id=33883

        FeatureDefines.vsprops are now maintained in a way similar to
        Configurations/FeatureDefines.xcconfig, with the added advantage
        of having a single FeatureDefines file across all projects.

        * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
        * WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists.
        * WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet.
        * WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
        * WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions.
        * WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features.
        * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops.
        * WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops.

2010-01-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Inject inspector script directly into the inspected context. All the
        communication between the script and the frontend is serialized into
        JSON strings. It allows to get rid of object quarantines in Web Inspector.

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

        Test: inspector/console-log-before-inspector-open.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        * bindings/js/ScriptCallStack.h:
        (WebCore::ScriptCallStack::state):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::mainWorldScriptState):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptObject.h:
        (WebCore::ScriptObject::scriptState):
        * bindings/js/ScriptValue.cpp:
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptObject.h:
        (WebCore::ScriptObject::scriptState):
        * bindings/v8/ScriptValue.h:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::setInjectedScriptSource):
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::resetScriptObjects):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::injectedScriptForNodeId):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        (WebCore::InspectorFrontend::pausedScript):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.setDocument):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        (injectedScriptConstructor.):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess):
        (InjectedScriptAccess.getDefault):
        (get InjectedScriptAccess):
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
        * inspector/front-end/ObjectPropertiesSection.js:
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.pausedScript):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

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

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsDate setter support for type=time.
        https://bugs.webkit.org/show_bug.cgi?id=33825

        Introduce ISODateTime::setMillisecondsSinceMidnight() and add a
        SecondFormat parameter to ISODateTime::toString(). The main code
        logic for type=time is implemented in
        setMillisecondsSinceMidnightInternal() and toStringForTime()
        because the logic is going to be used for other types.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueAsDate):
        * html/ISODateTime.cpp:
        (WebCore::positiveFmod):
        (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal):
        (WebCore::ISODateTime::setMillisecondsSinceMidnight):
        (WebCore::ISODateTime::toStringForTime):
        (WebCore::ISODateTime::toString):
        * html/ISODateTime.h:
        (WebCore::ISODateTime::):

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

        [Qt] Unreviewed buildfix for r53547.

        * WebCore.pri:

2010-01-20  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        The touchcancel event is not supported.
        https://bugs.webkit.org/show_bug.cgi?id=33598

        This change adds support for the touchcancel event in WebCore and adds a test.

        Test: fast/events/touch/send-oncancel-event.html

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture.
        * dom/Document.cpp:
        (WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener.
        * dom/Document.h: Add the touchcancel attribute event listener.
        * dom/Document.idl: ditto.
        * dom/Element.h: ditto.
        * dom/Element.idl: ditto.
        * dom/EventNames.h: Adds touchcancel as an event name.
        * html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute.
        * page/DOMWindow.h: Adds the touchcancel attribute event listener.
        * page/DOMWindow.idl: ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events.
        * platform/PlatformTouchEvent.h:
        (WebCore::): Add TouchCancel as a touch event type.
        * platform/PlatformTouchPoint.h:
        (WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state.

2010-01-20  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Make extraCompilers for generated sources depend on their scripts

        * DerivedSources.pro:
        * WebCore.pri:

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

        Reviewed by Adam Barth.

        [Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve().
        https://bugs.webkit.org/show_bug.cgi?id=33886

        This is equivalent to r53433, and fix a crash by
        LayoutTests/http/tests/appcache/destroyed-iframe.html.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieve): Check if context is null.

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

        Reviewed by Timothy Hatcher.

        Optimize resize event handling for hidden views
        https://bugs.webkit.org/show_bug.cgi?id=33803

        * inspector/front-end/AbstractTimelinePanel.js:
        (WebInspector.AbstractTimelinePanel.prototype.resize):
        (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
        * inspector/front-end/AuditsPanel.js:
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.updateSidebarWidth):
        (WebInspector.Panel.prototype.resize):
        * inspector/front-end/PanelEnablerView.js:
        (WebInspector.PanelEnablerView):
        (WebInspector.PanelEnablerView.prototype.show):
        (WebInspector.PanelEnablerView.prototype.resize):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.show):
        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.showProfile):
        (WebInspector.ProfilesPanel.prototype.showView):
        (WebInspector.ProfilesPanel.prototype.closeVisibleView):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype.get visibleView):
        (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
        * inspector/front-end/Settings.js:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.updateMainViewWidth):
        * inspector/front-end/WelcomeView.js:
        (WebInspector.WelcomeView):
        (WebInspector.WelcomeView.prototype.show):
        (WebInspector.WelcomeView.prototype.resize):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.js:
        (WebInspector.windowResize):

2010-01-20  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Fixes style in WebCore/bridge/Bridge
        https://bugs.webkit.org/show_bug.cgi?id=33839

        No new tests, style fixes only.

        * bridge/Bridge.cpp: Modified.
        * bridge/Bridge.h: Modified.
        * bridge/c/c_instance.cpp: Modified.
        (JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member
        (JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
        (JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member
        * bridge/jni/jni_runtime.cpp: Modified.
        (JavaArray::JavaArray): Modified. Use renamed m_rootObject member
        (JavaArray::rootObject): Modified. Use renamed m_rootObject member
        * bridge/objc/objc_instance.mm: Modified.
        (ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member
        (ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
        (ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member
        * bridge/objc/objc_runtime.mm: Modified.
        (JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member
        * bridge/qt/qt_runtime.cpp: Modified.
        (JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member

2010-01-20  Daniel Bates  <dbates@webkit.org>

        Reviewed by Eric Seidel.

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

        Fixes style errors exposed by the style bot in the patch
        for bug #33770. Moreover, fixes all style errors reported
        by check-webkit-style.

        No functionality was changed. So, no new tests.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):

2010-01-19  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Fixes style in WebCore/bridge/JNIUtility
        https://bugs.webkit.org/show_bug.cgi?id=33870

        No new tests, style fixes only.

        * bridge/jni/JNIUtility.cpp:
        * bridge/jni/JNIUtility.h:

2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
        files in the .pro file, resulting in unresolved symbols.

        * WebCore.pro:

2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Make it possible to link with -no-undefined.

        * WebCore.pro: Add missing explicit dependency to libXrender due to the
        use of XRenderFindVisualFormat in the X11 plugin code.

2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Add missing files to the build.

        * WebCore.pro:

2010-01-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] computePageRectsForFrame seems to be unnecessary
        https://bugs.webkit.org/show_bug.cgi?id=33881

        * WebCore.gypi: Removed FrameChromium.h
        * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
        * page/chromium/FrameChromium.h: Removed.

2010-01-20  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dan Bernstein.

        Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
        (https://bugs.webkit.org/show_bug.cgi?id=33266)
        
        Ruby did not handle malformed cases correctly when the ruby base was in
        block flow. Changed the code to handle all possible cases.
        Also, added some simplification methods to RenderBlock.

        Tests: fast/ruby/ruby-illegal-1.html
               fast/ruby/ruby-illegal-2.html
               fast/ruby/ruby-illegal-3.html
               fast/ruby/ruby-illegal-4.html
               fast/ruby/ruby-illegal-5.html
               fast/ruby/ruby-illegal-6.html
               fast/ruby/ruby-illegal-7.html
               fast/ruby/ruby-illegal-combined.html
               fast/ruby/rubyDOM-insert-rt-block-1.html
               fast/ruby/rubyDOM-insert-rt-block-2.html
               fast/ruby/rubyDOM-insert-rt-block-3.html
               fast/ruby/rubyDOM-remove-rt-block-1.html
               fast/ruby/rubyDOM-remove-rt-block-2.html
               fast/ruby/rubyDOM-remove-rt-block-3.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
        (WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo
        * rendering/RenderBlock.h:
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
        (WebCore::RenderRubyBase::moveChildren):
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyBase.h:
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::addChild):
        (WebCore::RenderRubyRun::removeChild):

2010-01-19  Dan Bernstein  <mitz@apple.com>

        Build fix after r53514

        * WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.

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

        Reviewed by Dan Bernstein.

        Avoid calling NSEqualRects() on the garbage rect obtained
        by calling -frame on a null view.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setFrameRect):

2010-01-19  Maciej Stachowiak  <mjs@apple.com>

        Unreviewed build fix.

        Remove currentWorld from the exports file again, since it is now inline.

        * WebCore.base.exp:

2010-01-19  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Tim Hatcher.

        Part of <http://webkit.org/b/28622>.
        Caught exceptions still pause the debugger.
        
        Update JavaScriptDebugServer::exception to take a hasHandler parameter,
        so later we can differentiate between a caught and an uncaught exception.
        
        This just adds a new parameter, no behavior is changed.

        No change in functionality, so no tests.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::exception):
        * inspector/JavaScriptDebugServer.h:

2010-01-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Barth.

        Inline functions that are hot in DOM manipulation
        https://bugs.webkit.org/show_bug.cgi?id=33820

        (3% speedup on Dromaeo DOM Core tests)

        * bindings/js/JSDOMBinding.h:
        (WebCore::currentWorld): Inlined.
        (WebCore::jsString): Inlined String& overload and split off slow case.
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringSlowCase): Slow case for the above.
        * dom/Document.h:
        (WebCore::Document::isHTMLDocument): Use a bit and an inline method
        instead of a virtual method, since this is so hot and size of Document
        is not a prime concern.
        (WebCore::Document::create): Adapt for above.
        (WebCore::Document::createXHTML): ditto
        * dom/Document.cpp:
        (WebCore::Document::Document): ditto
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument): ditto
        * html/HTMLDocument.h: ditto
        * loader/PlaceholderDocument.h:
        (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument): ditto
        * dom/Element.h:
        (WebCore::Element::attributes): Inlined.
        (WebCore::Element::updateId): Inlined.
        * dom/Element.cpp: (Remove inlined methods.)
        * dom/NamedAttrMap.h:
        (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
        * dom/NamedAttrMap.cpp:
        (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case
        early exit doesn't incur a function call.
        (WebCore::InspectorController::didRemoveDOMNode): ditto
        (WebCore::InspectorController::didModifyDOMAttr): ditto
        * platform/ThreadGlobalData.h:
        (WebCore::threadGlobalData): Inlined.
        * platform/ThreadGlobalData.cpp: (Removed inline methods).
        * platform/Timer.h:
        (WebCore::TimerBase::isActive): Inlined.
        * platform/Timer.cpp: (Removed inline methods).
        * WebCore.xcodeproj/project.pbxproj: Install new heares.
        * WebCore.base.exp: Add appropriate exports.

2010-01-19  Jon Honeycutt  <jhoneycutt@apple.com>

        Chromium build fix.

        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Call correct function.

2010-01-17  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: The child <option> elements of a non-multiple <select> are not
        exposed

        https://bugs.webkit.org/show_bug.cgi?id=33773
        <rdar://problem/7550556>

        Reviewed by Alice Liu.

        This exposes the child <option> elements in a format similar to
        Firefox's: the <select> element has one child, a hidden list object,
        and this list has as its children the <option> elements.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add new files to project.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
        If the element is a RenderMenuList, create an AccessibilityMenuList.
        (WebCore::AXObjectCache::getOrCreate):
        Add new types to create by role value.

        * accessibility/AccessibilityMenuList.cpp: Added.
        (WebCore::AccessibilityMenuList::AccessibilityMenuList):
        Call the base class constructor. Assert that the RenderObject passed
        is a RenderMenuList.
        (WebCore::AccessibilityMenuList::press):
        Show or hide the popup menu.
        (WebCore::AccessibilityMenuList::addChildren):
        Create an AccessibilityMenuListPopup. If the platform ignores its
        accessibility, remove it from the object cache and return early.
        Otherwise, set its parent object to this object, add it to our list of
        children, and tell it to add its children.
        (WebCore::AccessibilityMenuList::childrenChanged):
        Tell our child hidden list that its children changed.
        (WebCore::AccessibilityMenuList::isCollapsed):
        Return whether the popup menu is visible.

        * accessibility/AccessibilityMenuList.h: Added.
        (WebCore::AccessibilityMenuList::create):
        Adopt and return a new RenderMenuList.
        (WebCore::AccessibilityMenuList::isMenuList):
        (WebCore::AccessibilityMenuList::roleValue):
        (WebCore::AccessibilityMenuList::accessibilityIsIgnored):
        (WebCore::AccessibilityMenuList::canSetFocusAttribute):

        * accessibility/AccessibilityMenuListOption.cpp: Added.
        (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
        Initialize the pointer to our parent popup menu.
        (WebCore::AccessibilityMenuListOption::setElement):
        Assert that the element is an <option> element.
        (WebCore::AccessibilityMenuListOption::actionElement):
        Return our element.
        (WebCore::AccessibilityMenuListOption::parentObject):
        Return our parent popup menu.
        (WebCore::AccessibilityMenuListOption::isEnabled):
        Return true if the element itself is enabled.
        (WebCore::AccessibilityMenuListOption::isVisible):
        Return true if the popup is visible, or return true if the popup is
        collapsed but the element is selected.
        (WebCore::AccessibilityMenuListOption::isOffScreen):
        Return true if the object is invisible.
        (WebCore::AccessibilityMenuListOption::isSelected):
        (WebCore::AccessibilityMenuListOption::setSelected):
        (WebCore::AccessibilityMenuListOption::nameForMSAA):
        Return the <option> element's text.
        (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
        Return true if enabled.
        (WebCore::AccessibilityMenuListOption::elementRect):
        Return the AccessibilityMenuList's rect.

        * accessibility/AccessibilityMenuListOption.h: Added.
        (WebCore::AccessibilityMenuListOption::create):
        Adopt and return a new AccessibilityMenuListOption.
        (WebCore::AccessibilityMenuListOption::setParent):
        (WebCore::AccessibilityMenuListOption::isMenuListOption):
        (WebCore::AccessibilityMenuListOption::roleValue):
        (WebCore::AccessibilityMenuListOption::canHaveChildren):
        (WebCore::AccessibilityMenuListOption::size):

        * accessibility/AccessibilityMenuListPopup.cpp: Added.
        (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
        Initialize the pointer to our parent list.
        (WebCore::AccessibilityMenuListPopup::isVisible):
        Return false; we're never considered visible.
        (WebCore::AccessibilityMenuListPopup::isOffScreen):
        Return true if the popup is collapsed.
        (WebCore::AccessibilityMenuListPopup::parentObject):
        Return our parent AccessibilityMenuList.
        (WebCore::AccessibilityMenuListPopup::isEnabled):
        Return true if our parent is enabled.
        (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
        If the element is an <option> element, create a list item for it, and
        set the object's element to this element.
        (WebCore::AccessibilityMenuListPopup::press):
        Call our parent's press() function to show or hide the popup menu.
        (WebCore::AccessibilityMenuListPopup::addChildren):
        Walk the select element's children, and create list items for them. Add
        them to our list of children.
        (WebCore::AccessibilityMenuListPopup::childrenChanged):
        If any of our children have been detached from the document, remove
        them from the AXObjectCache and from our child list.
        (WebCore::AccessibilityMenuListPopup::setMenuList):

        * accessibility/AccessibilityMenuListPopup.h: Added.
        (WebCore::AccessibilityMenuListPopup::create):
        Adopt and return an AccessibilityMenuListPopup.
        (WebCore::AccessibilityMenuListPopup::isMenuListPopup):
        (WebCore::AccessibilityMenuListPopup::elementRect):
        (WebCore::AccessibilityMenuListPopup::size):
        (WebCore::AccessibilityMenuListPopup::roleValue):

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::actionVerb):
        Add the menuListAction and menuListPopupAction verbs.

        * accessibility/AccessibilityObject.h:
        (WebCore::):
        Add new roles.
        (WebCore::AccessibilityObject::isMenuList):
        Stubbed.
        (WebCore::AccessibilityObject::isMenuListHiddenList):
        Stubbed.
        (WebCore::AccessibilityObject::isMenuListOption):
        Stubbed.
        (WebCore::AccessibilityObject::isVisible):
        Stubbed.

        * accessibility/chromium/AccessibilityObjectChromium.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Ignore the new object type.

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Ditto.

        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Ditto.

        * accessibility/qt/AccessibilityObjectQt.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Ditto.

        * accessibility/win/AccessibilityObjectWin.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Allow the new object types.

        * accessibility/wx/AccessibilityObjectWx.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Ignore the new object type.

        * accessibility/win/AccessibilityObjectWin.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        If the object is an AccessibilityMenuListHiddenList or
        AccessibilityMenuListOption, include it.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::disabled):
        Call ownElementDisabled().

        * html/HTMLOptionElement.h:
        (WebCore::HTMLOptionElement::ownElementDisabled):
        Return the base class implementation of disabled, which returns
        whether this <option> itself is disabled.

        * platform/LocalizedStrings.h:
        Declare new localized string functions.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::AXMenuListPopupActionVerb):
        Stubbed.
        (WebCore::AXMenuListActionVerb):
        Stubbed.

        * platform/haiku/LocalizedStringsHaiku.cpp:
        (WebCore::AXMenuListPopupActionVerb):
        Stubbed.
        (WebCore::AXMenuListActionVerb):
        Stubbed.

        * platform/mac/LocalizedStringsMac.mm:
        (WebCore::AXMenuListPopupActionVerb):
        Call the view factory's method.
        (WebCore::AXMenuListActionVerb):
        Ditto.

        * platform/qt/Localizations.cpp:
        (WebCore::AXMenuListPopupActionVerb):
        Stubbed.
        (WebCore::AXMenuListActionVerb):
        Stubbed.

        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::AXMenuListPopupActionVerb):
        Stubbed.
        (WebCore::AXMenuListActionVerb):
        Stubbed.

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

        Reviewed by Dan Bernstein.

        Support reflections on WebGL
        https://bugs.webkit.org/show_bug.cgi?id=33754

        Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
        WebGL content gets displayed, we correctly copy its content to the clone layers.
        
        Test: compositing/webgl/webgl-reflection.html

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter
        which is the layer that displayed.
        * platform/graphics/mac/Canvas3DLayer.mm:
        (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
        * platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content
        layer, since we're setting it for WebGL layers now.
        
        (WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
        as well as the main layer now, getting the correct layer to copy contents from, and using
        the correct clone map.
        
        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
        layers, because we need the didDisplay() callback.

        * platform/graphics/mac/WebLayer.mm:
        (-[WebLayer display]): didDisplay() takes a layer argument.
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer display]): ditto.

2010-01-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray

        Rework toArray to extract elements in to a vector rather than handing out raw pointers.  This prevents
        callers from forgetting to free the memory, and gives them the option of using stack buffers for
        sufficiently small allocations.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        (WebCore::toVector):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):

2010-01-19  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

        Another crazy counters bug
        https://bugs.webkit.org/show_bug.cgi?id=11031

        This patch actually provides for counter updating when the style
        of a renderer changes.

        Tests: fast/css/counters/counter-increment-002.html
               fast/css/counters/counter-reset-000.html
               fast/css/counters/counter-reset-002.html

        * rendering/RenderCounter.cpp:
        (WebCore::RenderCounter::rendererStyleChanged):
        This function is added to update the counter hierarchy in 
        response to changes to the style of a renderer.
        * rendering/RenderCounter.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleDidChange):
        For changes that may include the counter directives added a
        call to RenderCounter::rendererStyleChanged.

2010-01-19  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed. Build fixes for make distcheck - missing files.

        * GNUmakefile.am:

2010-01-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=33850
        Attr.childNodes does not get updated after DOM mutations

        Test: fast/dom/Attr/child-nodes-cache.html

        * dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an
        attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.

2010-01-19  John Sullivan  <sullivan@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=33854
        Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns 
        more info about where the result was found

        Reviewed by Darin Adler.

        No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.

        * WebCore.base.exp:
        Updated mangled signature for export.

        * page/Frame.cpp:
        (WebCore::Frame::searchForLabelsAboveCell):
        Now fills in an out parameter with the number of characters from the start of the cell.
        (WebCore::Frame::searchForLabelsBeforeElement):
        Now fills in an out parameter with the distance as a number of characters, and another
        with a bool for whether the result was in a table cell above the current cell (otherwise
        it was found in the text before this element and after the previous element or start of form).

        * page/Frame.h:
        Updated signatures.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::searchForNSLabelsAboveCell):
        Same as above. This is a parallel copy of the function using Mac-specific data structures.
        (WebCore::Frame::searchForLabelsBeforeElement):
        Ditto

2010-01-19  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Nikolas Zimmermann.

        [OpenVG] Add (EGL) surface/context management
        https://bugs.webkit.org/show_bug.cgi?id=33403

        The foundations for a new OpenVG port.

        OpenVG is not tied to EGL per se, EGL just happens to be
        the only usable backend for OpenVG state and painting
        at the time of writing.

        The purpose of the SurfaceOpenVG class is to provide
        an EGL-independent interface for OpenVG-specific code.
        The EGLDisplayOpenVG class takes care of keeping track
        of EGL displays, surfaces and contexts. It also makes
        sure that all created contexts are interoperable, and
        that different surfaces use a single context if possible.

        * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added.
        (WebCore::displayManagers):
        (WebCore::EGLDisplayOpenVG::currentSurface):
        (WebCore::EGLDisplayOpenVG::registerPlatformSurface):
        (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface):
        (WebCore::EGLDisplayOpenVG::setCurrentDisplay):
        (WebCore::EGLDisplayOpenVG::current):
        (WebCore::EGLDisplayOpenVG::forDisplay):
        (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG):
        (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
        (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig):
        (WebCore::EGLDisplayOpenVG::defaultPbufferConfig):
        (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig):
        (WebCore::EGLDisplayOpenVG::defaultWindowConfig):
        (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
        (WebCore::EGLDisplayOpenVG::createPbufferSurface):
        (WebCore::EGLDisplayOpenVG::surfaceForWindow):
        (WebCore::EGLDisplayOpenVG::surfacesCompatible):
        (WebCore::EGLDisplayOpenVG::destroySurface):
        (WebCore::EGLDisplayOpenVG::contextForSurface):
        * platform/graphics/openvg/EGLDisplayOpenVG.h: Added.
        (WebCore::EGLDisplayOpenVG::display):
        * platform/graphics/openvg/EGLUtils.h: Added.
        (toEGLErrorConstant):
        * platform/graphics/openvg/SurfaceOpenVG.cpp: Added.
        (WebCore::SurfaceOpenVG::currentSurface):
        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
        (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
        (WebCore::SurfaceOpenVG::isValid):
        (WebCore::SurfaceOpenVG::width):
        (WebCore::SurfaceOpenVG::height):
        (WebCore::SurfaceOpenVG::sharedSurface):
        (WebCore::SurfaceOpenVG::makeCurrent):
        (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
        (WebCore::SurfaceOpenVG::flush):
        * platform/graphics/openvg/SurfaceOpenVG.h: Added.
        (WebCore::SurfaceOpenVG::eglDisplay):
        (WebCore::SurfaceOpenVG::eglSurface):
        (WebCore::SurfaceOpenVG::eglContext):
        * platform/graphics/openvg/VGUtils.h: Added.
        (toVGErrorConstant):

2010-01-19  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
        https://bugs.webkit.org/show_bug.cgi?id=33843

        No new tests, refactoring only.

        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
        * bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
        * bridge/jni/jni_jsobject.mm:
        * bridge/jni/jni_objc.mm:
        * bridge/jni/jni_runtime.cpp:
        * bridge/jni/jni_runtime.h:
        * bridge/jni/jni_utility.cpp: Removed.
        * bridge/jni/jni_utility.h: Removed.
        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.
        (JSC::Bindings::convertValueToJValue):
        * bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
        * bridge/jni/jsc/JavaClassJSC.cpp:
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        * bridge/jni/jsc/JavaStringJSC.h:
        * bridge/jni/jsc/jni_utility_private.cpp: Removed.
        * bridge/jni/jsc/jni_utility_private.h: Removed.
        * platform/android/GeolocationServiceBridge.cpp:
        * platform/android/GeolocationServiceBridge.h:
        * platform/android/TemporaryLinkStubs.cpp:

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

        Reviewed by Dan Bernstein.

        Occasional crash when interacting with page with reflected WebGL
        https://bugs.webkit.org/show_bug.cgi?id=33863
        
        If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
        then we would determine that the layer does not require compositing, and tear down its
        backing (without clearing replicaLayer() on the source layer's GraphicsLayer).
        
        Fix by changing requiresCompositingLayer() on a reflection layer to always give the
        same answer for a reflection and its original.
        
        Also add various belt-and-brances code and null checks to ensure that if we ever end up
        with a non-composited reflection layer, we won't crash.
        
        No new tests, because the crash depends on timing issues that are hard to reproduce in a test.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer
        pointer if tearing down backing store of a reflection.
        
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
        (WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
        use the source layer to answer the question.        

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

        Reviewed by Dan Bernstein.

        Some composited reflections incorrectly positioned
        https://bugs.webkit.org/show_bug.cgi?id=33856
        
        When setting the position of the replicated layer inside the reflection, we need to take
        into account the bounds of the original layer, and the replica layer to get the
        reflection in the right place.

        Tests: compositing/reflections/nested-reflection-transformed2.html
               compositing/reflections/reflection-positioning2.html

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

2010-01-19  Enrica Casucci  <enrica@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
        https://bugs.webkit.org/show_bug.cgi?id=33864
        <rdar://problem/7552959>
        
        Regression has been introduced by changeset 53085.
        The original fix had to be limited to editable content.

        Test: editing/selection/selection-applet.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset):

2010-01-19  Kristian Amlie <kristian.amlie@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix qmake warning with qmake in Qt for Symbian
        https://bugs.webkit.org/show_bug.cgi?id=33786

        * WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.

2010-01-19  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

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

        Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
        returns the rectangle of the document within the content view of
        the scroll view (i.e. the rectangle not including scrollbars) when
        the parameter includeScrollbars == true

        Currently, this behavior contradicts both the comment in ScrollView.h
        for method visibleContentRect as well as the behavior in
        ScrollView::visibleContentRect() for a platform-independent scroll view.

        Instead, it should return the rectangle whose dimensions include
        the scrollbars.

        Also, removes some extra whitespace at the end of the lines.

        No tests included because we cannot test this using either DRT
        or a manual test.

        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true
        then return the rectangle whose dimensions are that of
        the frame (i.e. -[NSScrollView frame]).

2010-01-19  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
        https://bugs.webkit.org/show_bug.cgi?id=33819

        No new tests, style fixes only.

        * bridge/jni/jsc/JavaClassJSC.cpp: Modified.
        * bridge/jni/jsc/JavaClassJSC.h: Modified.

2010-01-19  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Pavel Feldman.
        
        Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
        when closing a record. Also includes grabbing the start and end line number for parse HTML
        records as a reference use case for the above refactor

        Tests updated:
            inspector/timeline-parse-html-expected.txt
            inspector/timeline-layout-expected.txt
            inspector/timeline-recalculate-styles-expected.txt

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

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::write):
        * inspector/InspectorTimelineAgent.cpp:
        (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::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createEventDispatchData):
        (WebCore::TimelineRecordFactory::createGenericTimerData):
        (WebCore::TimelineRecordFactory::createTimerInstallData):
        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
        (WebCore::TimelineRecordFactory::createXHRLoadData):
        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
        (WebCore::TimelineRecordFactory::createMarkTimelineData):
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        (WebCore::TimelineRecordFactory::createPaintData):
        (WebCore::TimelineRecordFactory::createParseHTMLData):
        * inspector/TimelineRecordFactory.h:

2010-01-19 Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=30883
        [Gtk] Implement AtkText for HTML elements which contain text

        Moves the text assembling functionality from getPangoLayoutForAtk to
        textForObject, which webkit_accessible_text_get_text now falls back on
        when it comes up empty.

        Adds a check in textForObject so that we don't double-add newlines
        when we have a BR.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (textForObject):
        (getPangoLayoutForAtk):
        (webkit_accessible_text_get_text):

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

        Reviewed by Adam Roben.

        error events don't fire if no <source> elements passed to media engine
        https://bugs.webkit.org/show_bug.cgi?id=33855

        Test: media/video-source-error-no-candidate.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if
        there is no 'src' attribute and no <source> child elements at all.

2010-01-19  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Roben.

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

        REGRESSION(r53273): Fixes redefinition of XFORM error when building
        WebKit using Qt Windows with the MinGW compiler.
 
        Note, MinGW has a slightly different declaration of the struct XFORM
        from that in the Microsoft SDK. So, we need to substitute an alternative
        typedef for XFORM when compiling with MinGW.

        No functionality was changed. So, no new tests.

        * platform/graphics/transforms/TransformationMatrix.h:

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

        Reviewed by Dimitri Glazkov.

        Fix for crash on large TransparencyWin allocation.  The fix is
        to leave m_layerValid false when the allocPixels of
        OwnedBuffers::m_referenceBitmap fails.  Then TransparencyWin won't
        attempt to use it.

        Will be covered by a new unit test in Chromium's test_shell_tests (when
        this is rolled into Chromium).

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

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::initializeNewContext):
        Early return when m_referenceBitmap or its pixels is NULL, leaving
        m_layerValid false.

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

        Reviewed by Adam Roben.

        video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
        https://bugs.webkit.org/show_bug.cgi?id=33744

        Test: media/video-source-none-supported.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if
            there are no valid source elements.
        (WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
        (WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie
            hasn't reached HAVE_METADATA and there are no more <source> elements to try.
        * html/HTMLMediaElement.h: Declare waitForSourceChange.

2010-01-19  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Treat.

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

        Implements an optimization to ignore fixed background images
        (i.e. background-attachment: fixed) when a page does not contain
        any fixed position elements so as to allow fast repaints (via bit
        blit) when scrolling a page.

        Currently, if a page has elements that specify either a fixed
        background or a fixed position then we perform a slow repaint
        (i.e disable blitting) so as to avoid rendering artifacts.
        However, on low-powered/mobile devices slow repaints can cause
        noticeable delays when scrolling a page with a fixed background
        image. By sacrificing support for fixed background images when
        there are no fixed elements on the page and with come care, we
        don't need to force slow repaints and can avoid rendering artifacts.
        Hence, on such devices we can improve the responsiveness of
        scrolling a page with a fixed background image.

        Note, this optimization is only enabled if the WebKit is built
        with FAST_MOBILE_SCROLLING enabled.

        Tests: fast/fast-mobile-scrolling/fixed-position-element.html
               fast/fast-mobile-scrolling/no-fixed-position-elements.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        Disable fixed background attachment if we can blit on scroll.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):

2010-01-19  Dave Hyatt  <hyatt@apple.com>

        Build bustage fix.  Land modified WebCore.base.exp file that includes export of currentWorld().

        * WebCore.base.exp:

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

        Reviewed by Alexey Proskuryakov.

        Crash in Page::backForwardList when using History object from a detached window
        <rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828

        Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html

        * page/History.cpp:
        (WebCore::History::stateObjectAdded): Do an early return when detached. The spec
          doesn't really cover expected behavior and we already do something similar in 
          other places, such as in History::length().

2010-01-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by NOBODY (build fix).

        Revert r53467. Browser crashes on opening inspector if there
        are messages in console.

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::inspectedWindow):
        (WebCore::JSInjectedScriptHost::wrapCallback):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::wrapObject):
        (WebCore::JSInjectedScriptHost::unwrapObject):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptObject.h:
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::quarantineValue):
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptObject.h:
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::quarantineValue):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
        (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
        (WebCore::V8InjectedScriptHost::wrapObjectCallback):
        (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::wrapObject):
        (WebCore::InjectedScriptHost::unwrapObject):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::resetScriptObjects):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::wrapObject):
        (WebCore::InspectorController::unwrapObject):
        (WebCore::InspectorController::releaseWrapperObjectGroup):
        (WebCore::InspectorController::resetInjectedScript):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        (WebCore::InspectorFrontend::pausedScript):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleView.prototype._formatnode):
        (WebInspector.ConsoleView.prototype._formatarray):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.setDocument):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.dispatch):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript._serializeRule):
        (InjectedScript._serializeStyle):
        (InjectedScript.getProperties):
        (InjectedScript.setPropertyValue):
        (InjectedScript._evaluateAndWrap):
        (InjectedScript.getCallFrames):
        (InjectedScript._inspectObject):
        (InjectedScript._ensureCommandLineAPIInstalled):
        (InjectedScript._resolveObject):
        (InjectedScript._window):
        (InjectedScript._objectForId):
        (InjectedScript.createProxyObject):
        (InjectedScript.executeSql):
        (InjectedScript.executeSql.errorCallback):
        (InjectedScript.executeSql.queryTransaction):
        (Object.type):
        (String.prototype.escapeCharacters):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
        (WebInspector.MetricsSidebarPane.prototype.update):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy):
        (WebInspector.ObjectProxy.getPropertiesAsync):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.pausedScript):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-01-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Inject inspector script directly into the inspected context. All the
        communication between the script and the frontend is serialized into
        JSON strings. It allows to get rid of object quarantines in Web Inspector.

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

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::mainWorldScriptState):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptObject.h:
        (WebCore::ScriptObject::scriptState):
        * bindings/js/ScriptValue.cpp:
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptObject.h:
        (WebCore::ScriptObject::scriptState):
        * bindings/v8/ScriptValue.h:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::setInjectedScriptSource):
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::resetScriptObjects):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::injectedScriptForNodeId):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        (WebCore::InspectorFrontend::pausedScript):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.setDocument):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        ():
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        (injectedScriptConstructor.):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess):
        (InjectedScriptAccess.getDefault):
        (get InjectedScriptAccess):
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
        * inspector/front-end/ObjectPropertiesSection.js:
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.pausedScript):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-01-19  Steve Block  <steveblock@google.com>

        Unreviewed build fix.

        Fixes Windows build due to http://trac.webkit.org/changeset/53464
        Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]

        No new tests, build fix only.

        * WebCore.vcproj/WebCore.vcproj:

2010-01-19  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
        https://bugs.webkit.org/show_bug.cgi?id=33801

        runtime.[cpp|h] contains general interface classes for use in the bridge,
        so Bridge is a more appropriate name than runtime.

        No new tests, renaming only.

        * Android.jscbindings.mk:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSPluginElementFunctions.cpp:
        * bindings/js/ScriptControllerGtk.cpp:
        * bindings/js/ScriptControllerHaiku.cpp:
        * bindings/js/ScriptControllerMac.mm:
        * bindings/js/ScriptControllerQt.cpp:
        * bindings/js/ScriptControllerWin.cpp:
        * bindings/js/ScriptControllerWx.cpp:
        * bindings/js/ScriptInstance.h:
        * bindings/objc/WebScriptObject.mm:
        * bridge/Bridge.cpp: Copied from WebCore/bridge/runtime.cpp.
        * bridge/Bridge.h: Copied from WebCore/bridge/runtime.h.
        * bridge/c/c_class.h:
        * bridge/c/c_instance.h:
        * bridge/c/c_runtime.h:
        * bridge/jni/jni_instance.h:
        * bridge/objc/objc_runtime.h:
        * bridge/qt/qt_class.h:
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        * bridge/qt/qt_runtime.h:
        * bridge/runtime.cpp: Removed.
        * bridge/runtime.h: Removed.
        * bridge/runtime_array.h:
        * bridge/runtime_method.h:
        * bridge/runtime_object.h:
        * bridge/runtime_root.cpp:
        * bridge/testbindings.cpp:
        * bridge/testbindings.mm:
        * bridge/testqtbindings.cpp:
        * page/win/FrameWin.cpp:
        * platform/graphics/wince/MediaPlayerProxy.cpp:
        * plugins/PluginView.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/symbian/PluginViewSymbian.cpp:
        * plugins/win/PluginViewWin.cpp:

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

        Reviewed by Oliver Hunt.

        REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
        https://bugs.webkit.org/show_bug.cgi?id=33826

        Test: fast/workers/worker-gc2.html

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
        ASSERTs that have moved to JavaScriptCore.

2010-01-19  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (build fix).

        Reverting r53455, breaks 2 javascriptcore tests.

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController):

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

        Reviewed by Oliver Hunt.

        REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
        https://bugs.webkit.org/show_bug.cgi?id=33826

        Test: fast/workers/worker-gc2.html

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
        ASSERTs that have moved to JavaScriptCore.

2010-01-18  Daniel Bates  <dbates@webkit.org>

        Reviewed by Darin Adler.

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

        Implements all of the alphabetic CSS3 list-style-types as per
        section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.

        Test: fast/lists/w3-css3-list-styles-alphabetic.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Updated comment to include
        added list-style-types.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types,
        alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
        * css/CSSValueKeywords.in:
        * inspector/front-end/CSSSourceSyntaxHighlighter.js:
        (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types
        and alphabetized array valueKeywords.
        * platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
        * rendering/RenderListMarker.cpp:
        (WebCore::toAlphabetic):
        (WebCore::listMarkerSuffix): Added.
        (WebCore::listMarkerText):
        (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix.
        (WebCore::RenderListMarker::calcPrefWidths): Ditto.
        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
        * rendering/style/RenderStyle.h:
        (WebCore::):
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2010-01-18  Daniel Bates  <dbates@webkit.org>

        Unreviewed, fix misspelling of the word maximum in comment.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::maximum):

2010-01-18  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Sam Weinig.

        <rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change

        Reverted r49567.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::computedLineHeight):

2010-01-18  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Moves JSC-specific implementation of JavaString to a private implementation class.
        https://bugs.webkit.org/show_bug.cgi?id=33558

        Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
        which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.

        No new tests, refactoring only.

        * WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
        * bridge/jni/jni_class.cpp: Modified.
        (JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.
        * bridge/jni/jni_runtime.h: Modified.
        (JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
        (JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
        (JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
        (JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
        (JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
        (JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
        (JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.
        * bridge/jni/jsc/JavaStringJSC.h: Added.
        (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
        (JSC::Bindings::JavaStringImpl::init):
        (JSC::Bindings::JavaStringImpl::UTF8String):
        (JSC::Bindings::JavaStringImpl::uchars):
        (JSC::Bindings::JavaStringImpl::length):
        (JSC::Bindings::JavaStringImpl::uString):

2010-01-18  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Skip an error after invalid blocks in a CSS expression.
        https://bugs.webkit.org/show_bug.cgi?id=33650

        * css/CSSGrammar.y:

2010-01-15  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler & Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=33731
        Remove uses of PtrAndFlags from WebCore::StringImpl.

        These break the OS X Leaks tool.  Move the management of null-terminated copies
        out from StringImpl to String, and use a bit stolen from the refCount to hold the
        'InTable' flag.

        * platform/sql/SQLiteFileSystem.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):
        * platform/sql/SQLiteStatement.h:
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        (WebCore::String::copyWithNullTermination):
        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::StringImpl):
        (WebCore::StringImpl::~StringImpl):
        (WebCore::StringImpl::create):
        (WebCore::StringImpl::crossThreadString):
        (WebCore::StringImpl::sharedBuffer):
        * platform/text/StringImpl.h:
        (WebCore::StringImpl::inTable):
        (WebCore::StringImpl::setInTable):

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

        Reviewed by Dirk Schulze.

        Rewrite SVG <use> support in a modern-fashion
        https://bugs.webkit.org/show_bug.cgi?id=33776

        Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml
               svg/custom/relative-sized-shadow-tree-content.xhtml

        Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)

        Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
        Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
        render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.

        Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
        just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.

        updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
        lazily recloning the shadow tree if necessary.

        Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
        avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
        nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
        For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
        We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.

        Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
        x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
        as expected, and resize on window changes - affecting lots of testcases.

        The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
        Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.

        * Android.mk: Add new files to build.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement.
        (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer):
        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
        (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers
        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates.
        (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
        * rendering/RenderSVGShadowTreeRootContainer.h: Added.
        (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
        * rendering/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
        * rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise).
        (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
        (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement):
        (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements.
        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
        (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement):
        (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
        * rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree).
        (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here.
        (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree.
        (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node.
        (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
        * svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree.
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
        * svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
        * svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say.
        (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag.
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
        * svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
        * svg/SVGGElement.h:
        (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
        * svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
        * svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked.
        (WebCore::SVGStyledElement::instanceUpdatesBlocked):
        (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
        * svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above.
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::instanceRoot):
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::removedFromDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::updateContainerOffset):
        (WebCore::SVGUseElement::updateContainerOffsets):
        (WebCore::SVGUseElement::recalcStyle):
        (WebCore::dumpInstanceTree):
        (WebCore::SVGUseElement::buildPendingResource):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
        (WebCore::SVGUseElement::createRenderer):
        (WebCore::updateFromElementCallback):
        (WebCore::SVGUseElement::attach):
        (WebCore::SVGUseElement::detach):
        (WebCore::SVGUseElement::toClipPath):
        (WebCore::SVGUseElement::buildInstanceTree):
        (WebCore::SVGUseElement::handleDeepUseReferencing):
        (WebCore::SVGUseElement::buildShadowTree):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
        (WebCore::SVGUseElement::instanceForShadowTreeElement):
        (WebCore::SVGUseElement::invalidateShadowTree):
        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
        * svg/SVGUseElement.h:
        (WebCore::SVGUseElement::isPendingResource):

2010-01-18  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsDate setter support for type=month.
        https://bugs.webkit.org/show_bug.cgi?id=33021

        Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
        toString() for the Month type, and HTMLInputElement::setValueAsDate()
        calls them.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueAsDate):
        * html/ISODateTime.cpp:
        (WebCore::beforeGregorianStartDate):
        (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate().
        (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate().
        (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal):
        (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
        (WebCore::ISODateTime::toString): Implement only for the Month type.
        * html/ISODateTime.h:

2010-01-18  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Script attributes are copied and pasted, making cross-domain attacks possible (30019)
        <rdar://problem/6008809>
        https://bugs.webkit.org/show_bug.cgi?id=30019

        When we create the document fragment from a markup string,
        either to perform a paste operation or a drag and drop, we
        want to remove all the event handlers and any attribute that contain
        a value that leads to code execution.
        The HTMLParser class is now aware of the needs of stripping these attributes.
        I've modified the call to createMarkupString for every platform.

        Test: editing/pasteboard/paste-noscript.html

        * WebCore.base.exp:
        * dom/Element.cpp:
        (WebCore::isEventHandlerAttribute):
        (WebCore::Element::setAttributeMap):
        * dom/Element.h:
        * dom/MappedAttributeEntry.h:
        (WebCore::):
        * editing/markup.cpp:
        (WebCore::createFragmentFromMarkup):
        * editing/markup.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::createContextualFragment):
        * html/HTMLElement.h:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::HTMLParser):
        (WebCore::HTMLParser::parseToken):
        * html/HTMLParser.h:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::parseHTMLDocumentFragment):
        * html/HTMLTokenizer.h:
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::asFragment):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asFragment):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::documentFragment):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::fragmentFromCF_HTML):
        (WebCore::fragmentFromHTML):

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

        Reviewed by Sam Weinig.

        <https://bugs.webkit.org/show_bug.cgi?id=33816>        
        Crashes in Geolocation code due to refcounting, observer balance issues.
        
        Hold a ref to the GeoNotifier while dispatching a callback. The code was
        copying a data member to avoid accessing a freed this ptr, but was still
        using the this ptr.
        
        Geolocation::removeObserver calls are not always balanced with addObserver.
        Instead of asserting and continuing, don't try to remove non-existant
        observers.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.
        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.

2010-01-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33815
        Crash when using DOMTimer from a detached frame

        Test: fast/dom/Window/timer-null-script-execution-context.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::setInterval):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both
        IE and Firefox do raise an exception in this situation, although different ones.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is
        null (meaning that the window is detached).
        (WebCore::DOMWindow::setInterval): Ditto.
        (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution
        context.
        (WebCore::DOMWindow::clearInterval): Ditto.
        Raise INVALID_ACCESS_ERR if script execution context is null (meaning .

2010-01-18  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Moves JSC-specific version of JavaClass from bridge/jni/jni_class to bridge/jni/jsc/JavaClassJSC
        https://bugs.webkit.org/show_bug.cgi?id=33561

        No new tests, refactoring only.

        * Android.jscbindings.mk: Modified. Removed jni_class.cpp and added JavaClassJSC.cpp
        * GNUmakefile.am: Modified. Removed jni_class.h and added JavaClassJSC.h
        * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_class.[cpp|h] and added JavaClassJSC.[cpp|h]
        * bridge/jni/jni_class.cpp: Removed.
        * bridge/jni/jni_class.h: Removed.
        * bridge/jni/jsc/JavaClassJSC.cpp: Copied from WebCore/bridge/jni/jni_class.cpp.
        * bridge/jni/jsc/JavaClassJSC.h: Copied from WebCore/bridge/jni/jni_class.h.
        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Includes JavaClassJSC.h

2010-01-18  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
        https://bugs.webkit.org/show_bug.cgi?id=33792

        No new tests, style fixes only.

        * bridge/jni/jni_runtime.cpp: Modified.
        (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance
        (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance
        (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
        * bridge/jni/jni_runtime.h: Modified.
        (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
        * bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style

2010-01-18  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=30073
        Moved reshape to HTMLCanvasElement::reset and have it always
        set the size to the canvas width and height attrs.

        This is not testable with LayoutTests, so I instead added logic
        to the demo at:

        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::paint):

2010-01-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=33813
        <rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame

        Test: http/tests/appcache/destroyed-frame.html

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.

2010-01-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
        https://bugs.webkit.org/show_bug.cgi?id=33809

        Test: fast/repaint/trailing-floats-root-line-box-overflow.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
        root box to the trailing floats box, which is becoming the last root box. This is
        needed because painting code assumes that the last line in a block is the one with the
        lowest overflow bottom.

2010-01-18  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed trivial buildfix. (r53429)

        * WebCore.pri: missing XMLNS_NAMES added.

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

        Reviewed by Darin Adler.

        Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
        https://bugs.webkit.org/show_bug.cgi?id=33811

        This change simplifies a bunch of code, and also reduces
        the number of places that use the difficult-to-understand and possibly
        crashy-null scriptExecutionContext() idiom.

        * bindings/js/JSDOMGlobalObject.cpp:
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSEventListener.h:
        (WebCore::createJSAttributeEventListener):
        * bindings/scripts/CodeGeneratorJS.pm:

2010-01-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33787
        Add constants for more XML strings

        No change in functionality, so no tests.

        * WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - 
        XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.

        * platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
        * platform/text/AtomicString.h:
        Added atomic strings for "xml" and "xmlns".

        * page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().

        * dom/Attr.cpp: (WebCore::Attr::setPrefix):
        * dom/Document.cpp:
        (WebCore::Document::hasPrefixNamespaceMismatch):
        (WebCore::Document::createAttributeNS):
        * dom/Node.cpp:
        (WebCore::Node::checkSetPrefix):
        (WebCore::Node::isDefaultNamespace):
        (WebCore::Node::lookupNamespaceURI):
        (WebCore::Node::lookupNamespacePrefix):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::handleElementNamespaces):
        * editing/markup.cpp:
        (WebCore::shouldAddNamespaceAttr):
        (WebCore::appendNamespace):
        * xml/XPathStep.cpp:
        (WebCore::XPath::nodeMatchesBasicTest):
        (WebCore::XPath::Step::nodesInAxis):
        Use the new constants.

        * Android.derived.mk:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Added the new files to projects.

2010-01-18  Anders Carlsson  <andersca@apple.com>

        Fix !ENABLE(3D_CANVAS) build.

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

2010-01-18  Timothy Hatcher  <timothy@apple.com>

        Adjust the scroll position when doing a full page zoom, so the content
        stays in relatively the same position.

        <rdar://problem/6150099> Zooming should keep the page content in the same place

        Reviewed by Oliver Hunt.

        * page/Frame.cpp:
        (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
        the scroll position, only when doing a full page zoom.

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

        Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
        respect it

        WebCore part of fixing <http://webkit.org/b/33806>
        <rdar://problem/7552837> Would like API to disallow setting of
        document.domain for pages with certain URL schemes

        Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

        Reviewed by Sam Weinig.

        * WebCore.base.exp: Export
        SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.

        * dom/Document.cpp:
        (WebCore::Document::setDomain): If domain relaxation is forbidden for
        our security origin's scheme, throw an exception and don't allow
        the domain to be set.

        * page/SecurityOrigin.cpp:
        (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
        global set of schemes.
        (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
        Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
        appropriate.
        (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
        Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.

        * page/SecurityOrigin.h: Added
        {set,is}DomainRelaxationForbiddenForURLScheme.

2010-01-18  Dan Bernstein  <mitz@apple.com>

        Address review comments on the last change

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

2010-01-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
        <rdar://problem/7546035> Second right floated image misplacment
        https://bugs.webkit.org/show_bug.cgi?id=33245

        Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html

        When the last line of a block contains a line break and there are floats
        after the line break, it is incorrect to put those floats in the last line’s
        floats vector (along with floats from before the break). Instead, create
        an additional line box (a TrailingFloatsRootInlineBox) and put those floats
        in its floats vector. 

        * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
        parameter, which is the highest line to dirty.
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
        for the floats occurring after the line break on the last line.
        (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
        above the first dirty line.
        * rendering/TrailingFloatsRootInlineBox.h: Added.
        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
        setHasVirtualHeight().
        (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.

2010-01-18  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (build fix).

        Eeeep! reverting r53416 & r53417, more to be done to fix windows.

        * WebCore.base.exp:
        * platform/sql/SQLiteFileSystem.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):
        * platform/sql/SQLiteStatement.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        (WebCore::String::charactersWithNullTermination):
        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::operator new):
        (WebCore::StringImpl::operator delete):
        (WebCore::StringImpl::StringImpl):
        (WebCore::StringImpl::~StringImpl):
        (WebCore::StringImpl::create):
        (WebCore::StringImpl::createWithTerminatingNullCharacter):
        (WebCore::StringImpl::crossThreadString):
        (WebCore::StringImpl::sharedBuffer):
        * platform/text/StringImpl.h:
        (WebCore::StringImpl::hasTerminatingNullCharacter):
        (WebCore::StringImpl::inTable):
        (WebCore::StringImpl::setInTable):
        (WebCore::StringImpl::):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::createGlobalData):
        * storage/OriginUsageRecord.cpp:
        (WebCore::OriginUsageRecord::addDatabase):
        (WebCore::OriginUsageRecord::markDatabase):

2010-01-18  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (windows build fix).

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::createGlobalData):

2010-01-15  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33731
        Remove uses of PtrAndFlags from WebCore::StringImpl.

        These break the OS X Leaks tool.  Move the management of null-terminated copies
        out from StringImpl to String, and use a bit stolen from the refCount to hold the
        'InTable' flag.

        * platform/sql/SQLiteFileSystem.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):
        * platform/sql/SQLiteStatement.h:
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        (WebCore::String::copyWithNullTermination):
        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::StringImpl):
        (WebCore::StringImpl::~StringImpl):
        (WebCore::StringImpl::create):
        (WebCore::StringImpl::crossThreadString):
        (WebCore::StringImpl::sharedBuffer):
        * platform/text/StringImpl.h:
        (WebCore::StringImpl::inTable):
        (WebCore::StringImpl::setInTable):

2010-01-18  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        Made root compositing layer scroll rather than scroll parent.
        https://bugs.webkit.org/show_bug.cgi?id=32279
        
        There's some general cleanup here so the frames, bounds and
        positions of all the associated layers are correct.
        I also changed API of setScrollFrame to use an IntRect.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::setScrollFrame):
        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
        (WebCore::WKCACFLayerRenderer::createRenderer):
        (WebCore::WKCACFLayerRenderer::resize):
        * platform/graphics/win/WKCACFLayerRenderer.h:

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

        Reviewed by Pavel Feldman.

        WebInspector: Timeline panel scrolling speed can be 2 times faster.
        https://bugs.webkit.org/show_bug.cgi?id=33794

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelineCalculator):
        (WebInspector.TimelineCalculator.prototype.calculateWindow):
        (WebInspector.TimelineCalculator.prototype.reset):
        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
        (WebInspector.TimelineRecordGraphRow.prototype.update):

2010-01-18  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
        https://bugs.webkit.org/show_bug.cgi?id=33672

        No new tests, refactoring only.

        * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
        * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
        * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
        * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
        * bridge/jni/jni_instance.cpp: Removed.
        * bridge/jni/jni_instance.h: Removed.
        * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
        * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
        * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.

2010-01-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        Simplify image decoders slightly by using OwnPtr instead of raw pointers
        and eliminating a basically-useless wrapper class in the GIF decoder.
        https://bugs.webkit.org/show_bug.cgi?id=28751

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::ImageDecoderQt):
        (WebCore::ImageDecoderQt::~ImageDecoderQt):
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::internalReadImage):
        (WebCore::ImageDecoderQt::failRead):
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::GIFImageDecoder):
        (WebCore::GIFImageDecoder::~GIFImageDecoder):
        (WebCore::GIFImageDecoder::setData):
        (WebCore::GIFImageDecoder::frameCount):
        (WebCore::GIFImageDecoder::repetitionCount):
        (WebCore::GIFImageDecoder::decode):
        (WebCore::GIFImageDecoder::decodingHalted):
        (WebCore::GIFImageDecoder::initFrameBuffer):
        (WebCore::GIFImageDecoder::haveDecodedRow):
        (WebCore::GIFImageDecoder::gifComplete):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
        (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
        (WebCore::JPEGImageDecoder::setData):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::PNGImageDecoder):
        (WebCore::PNGImageDecoder::~PNGImageDecoder):
        (WebCore::PNGImageDecoder::setData):
        (WebCore::PNGImageDecoder::decode):
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):
        * platform/image-decoders/png/PNGImageDecoder.h:

2010-01-18  Daniel Cheng  <dcheng@google.com>

        Reviewed by Adam Roben.

        DataTransfer interface broken on Windows--types member is always
        undefined, and getData() does not work.
        https://bugs.webkit.org/show_bug.cgi?id=30527

        * platform/win/ClipboardWin.cpp:
        (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
        (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
        (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.

2010-01-18  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Don't show Profiles welcome screen on panel switch,
        if a profile view is shown.

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

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.show):

2010-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Force qmake to generate a single makefile for DerivedSources.pro

        * DerivedSources.pro:

2010-01-18  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Adam Barth.

        Add support for enabling navigator.geolocation at runtime in the V8 bindings.
        Adds the [EnabledAtRuntime] modifier to the navigator IDL.
        https://bugs.webkit.org/show_bug.cgi?id=33467

        * WebCore.gypi:
        * bindings/v8/RuntimeEnabledFeatures.cpp:
        * bindings/v8/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
        (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
        (WebCore::V8Navigator::GeolocationEnabled):
        * page/Navigator.cpp:
        (WebCore::Navigator::geolocation):
        * page/Navigator.idl:

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

        Reviewed by Pavel Feldman.

        Improve Resources panel performance for lots of resources

        DOM properties are extracted into const's, comparisons are faster.
        https://bugs.webkit.org/show_bug.cgi?id=33790

        * inspector/front-end/AbstractTimelinePanel.js:
        (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.CompareByStartTime):
        (WebInspector.Resource.CompareByResponseReceivedTime):
        (WebInspector.Resource.CompareByEndTime):
        (WebInspector.Resource.CompareByDuration):
        (WebInspector.Resource.CompareByLatency):
        (WebInspector.Resource.CompareBySize):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceGraph.prototype.refreshLabelPositions):

2010-01-18  Daniel Bates  <dbates@rim.com>

        Reviewed by Eric Seidel.

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

        Following up on changes made with respect to bug #33498, we should
        fix the the style errors found by the style bot.
        
        Moreover, this fixes all the style errors found by check-webkit-style
        except the use of an underline in the variable name _niflags. We should
        fix this in a second run through for all the other variables names that
        contain an underline because there are many.

        No functionality was changed. So, no new tests.

        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::create):
        (WebCore::SVGRenderStyle::copy):
        (WebCore::SVGRenderStyle::operator!=):
        (WebCore::SVGRenderStyle::hasStroke):
        (WebCore::SVGRenderStyle::hasFill):
        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
        (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
        (WebCore::SVGRenderStyle::NonInheritedFlags::operator==):
        (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=):
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::):
        (WebCore::SVGRenderStyle::setBitDefaults):

2010-01-18  Andrei Popescu  <andreip@google.com>

        Reviewed by Adam Barth.

        [Android] DOMWrapperMap::Visitor needs virtual destructor
        https://bugs.webkit.org/show_bug.cgi?id=33675

        Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.

        No new tests needed, functionality not changed.

        * bindings/v8/V8DOMMap.h:
        (WebCore::DOMWrapperMap::Visitor::~Visitor): Added.

2010-01-18  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Symbian build fix.

        If we don't link with def files, then we have to pass EXPORTUNFROZEN,
        so that the build system still creates the .dso files in
        release/armv5/lib and we can actually link against the created QtWebKit
        dlls.

        Thanks Iain for the help!

        * WebCore.pro:

2010-01-17  Srinidhi Shreedhara  <srinidhi.shreedhara@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
        https://bugs.webkit.org/show_bug.cgi?id=33573

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative
        coordinates for early return.

2010-01-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Dan Bernstein.

        REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
        https://bugs.webkit.org/show_bug.cgi?id=33782

        Test: svg/custom/transformedMaskFails.svg

        When computing the bounds for elements in a mask, we iterate through
        all of our children requesting their repaint bounds using
        repaintRectInLocalCoordinates(), but we were not converting that
        rect into our own coordinate system, thus leading to an incorrect
        repaint rect.  This patch simply adds the missing localToParent
        transform.

        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):

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

        Reviewed by Dan Bernstein.

        Avoid slow access to AX objects on attribute access when AX is off
        https://bugs.webkit.org/show_bug.cgi?id=33779

        ~4% Dromaeo attributes test speedup

        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
        AX object cache unless accessibility is on and an AX-related attribute is
        changed.

2010-01-17  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        [wx] On Win and GTK, we need to manually apply the transforms when falling back
        to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.
        
        https://bugs.webkit.org/show_bug.cgi?id=33730

        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::paintButton):

2010-01-17  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] GtkWebKit incompatible with rgba colormaps
        https://bugs.webkit.org/show_bug.cgi?id=20736

        Fix GTK theme rendering onto drawables with RGBA colormaps. Now
        each type of colormap has its own collection of GtkWidgets.

        This fix does not introduce any functionality changes, so does not
        includes new tests.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::~RenderThemeGtk):
        (WebCore::RenderThemeGtk::partsForDrawable):
        (WebCore::adjustMozillaStyle):
        (WebCore::setMozillaState):
        (WebCore::paintMozillaGtkWidget):
        (WebCore::setToggleSize):
        (WebCore::RenderThemeGtk::setCheckboxSize):
        (WebCore::RenderThemeGtk::paintCheckbox):
        (WebCore::RenderThemeGtk::setRadioSize):
        (WebCore::RenderThemeGtk::paintRadio):
        (WebCore::RenderThemeGtk::paintButton):
        (WebCore::RenderThemeGtk::adjustMenuListStyle):
        (WebCore::RenderThemeGtk::paintMenuList):
        (WebCore::RenderThemeGtk::adjustTextFieldStyle):
        (WebCore::RenderThemeGtk::paintTextField):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/gtk2drawing.c:
        (moz_gtk_use_theme_parts):
        (ensure_window_widget):
        (setup_widget_prototype):
        (ensure_button_widget):
        (ensure_hpaned_widget):
        (ensure_vpaned_widget):
        (ensure_toggle_button_widget):
        (ensure_button_arrow_widget):
        (ensure_checkbox_widget):
        (ensure_radiobutton_widget):
        (ensure_scrollbar_widget):
        (ensure_spin_widget):
        (ensure_scale_widget):
        (ensure_entry_widget):
        (moz_gtk_get_combo_box_inner_button):
        (moz_gtk_get_combo_box_button_inner_widgets):
        (ensure_combo_box_widgets):
        (moz_gtk_get_combo_box_entry_inner_widgets):
        (moz_gtk_get_combo_box_entry_arrow):
        (ensure_combo_box_entry_widgets):
        (ensure_handlebox_widget):
        (ensure_toolbar_widget):
        (ensure_toolbar_separator_widget):
        (ensure_tooltip_widget):
        (ensure_tab_widget):
        (ensure_progress_widget):
        (ensure_statusbar_widget):
        (ensure_frame_widget):
        (ensure_menu_bar_widget):
        (ensure_menu_bar_item_widget):
        (ensure_menu_popup_widget):
        (ensure_menu_item_widget):
        (ensure_image_menu_item_widget):
        (ensure_menu_separator_widget):
        (ensure_check_menu_item_widget):
        (ensure_tree_view_widget):
        (ensure_tree_header_cell_widget):
        (ensure_expander_widget):
        (ensure_scrolled_window_widget):
        (moz_gtk_checkbox_get_metrics):
        (moz_gtk_radio_get_metrics):
        (moz_gtk_splitter_get_metrics):
        (moz_gtk_toggle_paint):
        (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_caret_paint):
        (moz_gtk_treeview_paint):
        (moz_gtk_tree_header_cell_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):
        (moz_gtk_check_menu_item_paint):
        (moz_gtk_window_paint):
        (moz_gtk_get_widget_border):
        (moz_gtk_get_combo_box_entry_button_size):
        (moz_gtk_get_tab_scroll_arrow_size):
        (moz_gtk_get_downarrow_size):
        (moz_gtk_get_toolbar_separator_width):
        (moz_gtk_get_expander_size):
        (moz_gtk_get_treeview_expander_size):
        (moz_gtk_get_menu_separator_height):
        (moz_gtk_get_scalethumb_metrics):
        (moz_gtk_get_scrollbar_metrics):
        (moz_gtk_images_in_menus):
        (moz_gtk_widget_paint):
        (moz_gtk_get_scrollbar_widget):
        (moz_gtk_shutdown):
        (moz_gtk_destroy_theme_parts_widgets):
        * platform/gtk/gtkdrawing.h:

2010-01-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.

        Cache JS string values made from DOM strings (Dromaeo speedup)
        https://bugs.webkit.org/show_bug.cgi?id=33768
        <rdar://problem/7353576>

        Added a new cache for JSString values that are created from Strings or AtomicStrings
        in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
        and it is wasteful to make a new JS-level string value every time.
        
        The string cache is per-world, and thus thread-safe and not a
        vector for accidental information exchange.
        
        ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringCache): Helper function to get the string cache for the current world.
        (WebCore::jsString): Some new overloads including the caching version.
        (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
        * bindings/js/JSDOMBinding.h:
        (WebCore::jsString): Prototype new overloads (and define a few inline).
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::appendArgument): Ditto.
        * WebCore.base.exp: Add new JSString overloads that WebCore gets to see.

2010-01-16  Oliver Hunt  <oliver@apple.com>

        Reviewed by Nikolas Zimmermann.

        SVG Markers are getting culled incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=33767

        Use applyTransformToPaintInfo to transform the paintInfo, otherwise
        the paint rect is not updated leading to incorrect culling.

        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::draw):

2010-01-15  John Sullivan  <sullivan@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
        Zip code field is misidentified as street address because id attribute isn't checked.

        Reviewed by Darin Adler

        No new tests. I believe this code is used only by Safari AutoFill, but in any case
        it does not affect page rendering or anything else at the WebCore/WebKit level.

        * page/Frame.cpp:
        (WebCore::matchLabelsAgainstString):
        New function, split out from matchLabelsAgainstElement.
        (WebCore::Frame::matchLabelsAgainstElement):
        Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.
        
        * page/mac/FrameMac.mm:
        (WebCore::matchLabelsAgainstString):
        Same as above. This is a parallel copy of the function using Mac-specific data structures.
        (WebCore::Frame::matchLabelsAgainstElement):
        Ditto.

2010-01-16  Timothy Hatcher  <timothy@apple.com>

        Use String.trim() instead of a regex in the Web Inspector.

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

        Reviewed by George Staikos.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.performSearch): Use .trim().
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.
        * inspector/front-end/ProfileView.js:
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype): Ditto.
        * inspector/front-end/utilities.js:
        (String.prototype.trimLeadingWhitespace): Removed.
        (String.prototype.trimTrailingWhitespace): Removed.
        (String.prototype.trimWhitespace): Removed.

2010-01-16  Oliver Hunt  <oliver@apple.com>

        Reviewed by Nikolas Zimmermann.

        Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
        https://bugs.webkit.org/show_bug.cgi?id=33766

        Make localToParentTransform return by reference to avid copy overhead.
        This is a little gnarly in places as it means we need to be able to 
        return temporary values in a few implementations, so we have to add
        class fields to hold them, heppily the classes that these effect are
         sufficiently uncommon for this to be okay.

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::localToParentTransform):
        * rendering/RenderForeignObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::localTransform):
        (WebCore::RenderObject::localToParentTransform):
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::localToParentTransform):
        (WebCore::RenderPath::nodeAtFloatPoint):
        * rendering/RenderPath.h:
        * rendering/RenderSVGImage.h:
        (WebCore::RenderSVGImage::localToParentTransform):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::localToParentTransform):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGText.h:
        (WebCore::RenderSVGText::localToParentTransform):
        * rendering/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
        * rendering/RenderSVGTransformableContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::localToParentTransform):
        * rendering/RenderSVGViewportContainer.h:

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

        Reviewed by Oliver Hunt and Alexey Proskuryakov.

        ValidityState can hold a stale pointer to control
        https://bugs.webkit.org/show_bug.cgi?id=33729
        rdar://problem/7545114

        Test: fast/forms/ValidityState-removed-control.html

        * html/HTMLFormControlElement.h: Use OwnPtr instead of
        RefPtr to point to the ValidityState object.

        * html/ValidityState.cpp: Use a constant instead of a
        macro for the email validation regular expression.
        (WebCore::ValidityState::validationMessage): Use
        m_control instead of control function; we don't need
        a function for this. Also marked const.
        (WebCore::ValidityState::typeMismatch): Ditto.
        Fixed some minor style problems.
        (WebCore::ValidityState::rangeUnderflow): Ditto.
        (WebCore::ValidityState::rangeOverflow): Ditto.
        (WebCore::ValidityState::stepMismatch): Ditto.
        (WebCore::ValidityState::valid): Ditto.
        (WebCore::ValidityState::isValidEmailAddress):
        Changed local variable names for clarity. Got rid of
        an unneeded global variable.

        * html/ValidityState.h: Removed RefCounted as a base
        class, deriving from Noncopyable instead. Changed
        creation to use PassOwnPtr instead of PassRefPtr.
        Eliminated unneeded control function. Added ref and
        deref functions that forward the reference counting
        to the control. Moved constructor here and made it
        inline.

2010-01-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33752
        Assertion failure when getting a href attribute with prefix

        This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
        disabled during introduction of QualifiedName, but never re-enabled.

        Tests: fast/dom/bad-href-attribute.html
               fast/dom/node-prefix-setter-namespace-exception.html

        * dom/Attr.cpp: (WebCore::Attr::setPrefix):
        * dom/Element.cpp: (WebCore::Element::setPrefix):
        * dom/Node.cpp: (WebCore::Node::checkSetPrefix):
        Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox
        (DOM 3 Core spec says this behavior is implementation defined).

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

        Reviewed by Darin Adler.

        <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
        History traversals to a new document do not get the popstate event

        State objects now live-on in their HistoryItem indefinitely.
        This means any back/forward navigation might result in a popstate event, not just to 
        pre-existing documents as was previously the case.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.
       
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it
          on to the Document after the Document is created.
        (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,
          set it as the FrameLoad's pending state object.
        * loader/FrameLoader.h:
        
        * page/Page.cpp:
        (WebCore::Page::goToItem): Remove a now-invalid ASSERT.

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

        Reviewed by Dan Bernstein and Adele Peterson.

        Support reflections on composited layers
        https://bugs.webkit.org/show_bug.cgi?id=31885
        
        Implement reflections (via -webkit-box-reflect:) on compositing layers.
        
        We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
        The replica layer is not parented in the tree, but referenced by another layer.
        RenderLayerBacking sets this up when it finds RenderLayers for reflections.
        
        GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
        and copying their properties, including animations and contents. Deep reflections
        are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
        the path down the tree to each replica instance.
        
        When GraphicsLayerCA properties are changed, in most cases the clones must also
        be updated.

        Tests: compositing/masks/direct-image-mask.html
               compositing/reflections/animation-inside-reflection.html
               compositing/reflections/compositing-change-inside-reflection.html
               compositing/reflections/deeply-nested-reflections.html
               compositing/reflections/masked-reflection-on-composited.html
               compositing/reflections/nested-reflection-anchor-point.html
               compositing/reflections/nested-reflection-animated.html
               compositing/reflections/nested-reflection-mask-change.html
               compositing/reflections/nested-reflection-on-overflow.html
               compositing/reflections/nested-reflection-opacity.html
               compositing/reflections/nested-reflection-size-change.html
               compositing/reflections/nested-reflection-transformed.html
               compositing/reflections/nested-reflection-transition.html
               compositing/reflections/nested-reflection.html
               compositing/reflections/reflection-opacity.html
               compositing/reflections/reflection-ordering.html
               compositing/reflections/reflection-positioning.html
               compositing/reflections/transform-inside-reflection.html

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer.
        (WebCore::GraphicsLayer::replicatedLayerPosition):
        (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be 
        special-cased; we cannot just copy the position of the original.
        (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed,
        which gives us a chance to update clone layers.
        (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer.
        (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating.
        (WebCore::GraphicsLayer::setReplicatedLayer):

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer):
        (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer.
        (WebCore::GraphicsLayer::dumpProperties):

        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers.
        (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone
        down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the
        root of a replica tree.
        (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.

        (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
        down the tree during recursion, to build cloneID paths.

        (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers.
        (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too.
        (WebCore::GraphicsLayerCA::addChild): ditto
        (WebCore::GraphicsLayerCA::addChildAtIndex): ditto
        (WebCore::GraphicsLayerCA::addChildBelow): ditto
        (WebCore::GraphicsLayerCA::addChildAbove): ditto
        (WebCore::GraphicsLayerCA::replaceChild): ditto
        (WebCore::GraphicsLayerCA::removeFromParent): ditto
        (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas()
        (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed.
        (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto
        (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations.
        (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto.
        (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged()
        (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged()
        (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers.
        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be
            committed before we recurse on children.
        (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be
            committed after we recurse on children, like clones.
        (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
        (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
        (WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
        (WebCore::GraphicsLayerCA::updateLayerSize): ditto
        (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
        (WebCore::GraphicsLayerCA::updateTransform): ditto
        (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
        (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
        (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
        (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
        (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
        (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
        (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
        flattening, or CATransformLayers for preserve-3d.
        (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
        (WebCore::GraphicsLayerCA::updateContentsImage): ditto
        (WebCore::GraphicsLayerCA::updateContentsRect): ditto
        (WebCore::GraphicsLayerCA::updateMaskLayer): ditto
        (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
        and its children, and attach them as sublayers.
        (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
        string serves to identify clones in the hash map.
        (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
        and return it.
        (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
        (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
        (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
        (WebCore::GraphicsLayerCA::suspendAnimations): update clones.
        (WebCore::GraphicsLayerCA::resumeAnimations): ditto
        (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
        (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
        (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
        (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
        since it doesn't just copy those properties from the original.
        (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
        (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
        the root of the clone tree.
        (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
        (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
        (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
        (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
        (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.

        * platform/graphics/mac/WebLayer.mm:
        (-[WebLayer display]): override -display so we know when to update the contents of clone layers

        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer display]): ditto.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer): initialize m_isReflection
        (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer.
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect).
        Also hook up updating the reflection layer geometry, and the relica position.
        
        (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic.
        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected.
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer.
        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto
        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces
        a reflection ancestor to composite now.
        (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything.
        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode
        for masks or reflections any more.
        (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isReplica):
        * rendering/RenderReplica.h:
        (WebCore::RenderReplica::isReplica):
        New method used to determine if a render is a replica.

2010-01-15  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

        CSS2.1 Counters not updated when new elements are inserted in the DOM.
        https://bugs.webkit.org/show_bug.cgi?id=32884

        Test: fast/css/counters/adding-nodes.html

        * rendering/CounterNode.cpp:
        (WebCore::CounterNode::insertAfter):
        Modified to handle the addition of nodes with children. Needed when formerly 
        root nodes become descendants of a new node.
        * rendering/RenderCounter.cpp:
        (WebCore::makeCounterNode):
        Changed to handle the case when root counter nodes lose their root 
        status as a result of a new root counter node creation. 
        (WebCore::destroyCounterNodeWithoutMapRemoval):
        Refactored more code into destroyCounterNodeChildren and renamed the
        function according to its new action.
        (WebCore::RenderCounter::destroyCounterNodes):
        Simplified to share more code with the new destroyCounterNode.
        (WebCore::RenderCounter::destroyCounterNode):
        Added to allow for selective counterNode destruction.
        (WebCore::RenderCounter::rendererSubtreeAttached):
        Added to refresh counter values in response to DOM changes.
        For renderers with no attached counters the execution time of this
        function cannot be discerned in comparison with the time needed to
        add a node or change the style of a node.
        (WebCore::updateCounters):
        Helper function for rendererSubtreeAttached. Updates the counters
        attached to a Renderer in response to the renderer or its ancestors
        being attached to the renderer tree.
        * rendering/RenderCounter.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        Changed to update counter values if needed.

2010-01-15  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Original patch by David Ronis <david.ronis@mcgill.ca>

        Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
        https://bugs.webkit.org/show_bug.cgi?id=33486

        Deprecated symbols replaced for gtk+ versions over 2.18.

        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual):
        (WebCore::screenRect):

2010-01-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig.

        Bad DOM performance in large SVG files
        https://bugs.webkit.org/show_bug.cgi?id=30055

        Improve the performance of the early culling check by avoiding save/restore
        of graphics state in culled case.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):

2010-01-15  Eric Seidel  <eric@webkit.org>

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

        Broke the Chromium Mac builder.

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/SerializedScriptValue.cpp: Removed.
        * bindings/v8/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::toString):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::postMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::initMessageEventCallback):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::V8MessagePort::postMessageCallback):
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        (WebCore::V8PopStateEvent::initPopStateEventCallback):
        (WebCore::V8PopStateEvent::stateAccessorGetter):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::V8Worker::postMessageCallback):

2010-01-15  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        history.length does not return number of elements in history list
        https://bugs.webkit.org/show_bug.cgi?id=24472

        Test: fast/history/history-length.html

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

2010-01-15  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
        https://bugs.webkit.org/show_bug.cgi?id=31633

        Don't see a way to add test for it, we don't have a way to reproduce the issue currently.

        * dom/Document.cpp:
        (WebCore::DocumentWeakReference::DocumentWeakReference):
        (WebCore::DocumentWeakReference::document):
        (WebCore::DocumentWeakReference::clear):
        (WebCore::Document::Document): Create a weak reference to this Document.
        (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
        (WebCore::PerformTaskContext::PerformTaskContext):
        (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
        (WebCore::Document::postTask):
        * dom/Document.h:
        (WebCore::DocumentWeakReference::create):

2010-01-15  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by David Levin.

        [V8] Support SerializedScriptValue.
        https://bugs.webkit.org/show_bug.cgi?id=32920
        http://crbug.com/30620

        Initial implementation of SerializedScriptValue which is used to
        to create a serialized representation of JavaScript objects.  This
        representation is needed for structured clones and worker messages.

        * WebCore.gypi: Added SerializedScriptValue.cpp.
        * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
        * bindings/v8/SerializedScriptValue.cpp: Added.
        (WebCore::):
        (WebCore::ZigZag::encode):
        (WebCore::ZigZag::decode):
        (WebCore::Writer::Writer):
        (WebCore::Writer::writeUndefined):
        (WebCore::Writer::writeNull):
        (WebCore::Writer::writeTrue):
        (WebCore::Writer::writeFalse):
        (WebCore::Writer::writeString):
        (WebCore::Writer::writeInt32):
        (WebCore::Writer::writeNumber):
        (WebCore::Writer::endComposite):
        (WebCore::Writer::data):
        (WebCore::Writer::doWriteUint32):
        (WebCore::Writer::append):
        (WebCore::Writer::ensureSpace):
        (WebCore::Writer::fillHole):
        (WebCore::Writer::charAt):
        (WebCore::Serializer::Serializer):
        (WebCore::Serializer::serialize):
        (WebCore::Serializer::StateBase::~StateBase):
        (WebCore::Serializer::StateBase::nextState):
        (WebCore::Serializer::StateBase::setNextState):
        (WebCore::Serializer::StateBase::composite):
        (WebCore::Serializer::StateBase::StateBase):
        (WebCore::Serializer::State::composite):
        (WebCore::Serializer::State::tag):
        (WebCore::Serializer::State::State):
        (WebCore::Serializer::StackCleaner::StackCleaner):
        (WebCore::Serializer::StackCleaner::~StackCleaner):
        (WebCore::Serializer::ArrayState::ArrayState):
        (WebCore::Serializer::ArrayState::done):
        (WebCore::Serializer::ArrayState::advance):
        (WebCore::Serializer::ObjectState::ObjectState):
        (WebCore::Serializer::ObjectState::done):
        (WebCore::Serializer::ObjectState::advance):
        (WebCore::Serializer::ObjectState::nextProperty):
        (WebCore::Serializer::doSerialize):
        (WebCore::Serializer::push):
        (WebCore::Serializer::top):
        (WebCore::Serializer::pop):
        (WebCore::Serializer::checkComposite):
        (WebCore::Reader::Reader):
        (WebCore::Reader::isEof):
        (WebCore::Reader::read):
        (WebCore::Reader::readTag):
        (WebCore::Reader::readString):
        (WebCore::Reader::readInt32):
        (WebCore::Reader::readNumber):
        (WebCore::Reader::doReadUint32):
        (WebCore::Deserializer::Deserializer):
        (WebCore::Deserializer::deserialize):
        (WebCore::Deserializer::doDeserialize):
        (WebCore::Deserializer::push):
        (WebCore::Deserializer::pop):
        (WebCore::Deserializer::stackDepth):
        (WebCore::Deserializer::element):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/v8/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::toWireString):

        Updated uses of SerializedScriptValue:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::postMessageCallback):
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::pushStateCallback):
        (WebCore::V8History::replaceStateCallback):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::initMessageEventCallback):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::V8MessagePort::postMessageCallback):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::V8Worker::postMessageCallback):

2010-01-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Dirk Schulze.

        Bad DOM performance in large SVG files
        https://bugs.webkit.org/show_bug.cgi?id=30055

        Add an early return when we go to paint a RenderPath that
        isn't in the current clip.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::draw):

2010-01-15  Steve Block  <steveblock@google.com>

        Reviewed by Eric Seidel.

        Make Geolocation::suspend/resume public.
        https://bugs.webkit.org/show_bug.cgi?id=33679

        These were made private in Bug 32499, but are required by Android to be public.

        No new tests, build fix only.

        * page/Geolocation.cpp: Modified
        (WebCore::Geolocation::suspend): Added back in
        (WebCore::Geolocation::resume): Added back in
        * page/Geolocation.h: Modified. Make suspend and resume public

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

        Reviewed by Pavel Feldman.

        Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane

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

        * inspector/front-end/inspector.css:

2010-01-15  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp:
        (WebCore::getToStringName):
        (WebCore::constructorToString):
        (WebCore::getToStringTemplate):
        * bindings/v8/V8Binding.h:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):

2010-01-15  Dimitri Glazkov  <dglazkov@chromium.org>

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

        Broke fast/borders/svg-as-border-image-3.html. Don't give up,
        Oliver! You are really, really close.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):

2010-01-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Nikolas Zimmermann.

        Bad DOM performance in large SVG files
        https://bugs.webkit.org/show_bug.cgi?id=30055

        Add an early return when we go to paint a RenderPath that
        isn't in the current clip.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):

2010-01-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Antti Koivisto.

        Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform

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

        * page/NavigatorBase.cpp:

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

        Reviewed by Xan Lopez.

        [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
        https://bugs.webkit.org/show_bug.cgi?id=33575

        Patch from Magnus Boman <captain.magnus@gmail.com>

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache): fix compiler warnings.

2010-01-14  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Add welcome screen to Profiles pane to provide some instructions for novices.

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

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType.prototype.get welcomeMessage):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileType.prototype.get welcomeMessage):
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.show):
        (WebInspector.ProfilesPanel.prototype.registerProfileType):
        (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked):
        (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
        (WebInspector.ProfilesPanel.prototype.showProfile):
        (WebInspector.ProfilesPanel.prototype.closeVisibleView):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/WelcomeView.js: Added.
        (WebInspector.WelcomeView):
        (WebInspector.WelcomeView.prototype._windowResized):
        (WebInspector.WelcomeView.prototype.addMessage):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2010-01-13  Girish Ramakrishnan  <girish@forwardbias.in>

        Reviewed by Simon Hausmann.

        [Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
        
        https://bugs.webkit.org/show_bug.cgi?id=33591
        
        Mouse hover does not work as expected with the flash in some sites.
        - http://www.bbc.co.uk/ Hover over the map
        - http://www.barbie.com/ Hover over the menu items (Games, Videos)
        The problem appears to be that Flash queries NPNVnetscapeWindow on every
        mouse hover. I do not how flash uses this value but returning 0 when flash
        is in windowless mode solves the problem (When using QGraphicsWebView we
        inject wmode opaque, thereby putting the plugin in windowless mode).

        * plugins/win/PluginViewWin.cpp:
        (windowHandleForPageClient):

2010-01-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for Peer class
        https://bugs.webkit.org/show_bug.cgi?id=33670

        Inherits the following class from Noncopyable because it is 
        instantiated by 'new' and no need to be copyable:

        class name - instantiated at: WebCore/'location'
        class Peer - websockets/WebSocketChannelClient.h:38

        * websockets/WorkerThreadableWebSocketChannel.h:

2010-01-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Oliver Hunt.

        [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
        https://bugs.webkit.org/show_bug.cgi?id=33669

        Inherits the following class from Noncopyable because it is 
        instantiated by 'new' and no need to be copyable:

        class name                           - instantiated at: WebCore/'location'
        class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254

        * platform/graphics/qt/GraphicsContextQt.cpp:

2010-01-14  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        history.pushState should clear the entire forward history
        https://bugs.webkit.org/show_bug.cgi?id=33160

        Test: fast/loader/stateobjects/pushstate-clears-forward-history.html

        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::addItem):
        (WebCore::BackForwardList::pushStateItem):
        * history/BackForwardList.h:

2010-01-14  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.

        Make naming & behaviour of UString[Impl] methods more consistent.
        https://bugs.webkit.org/show_bug.cgi?id=33702

        WebCore change reflecting UString method name change computedHash() -> existingHash().

        * platform/text/AtomicString.cpp:
        (WebCore::AtomicString::add):
        (WebCore::AtomicString::find):

2010-01-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=19650

        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
        letting the generator substitute the parameters with visually-equivalent values that
        are more efficient.
        * platform/graphics/Generator.h:
        (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
        that does nothing.
        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
        or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.
        * platform/graphics/Gradient.h:

2010-01-14  Norbert Leser  <norbert.leser@nokia.com>

        Reviewed by Laszlo Gombos.

        Platform Symbian specific:
        Added time-based optimization (-Otime) and increased optimization level to -O3,
        conditionally for RVCT compiler (for ARM), for increasing performance
        (primarily affecting JavaScript execution).
        Default settings are -Ospace and -O2.

        No new tests needed because no new funtionality is introduced,
        only potential regression on existing tests needs to be evaluated.

        * WebCore.pro:

2010-01-14  Jungshik Shin  <jshin@chromium.org>

        Unreviewed, attempted build fix on chromium.

        Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)

        * bindings/v8/V8Collection.h:
        (WebCore::getNamedPropertyOfCollection):

2010-01-14  Jungshik Shin  <jshin@chromium.org>

        Unreviewed, attempted build fix on chromium.

        Fix a Chromium build failure due to an unused variable in V8 binding. 

        * bindings/v8/V8Collection.h:
        (WebCore::getIndexedPropertyOfCollection):

2010-01-14  Peter Kasting  <pkasting@google.com>

        Unreviewed, attempted build fix.

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

2010-01-14  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        Simplify image decoders by making downsampling functions available at
        all times, allowing much duplicated logic to be collapsed.
        https://bugs.webkit.org/show_bug.cgi?id=28751

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::setData):
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ImageDecoder):
        (WebCore::ImageDecoder::scaledSize):
        (WebCore::ImageDecoder::setMaxNumPixels):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::sizeNowAvailable):
        (WebCore::GIFImageDecoder::initFrameBuffer):
        (WebCore::GIFImageDecoder::haveDecodedRow):
        (WebCore::GIFImageDecoder::frameComplete):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::setSize):
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):

2010-01-14  Jian Li  <jianli@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] Remove obsolete CF related files from gyp build.
        https://bugs.webkit.org/show_bug.cgi?id=33002

        * WebCore.gypi:

2010-01-14  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        Decoding images to scaled output buffers resulted in garbage for
        no-alpha PNGs and CMYK JPEGs.
        https://bugs.webkit.org/show_bug.cgi?id=33624
        
        No layout test since I don't have access to a platform that scales the
        output buffers.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::convertCMYKToRGBA):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-01-14  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Oliver Hunt.

        Fix an assertion that was causing test crashes. Filed a bug
        about the weirdness that causes this assertion (inconsistencies 
        between DragOperationMove and DragOperationGeneric).

        * dom/Clipboard.cpp:
        (WebCore::dragOpFromIEOp):
        (WebCore::Clipboard::setDestinationOperation):

2010-01-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION: 
        svg/css/circle-in-mask-with-shadow.svg failing pixel tests
        -and corresponding-
        <rdar://problem/7544176>

        This change makes repaintRectInLocalCoordinates return a rect that 
        is -webkit-svg-shadow-aware.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::repaintRectInLocalCoordinates):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::inflateForShadow):
        * rendering/style/SVGRenderStyle.h:

2010-01-14  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Drag and Drop source/destination code needs cleanup.
        <https://bugs.webkit.org/show_bug.cgi?id=33691>.
        
        Cleaned up some Drag and Drop code that deals with getting
        source and destination operations, and added some ASSERTS to make
        sure we don't get in bad states.

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::sourceOperation): Make this return the operation itself.
        (WebCore::Clipboard::destinationOperation): Ditto.
        (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
        (WebCore::Clipboard::setDestinationOperation): Ditto.
        * dom/Clipboard.h:
        * page/DragController.cpp:
        (WebCore::DragController::tryDHTMLDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleDrag):

2010-01-14  Timothy Hatcher  <timothy@apple.com>

        Make the Web Inspector's JavaScript debugger work with isolated worlds.
        Console evaluation is not performed in the correct world yet, tracked
        by bug http://webkit.org/b/33692.

        http://webkit.org/b/33690

        Reviewed by Adam Roben.

        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
        any window shell, not just for the debugger world.
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
        reattach to all window shells, not just for the debugger world.
        (WebCore::ScriptController::initScript): Attach the debugger to
        any window shell, not just for the debugger world.
        (WebCore::ScriptController::attachDebugger): Changed to loop through
        all the window shells and call the new overloaded attachDebugger.
        (WebCore::ScriptController::attachDebugger): Added. An overload that
        takes a window shell to attach the debugger to. Has most of the
        logic from the original attachDebugger.
        * bindings/js/ScriptController.h: Added the new attachDebugger.

2010-01-14  Adam Roben  <aroben@apple.com>

        Make Cache::requestResource return 0 if the resource's load fails
        immediately

        Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
        window.onload never fires if page contains a <script src=foo> whose
        load is cancelled by resource load delegate returning null from
        willSendRequest

        Test: fast/loader/onload-willSendRequest-null-for-script.html

        Reviewed by Dave Hyatt.

        * loader/Cache.cpp:
        (WebCore::Cache::requestResource): Moved code to handle immediate load
        failure out of the "cache is disabled" block so that it will run even
        when the cache is enabled.

2010-01-14  Stephen White  <senorblanco@chromium.org>

        Reviewed by mitz@webkit.org.

        Fix for crash with gradient on table cell.  Pass the correct
        background object down to
        RenderBoxModelObject::paintFillLayerExtended().  This also allowed a
        rework of the fix to bug 18445 by passing the correct RenderObject
        from RenderBox::paintRootBoxDecorations() down to
        RenderBoxModelObject::paintFillLayerExtended().
        https://bugs.webkit.org/show_bug.cgi?id=28426

        Covered by new layout test:  LayoutTests/fast/gradients/crash-on-tr.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintFillLayers):
        (WebCore::RenderBox::paintFillLayer):
        * rendering/RenderBox.h:
        Plumb through the correct background RenderObject.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        Use the passed-in background RenderObject (if present) when painting background images.  Remove the previous fix for bug 18445.
        * rendering/RenderBoxModelObject.h:
        Plumb through the correct background RenderObject.
        * rendering/RenderTableCell.cpp:
        Pass in the correct backgroundObject to paintFillLayers().

        (WebCore::RenderTableCell::paintBackgroundsBehindCell):

2010-01-14  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Standardize the rest of the v8 bindings on toNative() wherever possible.

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

        * bindings/v8/NPV8Object.cpp:
        (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
        * bindings/v8/NPV8Object.h:
        * bindings/v8/ScriptController.cpp:
        * bindings/v8/V8Collection.cpp:
        * bindings/v8/V8Collection.h:
        (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8NPObject.cpp:
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8SVGPODTypeWrapper.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:

2010-01-14  Evan Stade  <estade@chromium.org>

        Reviewed by Eric Seidel.

        Chromium Linux: don't stretch checkboxes
        https://bugs.webkit.org/show_bug.cgi?id=28631

        Make the default size for checkboxes/radio buttons also the maximum
        size.

        Based on patch by Adam Langley.

        Test: fast/css/non-standard-checkbox-size.html

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::center):
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
        (WebCore::RenderThemeChromiumSkia::paintRadio):

2010-01-14  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
        
        Now that dropEffect and effectAllowed are guaranteed to not be
        null, change null checks into asserts to make sure we are returning
        a proper DragOperation value.

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::sourceOperation): Change null check to assert.
        (WebCore::Clipboard::destinationOperation): Ditto.

2010-01-14  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Oliver Hunt.

        [DnD] effectAllowed and dropEffect can be set to bogus values.
        Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
        
        Test to make aure dropEffect and effectAllowed are being set to valid values
        when they are being set (list of valid values given by HTML5 specification).
        
        Also, drive by change to initialize dropEffect to none (as described in spec).

        Test: fast/events/bogus-dropEffect-effectAllowed.html

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
        (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
        (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.

2010-01-14  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Darin Adler.

        Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
        https://bugs.webkit.org/show_bug.cgi?id=33371

        RuntimeObjectImp should not reimplement getPropertyNames();
        move the implementation to getOwnPropertyNames().

        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::getOwnPropertyNames):
        * bridge/runtime_object.h:

2010-01-14  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Alexey Proskuryakov.

        Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=33665

        TransformSource is available only when ENABLE(XSLT) guard is true.

        * dom/TransformSourceLibxslt.cpp:

2010-01-14  Adam Roben  <aroben@apple.com>

        Treat all synchronous loads equally in FrameLoader::loadSubframe

        Only loads of the empty URL or about:blank were being treated as
        synchronous loads. But other loads can be synchronous (e.g., when we
        receive a null ResourceRequest from requestFromDelegate or when a
        policy decision of "ignore" is made). We now treat those loads the
        same way we treated empty URLs and about:blank.

        Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
        window.onload never fires if page contains an <iframe> with a bad
        scheme or whose load is cancelled by returning null from resource load
        delegate's willSendRequest

        Tests: fast/loader/onload-bad-scheme-for-frame.html
               fast/loader/onload-policy-ignore-for-frame.html
               fast/loader/onload-willSendRequest-null-for-frame.html

        Reviewed by Brady Eidson.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
          - Detect synchronous loads by checking the subframe's loader's
            state, rather than by checking its URL
          - Removed unnecessary call to completed(), since checkCompleted()
            will call completed() if needed (the call to completed() was added
            first and wasn't removed when the call to checkCompleted() was
            added in r8316)
          - Added more comments about the strange thing this function does
            with the subframe's loader

2010-01-14  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Christiansen.

        [Qt] Missing fileSystemPath() method in Qt KURL implementation
        https://bugs.webkit.org/show_bug.cgi?id=33614

        No new tests.

        * platform/qt/KURLQt.cpp:
        (WebCore::KURL::fileSystemPath):

2010-01-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=33652
        REGRESSION: Frames stop appearing after browsing for a while

        <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs

        I do not know how not creating renderers for frames could make iBench slower, but it did.

        Test: fast/frames/cached-frame-counter.html

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page,
        so decrement frame count here.
        (WebCore::CachedFrame::open): Increase frame count when a frame is restored.

        * history/CachedFrame.h: Remove unneeded forward declarations.

        * history/CachedPage.h: Ditto.

        * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is
        zero prior to restoring a page from b/f cache.
        
        * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to
        check that frame count stored in Page matches the number of frames in frame tree.

        * page/Page.h:
        (WebCore::Page::decrementFrameCount): Assert that frame count is positive.
        (WebCore::Page::frameCount): Call checkFrameCountConsistency().

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

        Windows build fixes.
        Add forward declarations and additional includes of windows.h.

        * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
        * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
        * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
        * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.
        (WebCore::SharedCursor::~SharedCursor): Moved here.
        * platform/win/EventLoopWin.cpp: Add include of windows.h.
        * platform/win/SystemInfo.cpp: Add include of windows.h.

2010-01-14  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Switch the custom V8 bindings to use class toNative() functions.

        Refactoring, so no new tests.

        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        * bindings/v8/custom/V8AttrCustom.cpp:
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * bindings/v8/custom/V8CoordinatesCustom.cpp:
        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * bindings/v8/custom/V8EventCustom.cpp:
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        * bindings/v8/custom/V8HistoryCustom.cpp:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        * bindings/v8/custom/V8LocationCustom.cpp:
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        * bindings/v8/custom/V8NodeCustom.cpp:
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        * bindings/v8/custom/V8NodeListCustom.cpp:
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        * bindings/v8/custom/V8StorageCustom.cpp:
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        * bindings/v8/custom/V8WebGLArrayCustom.h:
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        * bindings/v8/custom/V8WorkerCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:

2010-01-14  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] Enable DOM clipboard and drag-and-drop access
        https://bugs.webkit.org/show_bug.cgi?id=30623

        Add DataObjectGtk, a container for pasteboard and drag-and-drop data.

        No new tests, because functionality has not changed.

        * GNUmakefile.am:
        * platform/gtk/DataObjectGtk.cpp: Added.
        (WebCore::DataObjectGtk::text):
        (WebCore::DataObjectGtk::markup):
        (WebCore::DataObjectGtk::setText):
        (WebCore::DataObjectGtk::setMarkup):
        (WebCore::DataObjectGtk::files):
        (WebCore::DataObjectGtk::url):
        (WebCore::DataObjectGtk::urlLabel):
        (WebCore::DataObjectGtk::hasURL):
        (WebCore::DataObjectGtk::clear):
        (WebCore::DataObjectGtk::forClipboard):
        * platform/gtk/DataObjectGtk.h: Added.
        (WebCore::DataObjectGtk::create):
        (WebCore::DataObjectGtk::uriList):
        (WebCore::DataObjectGtk::image):
        (WebCore::DataObjectGtk::setRange):
        (WebCore::DataObjectGtk::setURIList):
        (WebCore::DataObjectGtk::setImage):
        (WebCore::DataObjectGtk::setDragContext):
        (WebCore::DataObjectGtk::hasText):
        (WebCore::DataObjectGtk::hasMarkup):
        (WebCore::DataObjectGtk::hasURIList):
        (WebCore::DataObjectGtk::hasImage):
        (WebCore::DataObjectGtk::dragContext):

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

        Reviewed by Pavel Feldman.

        WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
        https://bugs.webkit.org/show_bug.cgi?id=33666

        * inspector/front-end/inspector.css:

2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Unreviewed fix of builds with the --no-svg switch.

        * WebCore.pri:

2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Unreviewed build fix on Windows.

        * platform/graphics/transforms/TransformationMatrix.h:

2010-01-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enable scrolling optimization for pages with embedded widgets

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

        Added a basic manual test for scrolling of embedded QWidgets.

        * manual-tests/qt/qtplugin-scrolling.html: Added.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::setParent):
        * platform/ScrollView.h:
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::platformInit):
        (WebCore::ScrollView::platformAddChild):
        (WebCore::ScrollView::platformRemoveChild):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::invalidateRect):

2009-12-09  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] Check return values of gst_element_set_state()
        https://bugs.webkit.org/show_bug.cgi?id=30000

        Check for state change failure when going from READY/NULL to
        PAUSED or PLAYING. Also refactored the common code of play() and
        pause() to a new private method of the player.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::changePipelineState):
        (WebCore::MediaPlayerPrivate::play):
        (WebCore::MediaPlayerPrivate::pause):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2010-01-14  Eric Seidel  <eric@webkit.org>

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

        Caused 2 tests to crash on various bots:
        fast/dom/HTMLSelectElement/listbox-select-reset.html and
        fast/forms/listbox-typeahead-scroll.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::recalcStyle):
        (WebCore::SelectElement::setRecalcListItems):
        (WebCore::SelectElement::recalcListItems):
        (WebCore::SelectElement::restoreFormControlState):
        (WebCore::SelectElement::reset):
        (WebCore::SelectElement::typeAheadFind):
        * dom/SelectElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::selected):
        (WebCore::HTMLOptionElement::insertedIntoTree):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcStyle):
        * html/HTMLSelectElement.h:
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::recalcStyle):

2010-01-14  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        [Android] [Qt] The document.createEvent API does not support touch events.
        https://bugs.webkit.org/show_bug.cgi?id=33605

        Test: fast/events/touch/create-touch-event.html

        * dom/Document.cpp:
        (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.

2010-01-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Ensures that the 'selected' attribute of an <option> is correct
        https://bugs.webkit.org/show_bug.cgi?id=32641

        Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
        so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.

         Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.

         Tests: fast/forms/HTMLOptionElement_selected2.html
                fast/forms/HTMLOptionElement_selected3.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::setOptionsChangedOnRenderer):
        (WebCore::SelectElement::setRecalcListItems):
        (WebCore::SelectElement::recalcListItems):
        (WebCore::SelectElement::restoreFormControlState):
        (WebCore::SelectElement::reset):
        (WebCore::SelectElement::typeAheadFind):
        * dom/SelectElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::selected):
        (WebCore::HTMLOptionElement::insertedIntoTree):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
        * html/HTMLSelectElement.h:
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::recalcStyle):

2010-01-14  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Oliver Hunt.

        [Qt] Allow custom memory allocation control for TransparencyLayer class
        https://bugs.webkit.org/show_bug.cgi?id=33585

        Inherits the following class from FastAllocBase because it is 
        instantiated by 'new':

        class name              - instantiated at: WebCore/'location'
        class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906

        * platform/graphics/qt/GraphicsContextQt.cpp:

2010-01-14  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Oliver Hunt.

        [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
        https://bugs.webkit.org/show_bug.cgi?id=33583

        Inherits the following class from Noncopyable because it is 
        instantiated by 'new' and no need to be copyable:

        class name                    - instantiated at: WebCore/'location'
        class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70

        * platform/graphics/qt/FontPlatformData.h:

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

        Reviewed by Xan Lopez.

        [GTK] un-needed seeks
        https://bugs.webkit.org/show_bug.cgi?id=33532

        Avoid un-needed seeks. Don't seek at current playback position and
        don't update the rate if it is already set to target value.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::seek):
        (WebCore::MediaPlayerPrivate::setRate):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2010-01-14  Eric Seidel  <eric@webkit.org>

        No review.  Tiger build fix after http://trac.webkit.org/changeset/53238.

        Need to implement WebGLContextAttributes
        https://bugs.webkit.org/show_bug.cgi?id=31169

        Fix a build break when ENABLE(3D_CANVAS) is disabled.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.

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

        Reviewed by Timothy Hatcher.

        Web Inspector: use hidden text area for clipboard in order to
        workaround windows setData bug.

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

        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype._copy):
        * inspector/front-end/inspector.css:

2010-01-13  Mads Ager  <ager@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Slow named property lookup on DOMWindow because of missing fast case
        https://bugs.webkit.org/show_bug.cgi?id=33584

        Add fast case checks to V8 named property getter on DOMWindow
        objects.  If the property is not in the DOM there is no reason to
        search the DOM for all occurrences.

        Covered by layout tests.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::namedPropertyGetter):

2010-01-13  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression

        Adding isolated worlds support to the JSC bindings introduced a regression due to
        additional map lookups.  Add a mechanism to quickly detect that a lookup is for the
        'normal' world, and add fast paths to a couple of methods to check the normal world
        first.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::Document::getWrapperCache):
        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
        (WebCore::forgetDOMObject):
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMWrapperWorld::isNormal):
        (WebCore::WebCoreJSClientData::WebCoreJSClientData):
        * bindings/js/ScriptController.cpp:
        (WebCore::IsolatedWorld::IsolatedWorld):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::createWrapperCache):
        * dom/Document.h:

2010-01-13  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Need to implement WebGLContextAttributes
        https://bugs.webkit.org/show_bug.cgi?id=31169

        Added the WebGLContextAttributes class and custom JavaScript
        bindings to accept a native object as the second argument to
        getContext("experimental-webgl") per the WebGL specification.
        Added GraphicsContext3D::Attributes struct to isolate DOM and
        graphics layers. Added getContextAttributes() to
        WebGLRenderingContext. Added test case ensuring that context
        attributes can be passed down and returned. Tested in Safari and
        Chromium. The attributes will be hooked up to the creation of the
        OpenGL context in bug 33416.

        Test: fast/canvas/webgl/context-attributes.html

        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/IDLParser.pm:
        * bindings/v8/DOMData.cpp:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * html/HTMLCanvasElement.h:
        * html/HTMLCanvasElement.idl:
        * html/canvas/CanvasContextAttributes.cpp: Added.
        (WebCore::CanvasContextAttributes::CanvasContextAttributes):
        (WebCore::CanvasContextAttributes::~CanvasContextAttributes):
        * html/canvas/CanvasContextAttributes.h: Added.
        * html/canvas/WebGLContextAttributes.cpp: Added.
        (WebCore::WebGLContextAttributes::create):
        (WebCore::WebGLContextAttributes::WebGLContextAttributes):
        (WebCore::WebGLContextAttributes::~WebGLContextAttributes):
        (WebCore::WebGLContextAttributes::alpha):
        (WebCore::WebGLContextAttributes::setAlpha):
        (WebCore::WebGLContextAttributes::depth):
        (WebCore::WebGLContextAttributes::setDepth):
        (WebCore::WebGLContextAttributes::stencil):
        (WebCore::WebGLContextAttributes::setStencil):
        (WebCore::WebGLContextAttributes::antialias):
        (WebCore::WebGLContextAttributes::setAntialias):
        (WebCore::WebGLContextAttributes::premultipliedAlpha):
        (WebCore::WebGLContextAttributes::setPremultipliedAlpha):
        (WebCore::WebGLContextAttributes::attributes):
        * html/canvas/WebGLContextAttributes.h: Added.
        * html/canvas/WebGLContextAttributes.idl: Added.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::getContextAttributes):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::create):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::getContextAttributes):

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

        Fix Windows build.

        * platform/graphics/cg/GraphicsContextCG.cpp:

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

        Reviewed by Darin Adler.

        Transition followed by animation fails to run the animation sometimes
        https://bugs.webkit.org/show_bug.cgi?id=33563

        If a transition was closely followed by an animation, it was possible for the cleanup
        after the end of the transition to kill the animation.
        
        Fix this by including the keyframes name (or empty string for transitions) in the labels
        used to identify CAAnimations on layers.
        
        No test because this was a subtle timing issue that is hard to reproduce in a layout test.

        * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes.
        
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now.
        (WebCore::moveAllAnimationsForProperty): Pass the keyframes name.
        (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related
        CAAnimations, using the list of running animations to get the keyframe names for the latter.

        (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty
        and takes the keyframes name.

        (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions).
        (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down.
        (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down.
        (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down.
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down.

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

        Reviewed by Dan Bernstein.

        Fix shadow drawing to do the correct computations using the base coordinate space
        https://bugs.webkit.org/show_bug.cgi?id=33629
        
        Shadows draw using the CGContext base CTM, so we need to convert the shadow offet
        and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM().

        Test: compositing/shadows/shadow-drawing.html

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

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

        Reviewed by Oliver Hunt.

        SVGClipPathElement shouldn't resolve style manually
        https://bugs.webkit.org/show_bug.cgi?id=33647

        Build renderers for SVGClipPathElement, so we can query the style from the renderer
        instead of re-resolving style on every clip path resource invalidation.

        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::createRenderer):
        (WebCore::SVGClipPathElement::canvasResource):
        * svg/SVGClipPathElement.h:
        (WebCore::SVGClipPathElement::isValid):

2010-01-13  Kelly Norton  <knorton@google.com>

        Reviewed by Timothy Hatcher.

        Web Inspector does not update the DOM tree when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=20162

        * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute
        and removeAttribute and removes the existing call sites. This makes it possible to
        see attribute modifications.
        (WebCore::Element::setAttribute):
        (WebCore::Element::dispatchAttrRemovalEvent):
        (WebCore::Element::dispatchAttrAdditionEvent):
        (WebCore::Element::removeAttribute):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes.
        (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style.
        (WebInspector.DOMAgent.prototype._attributesUpdated): Added.
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._attributesUpdated): Added.
        (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site.
        * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle.
        (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site.
        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto.
        (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto.

2010-01-13  Carol Szabo <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

        CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within.
        https://bugs.webkit.org/show_bug.cgi?id=33625

        No new tests because the fix should affect strictly performance.

        * rendering/CounterNode.cpp:
        (WebCore::CounterNode::nextInPreOrderAfterChildren):

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

        Reviewed by Oliver Hunt.

        Window size changes are not propagated down the render tree
        https://bugs.webkit.org/show_bug.cgi?id=33643

        Test: svg/custom/relative-sized-content.xhtml

        * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts.
        (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method.
        (WebCore::RenderSVGContainer::paint): Fix indention.
        * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage.
        (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper.
        * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren.
        (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes.
        * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit.
        (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes.
        * rendering/SVGRenderSupport.h:
        * svg/SVGGElement.h: Remove dead code.
        * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations.
        * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended.
        (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport.
        * svg/SVGSymbolElement.h: Remove dead code.
        * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here.
        (WebCore::SVGUseElement::hasRelativeValues):
        * svg/SVGUseElement.h:

2010-01-13  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
        https://bugs.webkit.org/show_bug.cgi?id=33581

        unref m_workerContext when websocket is disconnected, so that avoid
        keeping reference to workerContext longer than worker thread runs.

        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

2010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: selected, selectable, extended selectable, and multiple
        selectable states are not reported

        https://bugs.webkit.org/show_bug.cgi?id=33574
        <rdar://problem/7536826>

        Reviewed by Darin Adler.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isMultiSelectable):
        Use the correct function name - the function name overriden by
        and used in AccessiblityRenderObject.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (setAtkStateSetFromCoreObject):
        Update for function rename.
        (webkit_accessible_selection_select_all_selection):
        Ditto.

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

        Reviewed by Dan Bernstein.

        Move more of the selection and caret painting code from Frame to SelectionController.
        https://bugs.webkit.org/show_bug.cgi?id=33619

        Helpful preparation step for a bug fix I am working on.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController): Initialize new data members.
        Note that m_caretVisible starts as true for the drag caret controller to match the
        old behavior for painting.
        (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged
        in its new name and location.
        (WebCore::SelectionController::paintCaret): Added checks that were formerly done
        at the Frame level. Tweaked formatting and changed to use early return as well.
        (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call
        moved into this class.
        (WebCore::SelectionController::updateAppearance): Moved the
        Frame::selectionLayoutChanged function here. Had to rename it because the word
        "layout" is usedfor other purposes in this function.
        (WebCore::SelectionController::setCaretVisible): Moved here from Frame.
        (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto.
        (WebCore::SelectionController::caretBlinkTimerFired): Ditto.

        * editing/SelectionController.h: Added new functions. Moved conditional function
        out of class definition for clarity. Removed unneeded == and != operators.
        Removed unneeded use of bit fields.

        * page/Frame.cpp: Moved functions to SelectionController.
        (WebCore::Frame::Frame): Removed initialization of moved data members.

        * page/Frame.h: Removed things moved to SelectionController as well as unneeded
        forward declaration of Timer class template.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout): Updated for new location of function.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret): Ditto.

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

        Reviewed by Darin Adler.

        <rdar://problem/7532544>
        
        Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
        be used for a shadow drawing fix.

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

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

        Reviewed by Dan Bernstein.

        Fix shadow drawing to do the correct computations using the base coordinate space
        https://bugs.webkit.org/show_bug.cgi?id=33629

        Step 1: do some renames in setPlatformShadow():
            size -> offset
            width -> xOffset
            height -> yOffset
        
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

2010-01-13  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
        https://bugs.webkit.org/show_bug.cgi?id=33492

        * page/Page.cpp:
        (WebCore::Page::sessionStorage):
        * storage/StorageNamespace.cpp:
        (WebCore::StorageNamespace::sessionStorageNamespace):
        * storage/StorageNamespace.h:
        (WebCore::StorageNamespace::~StorageNamespace):

2010-01-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Beth Dakin.

        Repaint bug dragging a star shape with a dash stroke
        https://bugs.webkit.org/show_bug.cgi?id=33406

        Calculation of repaint rects for RenderPath objects was wrong. We must take the
        union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
        must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
        strokes.

        Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::strokeBoundingBox):

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

        [wx] Build fix. Make the XFORM operator work on wx port.

        * platform/graphics/transforms/TransformationMatrix.h:
        * wscript:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line
        rendering capabilities.

        Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were
        too close to each other, but were unrelated).

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/SourceFrame2.js: Added.
        (WebInspector.SourceFrame2):
        (WebInspector.SourceFrame2.prototype.set text):
        (WebInspector.SourceFrame2.prototype.get executionLine):
        (WebInspector.SourceFrame2.prototype.set executionLine):
        (WebInspector.SourceFrame2.prototype.revealLine):
        (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
        (WebInspector.SourceFrame2.prototype.resize):
        (WebInspector.BreakpointLineNumberDecorator):
        (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
        (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
        (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
        (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
        (WebInspector.ExecutionLineDecorator):
        (WebInspector.ExecutionLineDecorator.prototype.decorate):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype.get textModel):
        (WebInspector.TextEditor.prototype.set readOnly):
        (WebInspector.TextEditor.prototype.set lineNumberDecorator):
        (WebInspector.TextEditor.prototype.set lineDecorator):
        (WebInspector.TextEditor.prototype.selectionRange):
        (WebInspector.TextEditor.prototype._offsetToLine):
        (WebInspector.TextEditor.prototype._lineToOffset):
        (WebInspector.TextEditor.prototype.reveal):
        (WebInspector.TextEditor.prototype._textChanged):
        (WebInspector.TextEditor.prototype._updateSize):
        (WebInspector.TextEditor.prototype.updateCanvasSize):
        (WebInspector.TextEditor.prototype._repaintAll):
        (WebInspector.TextEditor.prototype._paintLines):
        (WebInspector.TextEditor.prototype._paintLinesContinuation):
        (WebInspector.TextEditor.prototype.paintLineNumbers):
        (WebInspector.TextEditor.prototype._paintCurrentLine):
        (WebInspector.TextEditor.prototype._mouseDown):
        (WebInspector.TextEditor.prototype._caretForMouseEvent):
        (WebInspector.TextEditor.prototype._keyDown):
        (WebInspector.TextEditor.prototype._handleNavigationKey):
        (WebInspector.TextEditor.prototype._textInput):
        (WebInspector.TextEditor.prototype._updateCursor):
        (WebInspector.TextEditor.prototype._paintSelection):
        (WebInspector.TextEditor.prototype._initFont):

2010-01-13  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Generate a function in the V8 bindings to convert v8 objects
        to native WebCore objects.

        * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative().
        * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs.
        (WebCore::getElementStringAttr):
        (WebCore::setElementStringAttr):
        * bindings/v8/V8Binding.h: Remove manually defined conversion helprs.
        * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes.
        (WebCore::V8SVGPODTypeWrapper::toNative):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
        (WebCore::V8WebGLRenderingContext::getUniformCallback):

2010-01-13  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed
        is set (differs from HTML5).
        Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>.

        If no effectAllowed is set in the dragStart operation, we should default to
        uninitialized instead of none, so the user doesn't have to manually set the
        effectAllowed to enable drag and drop.

        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard):

2010-01-13  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        font-size:small with background-color causes text to get clipped.  Make sure to only paint within the lineTop/lineBottom of
        a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 
        
        Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html

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

2010-01-13  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Adler.

        Refactoring DatabaseAuthorizer to use a CaseFoldingHash function
        for the set of whitelisted sqlite functions, and fixing some
        indenting issues.

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

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::allowFunction):
        * storage/DatabaseAuthorizer.h:

2010-01-13  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

        RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within
        https://bugs.webkit.org/show_bug.cgi?id=33600

        No new tests as this fix affects mainly performance.
        No test has been found yet that could evidence the bug in the layout
        of a page, but the fix to bug 32884 exposes this bug on some pages
        such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::nextInPreOrderAfterChildren):

2010-01-13  Jeremy Orlow  <jorlow@chromium.org>

        No reviewer.  More or less a build fix.  My 53180 broke some 
        stuff on the Chromium port so I'm reverting.

        * page/Page.cpp:
        (WebCore::Page::sessionStorage):
        * storage/StorageNamespace.cpp:
        (WebCore::StorageNamespace::sessionStorageNamespace):
        * storage/StorageNamespace.h:
        (WebCore::StorageNamespace::~StorageNamespace):

2010-01-13  Steve Block  <steveblock@google.com>

        Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder.
        https://bugs.webkit.org/show_bug.cgi?id=33586

        Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android.

        No new tests, refactoring only.

        * bridge/jni/jni_runtime.cpp: Modified.
        (JavaMethod::signature): Modified. Use WebCore::StringBuilder.

2010-01-13  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Timothy Hatcher.

        Some objects in the global scope are not completed
        https://bugs.webkit.org/show_bug.cgi?id=19119

        Use Object.getOwnPropertyNames instead of for-in to provide completions, since
        Object.getOwnPropertyNames reports both enumerable and non-enumerable properties.

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

2010-01-13  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures.
        https://bugs.webkit.org/show_bug.cgi?id=33597

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures.

2010-01-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] REGRESSION(53187) Touchevent related tests fail

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

        Pass the ENABLE_TOUCH_EVENTS to the IDL generators.

        * WebCore.pri:

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

        Reviewed by Pavel Feldman.

        WebInspector: Timeline panel scrolling speed can be increased.
        https://bugs.webkit.org/show_bug.cgi?id=33579

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelinePanel.prototype._refreshRecords):

2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Split the build process in two different .pro files.
        This allows qmake to be run once all source files are available.

        * DerivedSources.pro: Added.
        * WebCore.pri: Added. Contains common logic between source generation and compilation.
        * WebCore.pro: Moved source generation to DerivedSources.pro.

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Scrolling editor to the 20Kth line is not smooth.

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

        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype._textChanged):
        (WebInspector.TextEditor.prototype._highlightChanged):
        (WebInspector.TextEditor.prototype._paintLinesContinuation):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype.highlight):
        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
        (WebInspector.TextEditorHighlighter.prototype._lex):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.prototype._setLine):
        (WebInspector.TextEditorModel.prototype.setAttribute):
        (WebInspector.TextEditorModel.prototype.getAttribute):
        (WebInspector.TextEditorModel.prototype.removeAttribute):

2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix the build on Windows.

        PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.

        * WebCore.pro: Build TransformationMatrixWin.cpp.
        * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.

2010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>

        Reviewed by Simon Hausmann.

        [Qt/Symbian] Added missing vendor information to qtwebkit.sis

        This information is necessary to Symbian sign the package.

        http://bugreports.qt.nokia.com/browse/QTBUG-7290

        * WebCore.pro:

2010-01-11  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
        https://bugs.webkit.org/show_bug.cgi?id=33492

        * page/Page.cpp:
        (WebCore::Page::sessionStorage):
        * storage/StorageNamespace.cpp:
        (WebCore::StorageNamespace::sessionStorageNamespace):
        * storage/StorageNamespace.h:
        (WebCore::StorageNamespace::~StorageNamespace):

2010-01-12  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Adding a list of whitelisted sqlite functions that users are
        allowed to use.

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

        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::authorizerFunction):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
        (WebCore::DatabaseAuthorizer::allowFunction):
        * storage/DatabaseAuthorizer.h:

2010-01-12  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Simon Hausmann.

        [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
        https://bugs.webkit.org/show_bug.cgi?id=33077

        * WebCore.pro:
        * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
        * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.

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

        Reviewed by Dan Bernstein.

        position:fixed and transform on same element breaks fixed behavior
        https://bugs.webkit.org/show_bug.cgi?id=31283

        Fix interactions of transforms and fixed positioning, namely that fixed position
        elements with a transformed ancestor are positioned relative to that ancestor,
        and an element with both a transform and fixed position respects that positioning.
        
        Test: transforms/2d/transform-fixed-container.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
        Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
        but only if the transformed element is not itself fixed.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::convertToLayerCoords):
        Fix this method to behave correctly for fixed position layers whose container is not
        the root, but some other (probably transformed) ancestor. In that case, we can fall into
        the "position: absolute" code path.

2010-01-12  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        Fix an assert being triggered by how the Chromium port sets the
        replacing flag for error pages.  This was caused by r53143.

        Covered by existing Chromium UI tests.

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

2010-01-12  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Geoffrey Garen.

        [ES5] Implement Object.getOwnPropertyNames
        https://bugs.webkit.org/show_bug.cgi?id=32242

        Add new argument to reimplementations of getPropertyNames()
        and getOwnPropertyNames(), and update the JS bindings generator.

        Test: fast/js/Object-getOwnPropertyNames.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getPropertyNames):
        (WebCore::JSDOMWindow::getOwnPropertyNames):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getPropertyNames):
        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertyNames):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertyNames):
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::getOwnPropertyNames):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertyNames):
        * bridge/runtime_array.h:
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::getPropertyNames):
        (JSC::RuntimeObjectImp::getOwnPropertyNames):
        * bridge/runtime_object.h:

2010-01-12  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Dave Hyatt.

        Safari shows an unneeded horizontal scrollbar on many websites.
        Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
        
        If a div has no children, and its height or width are 0, we can ignore
        it in our calculation of lowest, rightmost, and leftmost positions. This
        calculation was causing horizontal scrollbars to be drawn when they weren't needed.

        Test: fast/block/positioning/absolute-positioning-no-scrollbar.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
        (WebCore::RenderBlock::rightmostPosition): Ditto.
        (WebCore::RenderBlock::leftmostPosition): Ditto.

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

        Reviewed by Timothy Hatcher.

        Optimize WebInspector.TimelineGrid.prototype.updateDividers()

        DOM element property access and modification are slow and should be done as lazily as possible.
        https://bugs.webkit.org/show_bug.cgi?id=33536

        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):

2010-01-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
        webkit-svg-shadow with opacity still over-clipped

        We need to call inflateForShadow() on the repaintRect before we 
        clip for opacity or we will over-clip.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):

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

        Reviewed by Sam Weinig.

        Update all-in-one derived sources for Geolocation.

        * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp

2010-01-12  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Remove static const ints from V8CustomBinding.h

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

        * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
            internal field indices from lists of custom internal fields.
        * bindings/v8/NPV8Object.cpp:
        * bindings/v8/NPV8Object.h:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
            manually calls to setInternalFieldCount().
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8Index.h:
        * bindings/v8/V8IsolatedContext.cpp:
        * bindings/v8/V8IsolatedContext.h:
        * bindings/v8/V8NPObject.cpp:
        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        * bindings/v8/custom/V8NodeCustom.cpp:
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:

2010-01-12  Darin Fisher  <darin@chromium.org>

        Fixing chromium build bustage.

        * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.

2010-01-12  Darin Fisher  <darin@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add V8 bindings for PopStateEvent.
        https://bugs.webkit.org/show_bug.cgi?id=33546
        
        This is covered by existing tests for PopStateEvent.

        * WebCore.gypi:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
        (WebCore::V8PopStateEvent::initPopStateEventCallback):
        (WebCore::V8PopStateEvent::stateAccessorGetter):

2010-01-12  Kelly Norton  <knorton@google.com>

        Reviewed by Timothy Hatcher.

        Adds source length to ParseHTMLRecords in the inspector timeline.
        https://bugs.webkit.org/show_bug.cgi?id=33548

        Test: inspector/timeline-parse-html.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::write):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        * inspector/InspectorTimelineAgent.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createParseHTMLRecord):
        * inspector/TimelineRecordFactory.h:

2010-01-12  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Darin Adler

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

        Make ICU's text breakiterator and string search use Chrome's UI
        language instead of 'en-US' or the OS UI language.

        As long as the webkit layout tests are run in en-US locale, there'd be 
        no visible change.

        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
        (UILanguage):
        (WebCore::currentSearchLocaleID):
        (WebCore::currentTextBreakLocaleID):

2010-01-12  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Dave Hyatt.

        This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
        to avoid giving a custom property an overly-general name.
        <rdar://problem/7534590>

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseShadow):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):

2010-01-12  Peter Kasting  <pkasting@google.com>

        Not reviewed, build fix.

        * WebCore.vcproj/WebCore.vcproj:

2010-01-12  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a null check in case of an event handler with invalid syntax.

        Should make fast/js/invalid-syntax--for-function.html not crash in
        Chromium's test shell.

        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.

2010-01-12  Peter Kasting  <pkasting@google.com>

        Reviewed by Dimitri Glazkov.

        Remove XBM support from the open-source image decoders.
        https://bugs.webkit.org/show_bug.cgi?id=27823

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCoreSources.bkl:
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::create):
        * platform/image-decoders/xbm: Removed.
        * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
        * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.

2010-01-12  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33540
        Make it possible to build in debug mode with assertions disabled

        * dom/Element.cpp: (WebCore::Element::getURLAttribute):
        * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
        * editing/TextIterator.cpp:
        * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
        * rendering/RenderArena.cpp: (WebCore::RenderArena::free):

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

        Reviewed by Darin Adler and Simon Fraser.

        rdar://problem/5684062
        https://bugs.webkit.org/show_bug.cgi?id=23094
        Flash of white when switching from poster image to video playback
        
        https://bugs.webkit.org/show_bug.cgi?id=23140
        <video> poster should scale like a video frame

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
        (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
        (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
            should display the poster image. renderer() is never a RenderImage, don't need to check.
            m_shouldShowPosterImage -> m_shouldDisplayPoster.
        (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
        (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
            it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
        (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
            display the poster as long as the attribute is valid and the media engine says it hasn't
            rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
        (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
            is available to render.
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::poster):
        (WebCore::HTMLVideoElement::shouldDisplayPoster):

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.

        * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
            is available to render.

        * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
        * platform/graphics/MediaPlayerPrivate.h: Ditto.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
            all bool variables to aid packing.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
            floating point initializers to match coding guidelines.
        (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
        (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
        (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.

        (WebCore::RenderImage::paintReplaced): Split part out into paint method.
        (WebCore::RenderImage::paint): New.
        * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
            instead of private so RenderVideo can use them.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
        (WebCore::RenderMedia::destroy): Ditto.
        (WebCore::RenderMedia::styleDidChange): Ditto.
        (WebCore::RenderMedia::layout): Ditto.
        (WebCore::RenderMedia::lowestPosition): Ditto.
        (WebCore::RenderMedia::rightmostPosition): Ditto.
        (WebCore::RenderMedia::leftmostPosition): Ditto.
        * rendering/RenderMedia.h: Declare isImage and isRenderImage.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
            when displaying a poster so it is sized correctly.
        (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
        use it when we also know the movie's intrinsic size but still need to draw the poster.
        (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
        use the movie's intrinsic size when drawing frames.
        (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
        (WebCore::RenderVideo::videoElement): New.
        (WebCore::RenderVideo::updatePlayer):
        * rendering/RenderVideo.h:
        (WebCore::RenderVideo::minimumReplacedHeight): Added.

2010-01-12  Tony Chang  <tony@chromium.org>

        Reviewed by Maciej Stachowiak.

        Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
        If we stop a multipart load after ResourceLoader::didReceiveResponse
        but before ResourceLoader::didReceiveData, we have a NULL document
        loader because it has been moved back to the provisional state.  New
        loads that happen after this will dereference the NULL document
        loader.

        Work around this by moving the provisional document loader back as
        the document loader when the request is stopped.

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

        Test: http/tests/multipart/multipart-wait-before-boundary.html

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

2010-01-12  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        WebKit returns incorrect match count when first string match is on an element with user-select-none style
        https://bugs.webkit.org/show_bug.cgi?id=33508
        <rdar://problem/7482143>

        If we use VisiblePosition to calculate the start of the new search range,
        we skip all the nodes with user-select-none style, producing an incorrect
        match count.
        
        No new tests: there are no API's available to Javascript to verify the
        number of matches found.

        * page/Frame.cpp:
        (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
        result range as the start of the new search range.

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

        Reviewed by Timothy Hatcher.

        Changed ".sidebar" style to allow v-scroll to appear in
        "Profiles" panel sidebar.

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

        No new tests -- no code changed.

        * inspector/front-end/inspector.css:

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

        Windows accelerated compositing build fix after r53110

        * plugins/PluginWidget.h:
        (WebCore::PluginWidget::platformLayer): Define platformLayer() for
        non-Mac platforms that have accelerated compositing turned on. It
        would probably be better to make PluginWidget not be used at all on
        non-Mac platforms, but this fix is much simpler.

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

        Reviewed by Pavel Feldman.

        Support injection of inspector scripts into the inspected context.

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

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::WeakReferenceCallback):
        (WebCore::createInjectedScriptHostV8Wrapper):
        (WebCore::createInjectedScript):
        (WebCore::InjectedScriptHost::injectedScriptFor):

2010-01-12  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
        https://bugs.webkit.org/show_bug.cgi?id=31539

        Added manual test: manual-tests/textarea-reset-default-value.html.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
        * manual-tests/resources/textarea-form-back-on-submit.html: Added.
        * manual-tests/textarea-reset-default-value.html: Added.

2010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
        https://bugs.webkit.org/show_bug.cgi?id=33466

        WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
        QPainterPath, which itself is a pointer to the elements (QVector).
        That creates unecessary allocations in PathQt.cpp.

        Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
        is a plain QPainterPath.

        * platform/graphics/Path.h:
        (WebCore::Path::platformPath):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::drawFilledShadowPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::~Path):
        (WebCore::Path::operator=):
        (WebCore::Path::contains):
        (WebCore::Path::strokeContains):
        (WebCore::Path::translate):
        (WebCore::Path::boundingRect):
        (WebCore::Path::strokeBoundingRect):
        (WebCore::Path::moveTo):
        (WebCore::Path::addLineTo):
        (WebCore::Path::addQuadCurveTo):
        (WebCore::Path::addBezierCurveTo):
        (WebCore::Path::addArcTo):
        (WebCore::Path::closeSubpath):
        (WebCore::Path::addArc):
        (WebCore::Path::addRect):
        (WebCore::Path::addEllipse):
        (WebCore::Path::clear):
        (WebCore::Path::isEmpty):
        (WebCore::Path::debugString):
        (WebCore::Path::apply):
        (WebCore::Path::transform):

2010-01-12  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Adam Barth.

        [Qt] XSL stylesheets can load documents from a different origin

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

        * xml/XSLTProcessorQt.cpp:
        (WebCore::XSLTUriResolver::XSLTUriResolver):
        (WebCore::XSLTUriResolver::resolve):
        (WebCore::XSLTProcessor::transformToString):

2010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        https://bugs.webkit.org/show_bug.cgi?id=30883
        [Gtk] Implement AtkText for HTML elements which contain text

        Tweak/correction: Eliminate a needless variable.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_caret_offset):

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

        Reviewed by Geoffrey Garen.

        Allow creating injected script for the inspected script state. The InjectedScript is
        cached on the inspected ExecState global object and will be garbage collected when the
        object is collected. Each InjectedScript object is assigned unique id.

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

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        (WebCore::JSDOMGlobalObject::injectedScript):
        * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
        field that is not visible from the inspected code. This InjectedScript should be alive as long as
        the global object is alive and should be accessible from Web Inspector's native code.
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
        inspected ScriptState. Reference to the object is stored on the global DOM object.
        (WebCore::InjectedScriptHost::injectedScriptFor):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::InjectedScriptHost):
        (WebCore::InjectedScriptHost::injectedScriptForId):
        (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
        the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
        * inspector/InjectedScriptHost.h:
        (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
        The source may be loaded in a platform specific way.

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

        Reviewed by Dan Bernstein.

        Fix handling of unusual kana sequences in search
        https://bugs.webkit.org/show_bug.cgi?id=33506

        * editing/TextIterator.cpp:
        (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
        non-kana-letter character. This function only works for kana letters.
        (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
        properly handle cases where one character has a shorter list of
        combining voiced sound marks than the other.

2010-01-11  Victor Wang  <victorw@chromium.org>

        Reviewed by Dimitri Glazkov.

        Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.

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

        TEST: manual-tests/chromium/onchange-reload-popup.html
        It should be covered by the above test. The current
        test shell does not support sending keyboard events to popup
        list so use manual test for it.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::acceptIndex):

2010-01-11  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Eric Seidel.

        [GTK] Debug bots crashing in plugins/iframe-shims.html
        https://bugs.webkit.org/show_bug.cgi?id=33472

        Call computeOffsetInContainerNode() instead of
        offsetInContainerNode(), since we are not sure this is always
        parent-anchored.

        plugins/iframe-shims.html no longer ASSERTS

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (objectAndOffsetUnignored):

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

        Reviewed by Kevin Decker.

        https://bugs.webkit.org/show_bug.cgi?id=33455
        Allows plugins to participate in accelerated compositing

        For plugins using the CoreAnimation rendering mode, host their CALayers in the
        accelerated compositing layer tree.
        
        This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
        a plugin using this mode.
        
        * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
        * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.

        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
        accelerated compositing mode.
        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
        a layer, via PluginWidget.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
        (WebCore::RenderLayer::isSelfPaintingLayer):
        RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
        
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
        RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
        for the page.

2010-01-11  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Fixed an uninitialized PluginView member (m_mode) which wasn't
        set when constructed with a null PluginPackage*

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

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):

2010-01-11  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
        https://bugs.webkit.org/show_bug.cgi?id=32201

        This patch moves every focalPoint that lies outside the circle defined by the radial
        gradients central point and its radius to stay inside this circle, as demanded by the
        SVG 1.1 specification.
        We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
        the focalPoint is lying, to achieve compatibility with Firefox.

        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):

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

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=33493
        Log redirect details to Network channel

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
        Log response code and Location header field value. Also, removed a redundant null check.

2010-01-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
        Many SVG -webkit-shadow tests are currently failing (in the pixel 
        tests)
        -and-
        <rdar://problem/7501200>

        The real fix here is to call inflateForShadow() on the repaintRect 
        in prepareToRenderSVGContent(). But in order to do that, I had to 
        move inflateForShadow() to a different class since functions in 
        SVGRenderBase cannot call each other. inflateForShadow() now exists 
        in SVGRenderStyle which I think makes some sense because a similar 
        function that returns a box shadow's extent exists on RenderStyle.

        Now call inflateForShadow() through the SVGRenderStyle.
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::computeRectForRepaint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::computeRectForRepaint):
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::computeRectForRepaint):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeRectForRepaint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::computeRectForRepaint):

        No longer implement inflateForShadow() here.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 
        inflateForShadow() through the SVGRenderStyle
        * rendering/SVGRenderSupport.h:

        Implementation of inflateForShadow() now lives here.
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::getSVGShadowExtent):
        (WebCore::SVGRenderStyle::inflateForShadow):
        * rendering/style/SVGRenderStyle.h:

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

        Reviewed by Pavel Feldman.

        Rewrite relative URLs in the ElementsTreeOutline to make them navigable

        Targets for "src" and "href" attribute values in the Elements outline tree
        are rewritten to full URLs whenever possible.
        https://bugs.webkit.org/show_bug.cgi?id=33024

        Test: inspector/elements-panel-rewrite-href.html

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref):
        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
        * inspector/front-end/inspector.js:

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

        Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp.

        * bindings/js/JSBindingsAllInOne.cpp:

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

        Reviewed by Adam Roben & Dirk Schulze.

        svg <text> fails to update when setting x/y
        https://bugs.webkit.org/show_bug.cgi?id=22384

        Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists.
        (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not)

        Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
        to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement
        'rotate' & 'x'/'y' SVG DOM properties.

        Tests: svg/custom/text-xy-updates-SVGList.xhtml
               svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html
  
        * Android.jscbindings.mk: Remove old files from build, add the new header.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes.
        (WebCore::JSSVGPODListCustom::finishGetter):
        (WebCore::JSSVGPODListCustom::finishSetter):
        (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
        (WebCore::JSSVGPODListCustom::clear):
        (WebCore::JSSVGPODListCustom::initialize):
        (WebCore::JSSVGPODListCustom::getItem):
        (WebCore::JSSVGPODListCustom::insertItemBefore):
        (WebCore::JSSVGPODListCustom::replaceItem):
        (WebCore::JSSVGPODListCustom::removeItem):
        (WebCore::JSSVGPODListCustom::appendItem):
        * bindings/js/JSSVGPointListCustom.cpp: Removed.
        * bindings/js/JSSVGTransformListCustom.cpp: Removed.
        * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom.
        * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work.
        (WebCore::SVGNumberList::SVGNumberList):
        * svg/SVGNumberList.h:
        * svg/SVGPointList.idl: Remove JSCCustom markers everywhere.
        * svg/SVGTransformList.idl: Ditto.

2010-01-08  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Cannot focus on an empty editable span in a non editable div.
        https://bugs.webkit.org/show_bug.cgi?id=33411
        <rdar://problem/5982901>

        We now allow to set the focus inside an empty inline element if it is the only
        editable element inside non-editable content.

        * dom/Position.cpp:
        (WebCore::Position::isCandidate): Extended to allow positions in inline elements when
        at the border between editable and non editable content.
        (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret
        position inside an empty inline.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break
        element, since now an editable inline is a VisiblePosition if it is at editability boundary.
        * editing/VisibleSelection.h: Updated comment on the use of Position member variables
        instead of VisiblePosition.
        * page/Frame.cpp:
        (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and
        downstream on the same position.

2010-01-06  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Nikolas Zimmermann.

        [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden.
        https://bugs.webkit.org/show_bug.cgi?id=32994

        Refactoring, covered by existings tests.

        * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects,
            since there's a much smaller (and more stable) set of non-ref-counted ones.

2010-01-06  Kelly Norton  <knorton@google.com>

        Reviewed by Pavel Feldman.

        Fixes the fact that timeline panel results are skewed by the use of DOM mutation events.
        https://bugs.webkit.org/show_bug.cgi?id=32846

        Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called
        directly when the DOM is mutated.

        * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed.
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed.
        (WebCore::Element::dispatchAttrRemovalEvent):
        (WebCore::Element::dispatchAttrAdditionEvent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didInsertDOMNode):
        (WebCore::InspectorController::didRemoveDOMNode):
        (WebCore::InspectorController::didModifyDOMAttr):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::startListening):
        (WebCore::InspectorDOMAgent::stopListening):
        (WebCore::InspectorDOMAgent::handleEvent):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
        * inspector/InspectorDOMAgent.h:

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

        Reviewed by Alexey Proskuryakov.

        REGRESSION: Japanese text search ignores small vs. large and voicing mark differences
        https://bugs.webkit.org/show_bug.cgi?id=30437
        rdar://problem/7214058

        Test: fast/text/find-kana.html

        * editing/TextIterator.cpp:
        (WebCore::isKanaLetter): Added.
        (WebCore::isSmallKanaLetter): Added.
        (WebCore::composedVoicedSoundMark): Added.
        (WebCore::isCombiningVoicedSoundMark): Added.
        (WebCore::containsKanaLetters): Added.
        (WebCore::normalizeCharacters): Added.
        (WebCore::SearchBuffer::SearchBuffer): Initialize the data members
        m_targetRequiresKanaWorkaround and m_normalizedTarget.
        (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that
        ICU's default collation considers correct, but we consider incorrect.
        (WebCore::SearchBuffer::search): Added code to call isBadMatch and
        move to the next match with usearch_next if the result is true.

2010-01-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=30883
        [Gtk] Implement AtkText for HTML elements which contain text

        * accessibility/gtk/AccessibilityObjectWrapperAtk.h
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (objectAndOffsetUnignored):
        (webkit_accessible_text_get_caret_offset):
        * editing/gtk/SelectionControllerGtk.cpp:
        (SelectionController::notifyAccessibilityForSelectionChange)

        Adjust the caret offset and object with focus to reflect the
        unignored parent of the static text object which contains the
        caret. This is necessary because the static text objects are
        no longer being exposed to ATs.

2010-01-11  Kim Grönholm  <kim.gronholm@nomovok.com>

        Reviewed by Antti Koivisto.

        Touchevent coordinates are incorrect after page zoom and page scroll
        https://bugs.webkit.org/show_bug.cgi?id=32899

        Test: fast/events/touch-coords-in-zoom-and-scroll.html

        * dom/Touch.cpp:
        (WebCore::contentsX):
        (WebCore::contentsY):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):

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

        Reviewed by Eric Seidel.

        Have "Paste and Match Style" fire the dom paste event.
        https://bugs.webkit.org/show_bug.cgi?id=30639

        Test: editing/execCommand/paste-and-match-style-event.html

        * editing/Editor.cpp:
        (WebCore::Editor::pasteAsPlainText):

2010-01-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY (Build fix).

        Rollout renderpath culling as it once again breaks pixel tests.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::nodeAtFloatPoint):

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

        Reviewed by Darin Adler.

        Allows plugins to participate in accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=33455

        Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia()
        to make it more general. Rename associated enums and methods similarly.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToMedia):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::):
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToMedia):
        (WebCore::GraphicsLayerCA::commitLayerChanges):
        (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):

2010-01-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Nikolas Zimmerman.

        Bad DOM performance in large SVG files
        https://bugs.webkit.org/show_bug.cgi?id=30055

        Cull RenderPaths before passing on to the underlying graphics system.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::nodeAtFloatPoint):

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

        Reviewed by Darin Adler.

        Add defensive initialization of iframe sandbox flags
        https://bugs.webkit.org/show_bug.cgi?id=32368

        We now initialize the SecurityOrigin's sandbox state directly duing
        construction.  This lets us properly set the isUnique bit.

        Tests: http/tests/security/sandboxed-iframe-origin-add.html
               http/tests/security/sandboxed-iframe-origin-remove.html

        * WebCore.base.exp:
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::create):
        (WebCore::SecurityOrigin::setSandboxFlags):
        * page/SecurityOrigin.h:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Inspect Element selects the wrong element.
        Drive-by fix that focuses dom tree upon settting focuesDOMNode.

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
        (WebInspector.ElementsPanel.prototype.setDocument):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.select):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Introduce support for flexible line height in the text editor.

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

        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype._offsetToLineNumber):
        (WebInspector.TextEditor.prototype._lineNumberToOffset):
        (WebInspector.TextEditor.prototype._lineHeight):
        (WebInspector.TextEditor.prototype.reveal):
        (WebInspector.TextEditor.prototype._textChanged):
        (WebInspector.TextEditor.prototype._selectionChanged):
        (WebInspector.TextEditor.prototype._updateSize):
        (WebInspector.TextEditor.prototype._paintLines):
        (WebInspector.TextEditor.prototype._paintLinesContinuation):
        (WebInspector.TextEditor.prototype._paintLineNumbers):
        (WebInspector.TextEditor.prototype._paintCurrentLine):
        (WebInspector.TextEditor.prototype._scroll):
        (WebInspector.TextEditor.prototype._repaintOnScroll):
        (WebInspector.TextEditor.prototype._caretForMouseEvent):
        (WebInspector.TextEditor.prototype._handleNavigationKey):
        (WebInspector.TextEditor.prototype._updateCursor):
        (WebInspector.TextEditor.prototype._invalidateHighlight):
        (WebInspector.TextEditor.prototype._paintSelection):
        (WebInspector.TextEditor.prototype._initFont):
        (WebInspector.TextCursor.prototype.setTextLineHeight):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Do not repaint line numbers while editing within line.

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

        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor.prototype._textChanged):
        (WebInspector.TextEditor.prototype._selectionChanged):
        (WebInspector.TextEditor.prototype._repaintAll):
        (WebInspector.TextEditor.prototype._paintLines):
        (WebInspector.TextEditor.prototype._paintLinesContinuation):
        (WebInspector.TextEditor.prototype._paintLineNumbers):
        (WebInspector.TextEditor.prototype._updateCursor):
        (WebInspector.TextEditor.prototype._copy):

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

        Unreviewed whitespace fixes.

        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::updateSandboxFlags):
        * loader/FrameLoader.h:

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

        Reviewed by Darin Adler.

        Unify origin sandbox flag with m_noAccess in SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=32372

        It turns out the SandboxOrigin bit is slightly different than the
        unique origin concept because the sandbox bit is inherited by iframes.
        These concepts are separate in the spec, so I think it's ok to keep
        them separate in the implementation as well.

        No new tests because there is no behavior change.

        * dom/Document.cpp:
        (WebCore::Document::cookie):
        (WebCore::Document::setCookie):
        * loader/CrossOriginAccessControl.cpp:
        (WebCore::passesAccessControlCheck):
        * page/SecurityOrigin.cpp:
        (WebCore::schemesWithUniqueOrigins):
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::canAccess):
        (WebCore::SecurityOrigin::canRequest):
        (WebCore::SecurityOrigin::taintsCanvas):
        (WebCore::SecurityOrigin::setSandboxFlags):
        (WebCore::SecurityOrigin::toString):
        (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
        (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
        * page/SecurityOrigin.h:
        (WebCore::SecurityOrigin::canAccessDatabase):
        (WebCore::SecurityOrigin::canAccessStorage):
        (WebCore::SecurityOrigin::canAccessCookies):
        (WebCore::SecurityOrigin::isUnique):

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

        Reviewed by Darin Adler.

        ScriptController::isEnabled needs to be renamed
        https://bugs.webkit.org/show_bug.cgi?id=32063

        Rename ScriptController::isEnabled to
        ScriptController::canExecuteScripts to reflect what the method actually
        means.  This is a trivial change, but it involved touching a lot of
        call sites.

        * WebCore.PluginHostProcess.exp:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::canExecuteScripts):
        (WebCore::ScriptController::executeScript):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::bindingRootObject):
        (WebCore::ScriptController::windowScriptNPObject):
        (WebCore::ScriptController::jsObjectForPluginElement):
        (WebCore::ScriptController::executeScriptInWorld):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptControllerMac.mm:
        (WebCore::ScriptController::windowScriptObject):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/js/ScriptState.cpp:
        (WebCore::scriptStateFromNode):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::windowScriptNPObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieve):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::evaluateScript):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::startElementNs):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::controls):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::processToken):
        * inspector/InspectorController.cpp:
        (WebCore::canPassNodeToJavaScript):
        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::isProcessingUserGesture):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):

2010-01-09  Evan Martin  <evan@chromium.org>

        Reviewed by Eric Seidel.

        Inspector font for errors is ugly on non-OSX platforms
        https://bugs.webkit.org/show_bug.cgi?id=33340

        * css/view-source.css: Add a fallback to sans-serif on a CSS
        selector that previously only listed Lucida Grande.

2010-01-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Nikolas Zimmermann.

        <rdar://problem/7525778> Font fallback kills SVG kerning
        https://bugs.webkit.org/show_bug.cgi?id=33400

        Test: platform/mac/fast/text/sticky-typesetting-features.html

        Cache font attributes separately for different typesetting features.

        * platform/graphics/SimpleFontData.h: Replaced single-element caches
        with maps.
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::disableLigatures): Added an ATSUStyle parameter.
        (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and
        initialize if necessary. Return the ATSUStyle.
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
        Use the ATSUStyle returned from initializeATSUStyle().
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the
        map.
        (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes
        dictionary in the map and initialize if necessary.

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

        Unreviewed.  Fix namespace indent for SecurityOrigin.h.

        * page/SecurityOrigin.h:
        (WebCore::SecurityOrigin::domainWasSetInDOM):
        (WebCore::SecurityOrigin::protocol):
        (WebCore::SecurityOrigin::host):
        (WebCore::SecurityOrigin::domain):
        (WebCore::SecurityOrigin::port):
        (WebCore::SecurityOrigin::canLoadLocalResources):
        (WebCore::SecurityOrigin::setSandboxFlags):
        (WebCore::SecurityOrigin::isSandboxed):
        (WebCore::SecurityOrigin::canAccessDatabase):
        (WebCore::SecurityOrigin::canAccessStorage):
        (WebCore::SecurityOrigin::):

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

        Reviewed by Dmitry Titov.

        bindings/v8/DOMData is missing a virtual destructor
        https://bugs.webkit.org/show_bug.cgi?id=33390

        DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes
        but it does not have a virtual destructor. While this isn't currently causing
        any leaks, since there are no instances of ChildThreadDOMData or
        MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC
        compiler generates the following compilation error:

        "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual
        functions and accessible non-virtual destructor"

        We therefore need to add a virtual destructor to DOMData.

        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::~DOMData):
        * bindings/v8/DOMData.h:

2010-01-08  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

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

        Cleans up style errors exposed by the patch for bug #33198.

        No functionality was changed. So, no new tests.

        * platform/graphics/SimpleFontData.h:
        * plugins/PluginPackage.cpp:

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

        Reviewed by Dan Bernstein.

        WebGL canvas paints background color twice
        https://bugs.webkit.org/show_bug.cgi?id=33361

        Clean up some logic around "directly composited" content: some images, video, and WebGL.

        We previously set the GraphicsLayer background color to the CSS background color
        in some cases where the box has no other decorations. However, the content 
        layer's bounds do not correspond with the background box in many cases,
        and we could end up both painting the background color, and setting it on the layer.
        
        Simplify this logic to never use layer background colors, and thus skip allocating
        backing store only when the element has no visible box decorations.

        Tests: compositing/images/direct-image-background-color.html
               compositing/reflections/simple-composited-reflections.html
               compositing/video/video-background-color.html
               compositing/webgl/webgl-background-color.html
               compositing/webgl/webgl-blending.html

        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL
        (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent.
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing()
        is renamed to isDirectlyCompositedImage() and only applies to images now. 
        No longer set layer background color.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent()
        as the argument to setDrawsContent().
        (WebCore::hasBoxDecorationsOrBackground): Renamed.
        (WebCore::RenderLayerBacking::hasNonCompositingContent):
        (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations().
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for
        hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment.
        (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides
        if the layer (and its non-composited children) has any content that must be painted into backing store.
        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing()
        and reduced to only apply to images.
        (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the
        canUseDirectCompositing() scope.

2010-01-08  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Use member initialization syntax instead of assignment for member variables of Document used
        for determining minimum layout delay.
        https://bugs.webkit.org/show_bug.cgi?id=33316

        No new tests, style change only.

        * dom/Document.cpp: Modified.
        (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay.

2010-01-08  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Passing array that is too large to set method of WebGLArrays does not throw an exception
        https://bugs.webkit.org/show_bug.cgi?id=33352

        Added needed range checks to JSC and V8 custom bindings. Expanded
        preexisting test suite for WebGLArrays and updated its expected
        results. Tested in WebKit and Chromium.

        Test: fast/canvas/webgl/array-set-out-of-bounds.html

        * bindings/js/JSWebGLArrayHelper.h:
        (WebCore::setWebGLArrayFromArray):
        * bindings/v8/custom/V8WebGLArrayCustom.h:
        (WebCore::setWebGLArrayFromArray):

2010-01-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=32962
        HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element

        Also fixed the same for STYLE elements.

        Tests: fast/dom/css-innerHTML.html
               fast/dom/script-innerHTML-x.xhtml
               fast/dom/script-innerHTML.html

        * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML,
        matching Firefox.

2010-01-08  Beth Dakin  <bdakin@apple.com>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 
        with -webkit-shadow on svg shapes
        -and-
        <rdar://problem/7389149>

        Inflate the repaintRect for the shadow using its extent.
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::computeRectForRepaint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::computeRectForRepaint):
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::computeRectForRepaint):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGRoot::computeRectForRepaint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::computeRectForRepaint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::getSVGShadowExtent):
        (WebCore::SVGRenderBase::inflateForShadow):
        * rendering/SVGRenderSupport.h:

2010-01-08  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        WebGLArray subclasses do the wrong conversion in indexSetter
        https://bugs.webkit.org/show_bug.cgi?id=33350

        Test: fast/canvas/webgl/array-setters.html

        * bindings/js/JSWebGLFloatArrayCustom.cpp:
        (WebCore::JSWebGLFloatArray::indexSetter):
        * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
        (WebCore::JSWebGLUnsignedIntArray::indexSetter):

2010-01-08  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Delegation client
        https://bugs.webkit.org/show_bug.cgi?id=32826

        Factory related code removed from QtAbstractWebPopup. Popups are now created
        by ChromeClientQt.
        Popup content information struct added to class QtAbstractWebPopup.
        PopupMenuClient is now hidden from higher layers.
        QtAbstractWebPopup now receives content information and font as parameters
        of method populate.
        QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport.

        * WebCore.pro:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::getItems):
        (WebCore::PopupMenu::show):
        * platform/qt/QtAbstractWebPopup.cpp:
        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
        (WebCore::QtAbstractWebPopup::popupDidHide):
        (WebCore::QtAbstractWebPopup::valueChanged):
        * platform/qt/QtAbstractWebPopup.h:
        (WebCore::QtAbstractWebPopup::Item::):
        * platform/qt/QtFallbackWebPopup.cpp: Removed.
        * platform/qt/QtFallbackWebPopup.h: Removed.

2010-01-08  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Skip invalid blocks in CSS property declarations.
        https://bugs.webkit.org/show_bug.cgi?id=31231
        https://bugs.webkit.org/show_bug.cgi?id=26619

        This patch makes the CSS parser skip property declarations containing invalid blocks.

        Test: fast/css/parsing-error-recovery.html

        * css/CSSGrammar.y:

2010-01-08  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: CSS content not returned correctly in AX
        https://bugs.webkit.org/show_bug.cgi?id=33308

        Test: platform/mac/accessibility/css-content-attribute.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textUnderElement):

2010-01-08  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

        Implement full-screen video for Windows
        https://bugs.webkit.org/show_bug.cgi?id=31318
        
        This is mostly support logic for taking video
        into and out of full-screen. It also contains the
        QTMovieWin piece which adds support for the actual
        full-screen window itself. Events from the window
        are sent to the FullscreenVideosController for handling.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::addData):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        (WebCore::MediaPlayerPrivate::supportsFullscreen):
        (WebCore::MediaPlayerPrivate::platformMedia):
        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWinPrivate::QTMovieWinPrivate):
        (QTMovieWin::initializeQuickTime):
        (QTMovieWin::_handleMessages):
        (QTMovieWin::enterFullscreen):
        (QTMovieWin::exitFullscreen):
        * platform/graphics/win/QTMovieWin.h:

2010-01-08  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Adam Barth.

        Fix a regression that removed a call to
        FrameLoaderClient::didDestroyScriptContextForFrame.
        https://bugs.webkit.org/show_bug.cgi?id=33347

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::disposeContextHandles):

2010-01-08  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        WebKit plugins are not rendered during printing.
        https://bugs.webkit.org/show_bug.cgi?id=33022.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
          cairo printing surface to flush so that blank regions do
          not write over the plugin's paint operations.
        * rendering/RenderLayer.cpp: Build fix.
        (WebCore::RenderLayer::beginTransparencyLayers): Correct
          method signature missing for ColorSpace.

2010-01-08  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Eric Seidel.

        REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
        https://bugs.webkit.org/show_bug.cgi?id=33300

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
        (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Regex-based syntax highlighting is slow.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
        * inspector/front-end/JavaScriptTokenizer.js: Added.
        (WebInspector.JavaScriptTokenizer):
        (WebInspector.JavaScriptTokenizer.prototype.set line):
        (WebInspector.JavaScriptTokenizer.prototype.getCondition):
        (WebInspector.JavaScriptTokenizer.prototype.setCondition):
        (WebInspector.JavaScriptTokenizer.prototype._charAt):
        (WebInspector.JavaScriptTokenizer.prototype.nextToken):
        * inspector/front-end/JavaScriptTokenizer.re2js: Added.
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype.highlight):
        (WebInspector.TextEditorHighlighter.prototype._lex):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-01-07  Mike Belshe  <mbelshe@chromium.org>

        Reviewed by Darin Adler.

        Fix Spdy casing to match style guide.

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

        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::wasFetchedViaSPDY):
        (WebCore::ResourceResponse::setWasFetchedViaSPDY):

2010-01-07  Daniel Bates  <dbates@rim.com>

        Reviewed by Eric Seidel.

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

        Added ENABLE_XHTMLMP flag. Disabled by default.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * config.h:

2010-01-07  Stephanie Lewis  <slewis@apple.com>

        Rolled out http://trac.webkit.org/changeset/52778 due to rolling
        out http://trac.webkit.org/changeset/52756

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::layout):
        (WebCore::SelectionController::recomputeCaretRect):
        (WebCore::SelectionController::invalidateCaretRect):
        (WebCore::SelectionController::paintCaret):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::attach):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::attach):
        * page/Frame.cpp:
        (WebCore::Frame::revealSelection):

2010-01-07  Stephanie Lewis  <slewis@apple.com>

        Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.

        * dom/Document.cpp:
        (WebCore::Document::updateLayout):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        (WebCore::SelectionController::setSelection):
        * editing/SelectionController.h:
        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible):
        (WebCore::Frame::selectionLayoutChanged):
        (WebCore::Frame::caretBlinkTimerFired):
        (WebCore::Frame::selectionBounds):
        * page/FrameView.cpp:
        (WebCore::FrameView::needsLayout):

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

        Reviewed by Sam Weinig.

        Fix a crash seen on the buildbots.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
        function tracking here; it's too late, as some specific functions
        may already have been tracked in the base class constructor.

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

        Reviewed by Dirk Schulze.

        SVGTextElement & friends need to implement svgAttributeChanged
        https://bugs.webkit.org/show_bug.cgi?id=33284

        Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
        childrenChanged() has to be implemented as well for SVGTextElement.

        Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
        and on error case, after parsing - previously the calling site had to take care of that.

        Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
               svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
               svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html

        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::parseMappedAttribute):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::parseMappedAttribute):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::svgAttributeChanged):
        * svg/SVGTRefElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::parseMappedAttribute):
        (WebCore::SVGTextElement::svgAttributeChanged):
        (WebCore::SVGTextElement::childrenChanged):
        * svg/SVGTextElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTransformable.cpp:
        (WebCore::SVGTransformable::parseTransformAttribute):
        * svg/SVGTransformable.h:

2010-01-07  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adele Peterson.

        Padding in popup menu gets lost with styled <select> in Windows.
        Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.

        [Win] Support padding-right on selects when webkit-appearance is off. Added a test
        case for narrow selects with -webkit-appearance: none, and padding left and right to
        show that both types of padding are honored.

        * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
        the hardcoded constant.

2010-01-07  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=33057
        REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows

        <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark

        * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
        possible clients, but keeping the current design for now.

2010-01-07  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Jon Honeycutt.

        Account for scale and current context position (as well as page
        position) in the device context world transform passed to
        plugins.  This is especially important for print surface DPI.
        http://bugs.webkit.org/show_bug.cgi?id=32909.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
          world context handling to include scaling and translation
          already set for the CTM.

2010-01-07  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Generate V8 bindings header declarations for named and indexed accessors.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        * bindings/v8/custom/V8NodeListCustom.cpp:
        * bindings/v8/custom/V8StorageCustom.cpp:
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:

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

        Better build fix: use 'this->structure()', since 'structure' is a
        PassRefPtr, and therefore null.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):

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

        Build fix: avoid a name conflict by using the local 'structure' instead
        of the member 'structure()'.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):

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

        Build fix.

        Add RenderEmbeddedObject.h/cpp to all the build systems.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCoreSources.bkl:

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

        Reviewed by Sam Weinig.

        Safari memory usage skyrockets using new Google AdWords interface
        https://bugs.webkit.org/show_bug.cgi?id=33343

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
        tracking for the window object, since there's no way to do direct
        method calls on the window object; they all go through the window shell.

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

        Reviewed by Kevin Decker, Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33338
        Create a renderer for <object> and <embed>
        
        Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
        Instances of RenderPartObject are now only allocated for iframes.
        
        Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.

        * WebCore.xcodeproj/project.pbxproj:
        Add RenderEmbeddedObject.h/cpp
        
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
        (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
        (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
        (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::addWidgetToUpdate):
        (WebCore::FrameView::removeWidgetToUpdate):
        (WebCore::FrameView::updateWidgets):
        Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
        
        * rendering/RenderEmbeddedObject.cpp: Added.
        * rendering/RenderEmbeddedObject.h: Added.
        Most of the code moved from RenderPartObject.
        
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isEmbeddedObject): New method.

        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
        * rendering/RenderPart.h: Comments.
        
        * rendering/RenderPartObject.h:
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
        (WebCore::RenderPartObject::layout): Removed object/embed-specific code.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33338
        Create a renderer for <object> and <embed>

        First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
        so we don't need to call it here, and can thus remove the attach() override entirely.

        * html/HTMLIFrameElement.cpp:
        * html/HTMLIFrameElement.h:

2009-01-07  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Migrate to canvas-based text viewer / editor that scales.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
        (WebInspector.JavaScriptHighlighterScheme):
        * inspector/front-end/KeyboardShortcut.js:
        * inspector/front-end/TextEditor.js: Added.
        (WebInspector.TextEditor):
        (WebInspector.TextSelectionModel):
        (WebInspector.TextCursor):
        * inspector/front-end/TextEditorHighlighter.js: Added.
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype.highlight):
        (WebInspector.TextEditorHighlighter.prototype._lex):
        * inspector/front-end/TextEditorModel.js: Added.
        (WebInspector.TextRange):
        (WebInspector.TextRange.prototype.clone):
        (WebInspector.TextEditorModel):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2010-01-07  Christian Sejersen  <christian.webkit@gmail.com>

        Reviewed by Darin Adler.

        document.title does not replace or remove space characters
        https://bugs.webkit.org/show_bug.cgi?id=27032

        Test: fast/dom/Document/document-title-get.html

        * dom/Document.cpp: 
        (WebCore::Document::Document): 
        Initialization of m_rawTitle
        (WebCore::canonicalizedTitle): 
        Moved from DocumentLoader.cpp with minor edits
        (WebCore::Document::updateTitle): 
        Ensures the title is canonicalized
        (WebCore::Document::setTitle): 
        Uses m_rawTitle instaed of m_title 
        (WebCore::Document::removeTitle): 
        Uses m_rawTitle instead of m_title
        
        * dom/Document.h: 
        Added m_rawTitle that stores the passed in title, m_title now stores the 
        canonicalized title
        
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setTitle): 
        The title passed in is now canonicalized in Document.cpp

2010-01-07  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Allow leading/trailing space for CSS nth-*() and lang().
        https://bugs.webkit.org/show_bug.cgi?id=17248

        For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
        See the bug comments for why we don't allow space at other places.

        * css/CSSGrammar.y:

2010-01-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: contentEditable DIVs are not AX accessible
        https://bugs.webkit.org/show_bug.cgi?id=33325

        Test: accessibility/contenteditable-hidden-div.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):

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

        Unreviewed.  Resolve merge conflict.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setContextDebugId):

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

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

        Might have caused a perf regression.  I'm rolling this out to see if it
        heals the perf bot.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::updateSecurityOrigin):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::haveInterpreter):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::updateDocument):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::~V8Proxy):
        (WebCore::V8Proxy::handleOutOfMemory):
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        (WebCore::V8Proxy::clearForClose):
        (WebCore::V8Proxy::clearForNavigation):
        (WebCore::V8Proxy::context):
        (WebCore::V8Proxy::mainWorldContext):
        (WebCore::V8Proxy::currentContext):
        (WebCore::V8Proxy::setContextDebugId):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::windowShell):
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::adjustedContext):

2010-01-07  Dan Bernstein  <mitz@apple.com>

        Build fix

        * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.

2010-01-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Added Font::typesettingFeatures() and deployed it

        No change in funcitonality

        * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
        * platform/graphics/Font.h:
        (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
            features from the text redndering mode.
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/TypesettingFeatures.h: Added.
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::disableLigatures): Take TypesettingFeatures instead of
            TextRenderingMode.
        (WebCore::initializeATSUStyle): Ditto.
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
            Use typesettingFeatures().
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
            Ditto.
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::getCFStringAttributes): Take
            TypesettingFeatures instead of TextRenderingMode.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().

2010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>

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

        Broke over 30 SVG pixel tests.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):

2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] The library version number of the first package release is 4.7.0.

        * WebCore.pro:

2010-01-07  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Allow the application to override online/offline network status
        https://bugs.webkit.org/show_bug.cgi?id=32684

        Added API to NetworkStateNotifier for forcing network status.

        * platform/network/NetworkStateNotifier.h:
        * platform/network/qt/NetworkStateNotifierPrivate.h:
        * platform/network/qt/NetworkStateNotifierQt.cpp:
        (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
        (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
        (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
        (WebCore::NetworkStateNotifier::updateState):
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
        (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):

2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Fix linkage against Qt mobility API bearer management module

        Use the documented .pro file syntax to link against the correct
        library and (more importantly) get the include paths correct.

        * WebCore.pro:

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

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=33272
        'abort' event still fired as a progress event

        rdar://6710625
        Test media/video-error-abort.html doesn't work

        Test: http/tests/media/video-error-abort.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
        (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
        in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
        to match spec wording.
        * html/HTMLMediaElement.h: Remove enqueueEvent prototype.

2010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>

        Reviewed by Antti Koivisto.

        Wrong state and TouchLists in TouchEvents
        https://bugs.webkit.org/show_bug.cgi?id=32878

        Touch events changed to match the API and semantics of iPhone and
        Android. Each new touch point press dispatches a touchstart event with
        the pressed touch point(s) in the changedTouches list, and a release
        dispatches a touchend event with the released touch point(s) in
        changedTouches. Moved points dispatch a touchmove event, with the moved
        points in changedTouches. Old behaviour emitted only one touchstart when
        the first point was pressed and one touchend when the last point was
        released, and any events in between were touchmoves. New presses or
        releases could only be detected by comparing the lists touches and
        changedTouches.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):
        * page/EventHandler.h:

2010-01-07  Kent Tamura  <tkent@chromium.org>

        Reviewed by Maciej Stachowiak.

        Remove COM code generation stuff.
        https://bugs.webkit.org/show_bug.cgi?id=32854

        Remove the followings:
        - CodeGeenratorCOM.pm, COM code generator,
        - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
        - UUID attributes in IDL files.

        * bindings/scripts/CodeGeneratorCOM.pm: Removed.
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/CSSValueList.idl:
        * css/Counter.idl:
        * css/MediaList.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/Attr.idl:
        * dom/CDATASection.idl:
        * dom/CharacterData.idl:
        * dom/Comment.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/DocumentFragment.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/Event.idl:
        * dom/EventListener.idl:
        * dom/EventTarget.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeList.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        * 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/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFieldSetElement.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/HTMLMarqueeElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.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/HTMLTitleElement.idl:
        * html/HTMLUListElement.idl:

2010-01-07  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Adds the ability to increase the delay used when scheduling layout.
        https://bugs.webkit.org/show_bug.cgi?id=32875

        No new tests possible.

        * dom/Document.cpp: Modified.
        (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
        (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
        * dom/Document.h: Modified.
        (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.

2010-01-07  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Some IDL files lack "," separators for extended attributes.
        https://bugs.webkit.org/show_bug.cgi?id=33190

        To find such mistakes, IDLParser.pm rejects whitespace characters in
        extended attribute names.

        * bindings/scripts/IDLParser.pm:
          parseExtendedAttributes rejects whitespace in a name.
        * css/WebKitCSSTransformValue.idl: Add missing ",".
        * dom/EventTarget.idl: ditto.

2010-01-07  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adam Barth.

        Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
        WebKitCSSTransformValue.idl correctly.
        https://bugs.webkit.org/show_bug.cgi?id=33193

        CodeGeneratorV8.pm doesn't handle inheritance very well and it
        tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
        which does not exist. Because WebKitCSSTransformValue inherits
        CSSValueList and CSSValueList already has HadIndexGetter, we don't
        need to do anything for WebKitCSSTransformValue about HasIndexGetter.

        * bindings/scripts/CodeGeneratorV8.pm:
          Reset $hasGetter for WebKitCSSTransformValue.

2010-01-07  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        Do not return strings whose handles are in near death state (that means
        they might be GCed) or just empty.
        https://bugs.webkit.org/show_bug.cgi?id=31180

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ExternalString):

2010-01-06  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Nikolas Zimmermann.

        SVG background color on selected text goes wrong when text has
        gradient stroke.
        https://bugs.webkit.org/show_bug.cgi?id=33069

        Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
        and paint background and foreground in separate subphase.
        
        Test: svg/text/selection-background-color.xhtml
        
        * rendering/SVGCharacterLayoutInfo.h:
        (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
        Added m_setupBackgroundCallback, m_setupForegroundCallback
        (WebCore::SVGTextChunkWalker::setupBackground):
        (WebCore::SVGTextChunkWalker::setupForeground):
        Added.
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintCharacters):
        pass SVGTextPaintInfo instead of SVGPaintServer
        * rendering/SVGInlineTextBox.h:
        (WebCore::SVGTextPaintSubphase):
        (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
        Added.
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::walkTextChunks):
        Invoke setupBackground() and setupForeground()
        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
        (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
        Added.
        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
        (WebCore::SVGRootInlineBox::paint):
        
2010-01-06  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Eric Seidel.

        Make windowsKeyCodeForKeyEvent() return correct key code for
        numeric-pad arrow keys.
        https://bugs.webkit.org/show_bug.cgi?id=33250

        Test: fast/events/keydown-numpad-keys.html

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

2009-10-18 Patrick Gansterer <paroga@paroga.com>

        Reviewed by Dirk Schulze.

        Improve DOM performance in large SVG files.
        Check the dirty area before painting a path, which prevents unnecessary
        clipping and changes to the GraphicsContext.
        https://bugs.webkit.org/show_bug.cgi?id=30055

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):

2010-01-06  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Use a static HashMap for HTMLElement::tagPriority().
        https://bugs.webkit.org/show_bug.cgi?id=33269

        The prior code compares AtomicStringImpl pointers 18 times at
        worst. This change avoids it.

        No new tests because this is just a refactoring.

        * html/HTMLElement.cpp:
        (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value.
        (WebCore::initializeTagPriorityMap): Initialization of a static HashMap.
        (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap().
        * html/HTMLElement.h:
        (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName().

2010-01-06  Mike Belshe  <mike@belshe.com>

        Add a flag to the ResourceResponse for tracking if a request was
        fetched via SPDY.  This is plumbed through so that we can inform
        a webpage via JavaScript if it was fecthed via the experimental
        SPDY protocol.

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

        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::wasFetchedViaSpdy):
        (WebCore::ResourceResponse::setWasFetchedViaSpdy):

2010-01-06  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Adam Treat.

        [Qt] RenderTheme: Missing support for native sliders

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

        Implement painting of native slider controls in RenderTheme
        and unskip a couple of layout tests that are passing after
        this change.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintSliderTrack):
        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
        (WebCore::RenderThemeQt::paintSliderThumb):
        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
        (WebCore::RenderThemeQt::supportsFocus):
        (WebCore::RenderThemeQt::adjustSliderThumbSize):
        * platform/qt/RenderThemeQt.h:

2010-01-06  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Darin Adler.

        Adjust incorrect comments after r40534.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markActiveObjectsForContext):

2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed build fix for chromium.
        Add "bool V8WorkerContext::WebSocketEnabled()"

        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::WebSocketEnabled):

2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed build fix.
        remove wrong assertion

        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):

2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Add WebSocket feature in Worker
        https://bugs.webkit.org/show_bug.cgi?id=32214

        Introduce ThreadableWebSocketChannel interface and add
        WorkerThreadableWebSocketChannel for Worker.
        WorkerThreadableWebSocketChannel uses WebSocketChannel in the
        main thread, which is managed by Peer and communicated via Bridge.

        Test: websocket/tests/workers/worker-simple.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebSocketConstructor.h:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::webSocket):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8Custom::v8WebSocketConstructorCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        * platform/CrossThreadCopier.cpp:
        (WebCore::::copy):
        * platform/CrossThreadCopier.h:
        (WebCore::):
        * websockets/ThreadableWebSocketChannel.cpp: Added.
        * websockets/ThreadableWebSocketChannel.h: Added.
        * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::didReceiveMessage):
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
        (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
        * websockets/WebSocketChannelClient.h:
        * websockets/WebSocketHandshake.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
        * websockets/WorkerThreadableWebSocketChannel.h: Added.
        * workers/WorkerContext.idl:

2010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Darin Adler.

        Modified EventSource event-stream parser to support a single CR as line ending.
        https://bugs.webkit.org/show_bug.cgi?id=33207

        * page/EventSource.cpp:
        (WebCore::EventSource::EventSource):
        (WebCore::EventSource::parseEventStream):
        * page/EventSource.h:

2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=30883
        [Gtk] Implement AtkText for HTML elements which contain text

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getInterfaceMaskFromObject):
        (getPangoLayoutForAtk):
        (webkit_accessible_text_get_text):
        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (AccessibilityObject::accessibilityPlatformIncludesObject):

2010-01-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
        https://bugs.webkit.org/show_bug.cgi?id=32794

        Test: platform/mac/fast/text/line-breaking-with-kerning.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
        the trailing space when measuring a word, then subtract its width. This
        accounts for kerning between the last glyph of the word and the following space.

2010-01-06  Kevin Decker  <kdecker@apple.com>

        Reviewed by Simon Fraser

        Second step of:
        <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism

        * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView pluginLayer]): Added.
        * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView pluginLayer]): Added.

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

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

        I screwed up landing this patch and only partially applied the patch I
        was trying to land.

        * bindings/ScriptControllerBase.cpp:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::executeScriptInWorld):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::updateSecurityOrigin):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::haveInterpreter):
        (WebCore::ScriptController::mainWorldWindowShell):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::clearForClose):
        (WebCore::ScriptController::destroyWindowShell):
        (WebCore::ScriptController::updateDocument):
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::proxy):
        (WebCore::ScriptController::windowShell):
        (WebCore::ScriptController::existingWindowShell):
        (WebCore::ScriptController::evaluateInWorld):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::create):
        (WebCore::V8DOMWindowShell::V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::initContextIfNeeded):

2010-01-06  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Rolling back in a change I should not have rolled out.

        The original commit http://trac.webkit.org/changeset/52862
        was rolled out again in http://trac.webkit.org/changeset/52871
        but I now believe that rollout to be in error.
        My sincerest apologies for the churn.

        Fix the bug in previous commit: we shouldn't finish
        decoding if "sizeOnly" is true.
        https://bugs.webkit.org/show_bug.cgi?id=33258

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::decode):

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

        Reviewed by Eric Seidel.

        [v8] Let ScriptController have more than one windowShell
        https://bugs.webkit.org/show_bug.cgi?id=33243

        This patch lets ScriptController have more than one windowShell.  We're
        currently only using one of them (for the main world), but this patch
        lets us use other ones for isolated worlds soon.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeScriptInWorld):
        * bindings/js/ScriptController.cpp:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::createWorld):
        (WebCore::ScriptController::initScript):
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::updateSecurityOrigin):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::evaluateInWorld):
        (WebCore::ScriptController::mainWorldWindowShell):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::clearForClose):
        (WebCore::ScriptController::destroyWindowShell):
        (WebCore::ScriptController::updateDocument):
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::windowShell):
        (WebCore::ScriptController::existingWindowShell):
        (WebCore::ScriptController::globalObject):
        (WebCore::ScriptController::proxy):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::create):
        (WebCore::V8DOMWindowShell::V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):

2010-01-06  Mark Rowe  <mrowe@apple.com>

        Fix the Mac build.

        * WebCore.base.exp: Export symbols WebKit would like to use.
        * plugins/PluginWidget.h:
        (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.

2010-01-06  Kevin Decker  <kdecker@apple.com>

        Reviewed by Eric Carlson.
        
        First step toward:
        <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
        
        Small refactoring moving the PluginWidget class from WebKit to WebCore.          
        * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
        * platform/Widget.h: Added isPluginWidget(). 
        (WebCore::Widget::isPluginWidget):
        * plugins/PluginWidget.h: Added.
        (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
        * plugins/mac/PluginWidgetMac.mm: Added.
        (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
        
2010-01-06  Eric Seidel  <eric@webkit.org>

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

        Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
        Leopard Release builder.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::decode):

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

        Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.

        * Configurations/Base.xcconfig:

2010-01-05  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Generate header declarations for V8 binding security checks
        and delete V8CustomBinding.cpp

        * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
        * WebCore.gypi: Removed V8CustomBinding.cpp.
        * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
        (WebCore::reportUnsafeJavaScriptAccess):
        (WebCore::V8DOMWindowShell::createNewContext):
        (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/custom/V8CustomBinding.cpp: Removed.
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::locationAccessorSetter):
        (WebCore::V8DOMWindow::namedSecurityCheck):
        (WebCore::V8DOMWindow::indexedSecurityCheck):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::V8Document::locationAccessorSetter):
        * bindings/v8/custom/V8HistoryCustom.cpp:
        (WebCore::V8History::indexedSecurityCheck):
        (WebCore::V8History::namedSecurityCheck):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::indexedSecurityCheck):
        (WebCore::V8Location::namedSecurityCheck):

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

        Reviewed by Dirk Schulze.

        Marker code is buggy: referencePoint translation is off
        https://bugs.webkit.org/show_bug.cgi?id=33012

        Rewrite marker code, as it had many issues:
        - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
        - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
        - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
        - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
          can have three different resources of the same type (three markers, start/mid/end markers)

        Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.

        Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
        Test: svg/custom/marker-referencePoint.svg
              svg/custom/marker-opacity.svg
              svg/custom/marker-strokeWidth-changes.svg

        * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
        (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
        (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
        (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
        (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
        * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
        (WebCore::RenderPath::path): Inline this accessor.
        * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
        * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
        (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
        (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
        * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
        * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
        (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
        (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
        (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
        (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
        (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
        (WebCore::SVGMarkerData::updateOutslope): Ditto.
        (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
        (WebCore::SVGMarkerData::updateInslope): Helper method.
        * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
        (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
        (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
        (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
        (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
        (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
        * rendering/SVGMarkerLayoutInfo.h: Added.
        (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
        (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
        (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
        (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
        * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
        (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
        (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
        * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
        (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
        * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
                                        and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
                                        ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
                                        per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
        (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
        (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
        (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
        (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
        (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::SVGResourceMarker):
        (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
        (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
        (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
        * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
        (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
        (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
        (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().

2010-01-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG feImage support
        https://bugs.webkit.org/show_bug.cgi?id=31905

        This implements the SVG Filter effect feImage with support of fragment urls.
        It also includes a bug fix for feComposite. feComposite didn't cover values
        bigger than 255 correctly on composite oeprator arithmetic.

        Tests: There are already many feImage tests in trunk. They just needed updated
               pixel test results.
               The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
               and depends on feImage.

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::arithmetic):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGImage.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::requestImageResource):
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        (WebCore::SVGFEImageElement::notifyFinished):
        (WebCore::SVGFEImageElement::build):
        * svg/SVGFEImageElement.h:
        * svg/SVGFEImageElement.idl:
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::transformRect):
        * svg/SVGPreserveAspectRatio.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::create):
        (WebCore::FEImage::apply):
        * svg/graphics/filters/SVGFEImage.h:

2010-01-06  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Fix the bug in previous commit: we shouldn't finish
        decoding if "sizeOnly" is true.
        https://bugs.webkit.org/show_bug.cgi?id=33258

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::decode):

2010-01-06  Eric Seidel  <eric@webkit.org>

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

        Caused 6 layout tests to fail on Mac

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/ResourceLoader.cpp:
        * loader/ResourceLoader.h:

2010-01-06  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Let ReourceLoader deliver segmented data
        when loading resource from a SharedBuffer object.
        https://bugs.webkit.org/show_bug.cgi?id=33222

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveData):
        * loader/ResourceLoader.h:

2010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed trivial Qt build fix.

        Prefix the phonon includes with phonon/ to avoid conflicts with the S60
        audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:

2010-01-05  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        Moving v8::HandleScope up above declaration of v8::Local to fix a
        Chromium startup crash.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setContextDebugId):

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

        Reviewed by Dimitri Glazkov.

        [v8] Move V8DOMWindowShell to ScriptController
        https://bugs.webkit.org/show_bug.cgi?id=33232

        This patch moves V8DOMWindow shell to ScriptController, where the
        window shells live in JSC land.  The next step will be to allow for
        more than one window shell per script controller.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::updateSecurityOrigin):
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        (WebCore::ScriptController::haveInterpreter):
        (WebCore::ScriptController::mainWorldWindowShell):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::clearForClose):
        (WebCore::ScriptController::destroyWindowShell):
        (WebCore::ScriptController::updateDocument):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
        * bindings/v8/V8DOMWindowShell.h:
        (WebCore::V8DOMWindowShell::localHandleForContext):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
        * bindings/v8/V8IsolatedContext.cpp:
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::~V8Proxy):
        (WebCore::V8Proxy::handleOutOfMemory):
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        (WebCore::V8Proxy::context):
        (WebCore::V8Proxy::mainWorldContext):
        (WebCore::V8Proxy::currentContext):
        (WebCore::V8Proxy::setContextDebugId):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::adjustedContext):

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

        Reviewed by Maciej Stachowiak.

        Implement HTML5 <header> and <footer> elements.
        https://bugs.webkit.org/show_bug.cgi?id=32943

        <header> and <footer> should behave the same as <nav>, <section>,
        <article>, and <aside>. The HTML parser doesn't need to restrict
        the nesting of header/footer elements.

        Tests: fast/html/footer-element.html
               fast/html/header-element.html

        * css/html.css: Add header/footer as block elements.
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag): Add headerTag and footerTag.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
        (WebCore::blockTagList): Add headerTag and footerTag.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
        (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
        (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
        * html/HTMLParser.h:
          - Rename isHeaderTag() to isHeadingTag()
          - Remove non-existing popNestedHeaderTag().
        * html/HTMLTagNames.in: Add header and footer.

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

        Reviewed by Dan Bernstein.

        CDATA sections are merged into Text nodes when normalize() is used
        https://bugs.webkit.org/show_bug.cgi?id=33191

        Test: fast/dom/Node/normalize-with-cdata.html

        * dom/Node.cpp:
        (WebCore::Node::normalize): Use nodeType instead of isTextNode.

2010-01-05  James Robinson  <jamesr@google.com>

        Reviewed by Eric Seidel.

        Typing in Google Wave repaints the whole screen
        https://bugs.webkit.org/show_bug.cgi?id=32295

        Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
        The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
        fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
        painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
        structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.

        Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

2010-01-05  James Robinson  <jamesr@chromium.org>

        Reviewed by David Hyatt.

        Cleans up line box clearing when a RenderBlock loses its last child.
        https://bugs.webkit.org/show_bug.cgi?id=33228

        The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.


        No new tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

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

        Reviewed by Pavel Feldman.

        Provide the "documentURL" property for documents and frame owner elements

        This is necessary to determine owner document URLs for nodes (all nodes have
        the top-level document set as ownerDocument).
        https://bugs.webkit.org/show_bug.cgi?id=33025

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):

2010-01-05  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        Public GIF decoder should stop decoding when allocation fails
        https://bugs.webkit.org/show_bug.cgi?id=33231

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::haveDecodedRow):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::output_row):
        (GIFImageReader::do_lzw):
        (GIFImageReader::read):
        * platform/image-decoders/gif/GIFImageReader.h:

2010-01-05  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Make PNG image decoder work with segmented SharedBuffer
        https://bugs.webkit.org/show_bug.cgi?id=33213

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::create):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ImageDecoder):
        (WebCore::ImageDecoder::isAllDataReceived):
        (WebCore::ImageDecoder::setData):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::PNGImageReader):
        (WebCore::PNGImageReader::close):
        (WebCore::PNGImageReader::currentBufferSize):
        (WebCore::PNGImageReader::setComplete):
        (WebCore::PNGImageReader::decode):
        (WebCore::PNGImageDecoder::decode):
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::pngComplete):

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

        Rubber stamped by Dimitri Glazkov.

        Fix namespace indent for ScriptController.

        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::proxy):
        (WebCore::ScriptController::windowShell):
        (WebCore::ScriptController::existingWindowShell):
        (WebCore::ScriptController::xssAuditor):
        (WebCore::ScriptController::setProcessingTimerCallback):
        (WebCore::ScriptController::setPaused):
        (WebCore::ScriptController::isPaused):
        (WebCore::ScriptController::sourceURL):
        (WebCore::ScriptController::evaluateInWorld):

2010-01-05  Rachel Petterson  <rlp@google.com>

        Reviewed by Simon Fraser.

        Implement most cases of texImage2D and texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=31562
        
        This fix is with Chris Marrin  <cmarrin@apple.com>.
        Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493

        From Chris:
        This implements all cases except HTMLVideoElement. It changes
        the bindings to accept all parameter forms of the call. Then
        it plumbs the calls through WebGLRenderingContext down to
        GraphicsContext3D for the actual implementation.

        From Rachel:
        This implements texImage2D for chromium. It also implements the V8
        bindings for texSubImage2D and updates the V8 bindings for texImage2D.

        Tests: fast/canvas/webgl/texImage2DImageDataTest.html
                  fast/canvas/webgl/texImageTest.html

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::imageToTexture):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):

2010-01-04  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Tim Hatcher.

        Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
        Web Inspector: Context Menus should be used in more places.
        
        Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
        we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
        breakpoints), but this is hard to discover and behaves differently than Xcode.
        
        Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
        removes it if there is one.
        
        On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
        Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
        the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).

        * English.lproj/localizedStrings.js: Added localized context menu entries.
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
        (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
        (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).

2010-01-05  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Eric Seidel.

        AX: need a way to get the progress of a webpage load
        https://bugs.webkit.org/show_bug.cgi?id=33221

        Test: platform/mac/accessibility/estimated-progress.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::estimatedLoadingProgress):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2010-01-05  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Drag & drop layout tests fail even when run manually
        https://bugs.webkit.org/show_bug.cgi?id=33055

        No new tests. Fix 3 layout tests when run manually.
        fast/events/drag-and-drop.html
        fast/events/drag-and-drop-dataTransfer-types-nocrash.html
        fast/events/drag-and-drop-fire-drag-dragover.html
        Running these tests in DRT will be fixed in 31332.

        * page/qt/DragControllerQt.cpp:
        (WebCore::DragController::cleanupAfterSystemDrag):
        Cleanup the drag operation if it failed to complete,
        Otherwise, new drag operations will not be possible.

2010-01-05  Gustavo Noronha Silva <gns@gnome.org>

        Reviewed by Xan Lopez.

        Based on idea and original patch by Evan Martin.

        Remove libWebCore intermediate library, to improve link time.

        [GTK] Build time must be reduced
        https://bugs.webkit.org/show_bug.cgi?id=32921

        * GNUmakefile.am:

2010-01-05  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and
        remove the v8-specific pieces.

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

        * bindings/BindingSecurity.h:
        (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp.
        (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp.
        * bindings/v8/custom/V8AttrCustom.cpp:
        (WebCore::V8Attr::valueAccessorSetter):
        * bindings/v8/custom/V8CustomBinding.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::V8Element::setAttributeCallback):
        (WebCore::V8Element::setAttributeNodeCallback):
        (WebCore::V8Element::setAttributeNSCallback):
        (WebCore::V8Element::setAttributeNodeNSCallback):
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        (WebCore::V8HTMLFrameElement::srcAccessorSetter):
        (WebCore::V8HTMLFrameElement::locationAccessorSetter):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::V8HTMLIFrameElement::srcAccessorSetter):

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

        Reviewed by Dimitri Glazkov.

        [V8] Separate DOMWrapperWorld from V8IsolatedWorld
        https://bugs.webkit.org/show_bug.cgi?id=33087

        This change separate DOMWrapperWorld and IsolatedWorld from
        V8IsolatedWorld.  I've also renamed V8IsolatedWorld to
        V8IsolatedContext in preparation for having more than one context in a
        single isolated world.

        This patch moves us closer to two goals:
        1) Matching the structure of the JSC implementation of isolated worlds.
        2) Letting scripts running in isolated contexts see into other iframes
           (which requires having more than one context in an isolated world.)

        * WebCore.gypi:
        * bindings/v8/DOMWrapperWorld.cpp: Added.
        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
        (WebCore::mainThreadNormalWorld):
        * bindings/v8/DOMWrapperWorld.h: Added.
        (WebCore::DOMWrapperWorld::create):
        * bindings/v8/IsolatedWorld.cpp: Added.
        (WebCore::IsolatedWorld::IsolatedWorld):
        (WebCore::IsolatedWorld::~IsolatedWorld):
        * bindings/v8/IsolatedWorld.h: Added.
        (WebCore::IsolatedWorld::create):
        (WebCore::IsolatedWorld::count):
        (WebCore::IsolatedWorld::domDataStore):
        * bindings/v8/MainThreadDOMData.cpp:
        (WebCore::MainThreadDOMData::getMainThreadStore):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::currentScriptState):
        * bindings/v8/ScriptState.cpp:
        * bindings/v8/ScriptState.h:
        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp.
        (WebCore::V8IsolatedContext::contextWeakReferenceCallback):
        (WebCore::V8IsolatedContext::V8IsolatedContext):
        (WebCore::V8IsolatedContext::destroy):
        (WebCore::V8IsolatedContext::~V8IsolatedContext):
        (WebCore::V8IsolatedContext::scriptState):
        * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h.
        (WebCore::V8IsolatedContext::getEntered):
        (WebCore::V8IsolatedContext::world):
        * bindings/v8/V8IsolatedWorld.cpp: Removed.
        * bindings/v8/V8IsolatedWorld.h: Removed.
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::context):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/WorldContextHandle.cpp:
        (WebCore::WorldContextHandle::WorldContextHandle):

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

        Reviewed by Dimitri Glazkov.

        [V8] Move createWindow into generic bindings so it can be shared with JSC
        https://bugs.webkit.org/show_bug.cgi?id=33201

        This patch moves createWindow from V8-specific code into the generic
        bindings so that is can be re-used by the JavaScriptCore bindings.  I
        haven't actually moved the JSC bindings over to using this yet.

        Also, I organized the generic bindings a bit more as it's becoming
        clearer how things are going to shape up.  There are still some
        question marks, but hopefully the answers will become clear as we
        progress.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * bindings/generic/BindingDOMWindow.h: Added.
        (WebCore::::createWindow):
        * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h.
        (WebCore::BindingSecurity::BindingSecurity):
        (WebCore::::canAccessWindow):
        (WebCore::::canAccessFrame):
        (WebCore::::checkNodeSecurity):
        * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp.
        (WebCore::BindingSecurityBase::getDOMWindow):
        (WebCore::BindingSecurityBase::getFrame):
        (WebCore::BindingSecurityBase::canAccess):
        * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h.
        * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h.
        (WebCore::):
        * bindings/v8/V8Binding.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::showModalDialogCallback):
        (WebCore::V8DOMWindow::openCallback):
        * bindings/v8/specialization/V8BindingDOMWindow.h: Added.
        (WebCore::V8BindingDOMWindow::storeDialogArgs):
        * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp.
        (WebCore::::Only):
        (WebCore::::getActiveWindow):
        (WebCore::::immediatelyReportUnsafeAccessTo):
        * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h.
        (WebCore::):

2010-01-05  Dominic Mazzoni  <dmazzoni@google.com>

        Reviewed by Darin Adler.

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

        For an object with an aria role of "checkbox" or "radiobutton",
        Use the "aria-checked" attribute to determine if it's checked.

        Test: accessibility/aria-checkbox-checked.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isChecked):

2010-01-05  Yong Li  <yoli@rim.com>

        Reviewed by Adam Roben.

        Fix build warnings blindly
        https://bugs.webkit.org/show_bug.cgi?id=33178

        * platform/SharedBuffer.cpp:
        * platform/SharedBuffer.h:
        (WebCore::SharedBuffer::append):

2010-01-05  Dan Bernstein  <mitz@apple.com>

        Build fix

        * platform/SharedBuffer.cpp:

2010-01-05  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Darin Adler.

        Fix an obvious bug and build errors in previous commit (r52795)
        https://bugs.webkit.org/show_bug.cgi?id=33178

        * platform/SharedBuffer.h:
        (WebCore::SharedBuffer::isEmpty):
        * platform/cf/SharedBufferCF.cpp:
        (WebCore::SharedBuffer::maybeTransferPlatformData):

2010-01-04  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Let SharedBuffer use a group of memory segments internally.
        It will merge the segments into a flat consecutive buffer only when
        necessary.
        https://bugs.webkit.org/show_bug.cgi?id=33178

        * platform/SharedBuffer.cpp:
        (WebCore::allocateSegment):
        (WebCore::freeSegment):
        (WebCore::SharedBuffer::SharedBuffer):
        (WebCore::SharedBuffer::~SharedBuffer):
        (WebCore::SharedBuffer::adoptVector):
        (WebCore::SharedBuffer::size):
        (WebCore::SharedBuffer::data):
        (WebCore::SharedBuffer::append):
        (WebCore::SharedBuffer::clear):
        (WebCore::SharedBuffer::copy):
        (WebCore::SharedBuffer::buffer):
        (WebCore::SharedBuffer::getSomeData):
        * platform/SharedBuffer.h:
        * platform/cf/SharedBufferCF.cpp:
        (WebCore::SharedBuffer::maybeTransferPlatformData):
        * platform/haiku/SharedBufferHaiku.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/qt/SharedBufferQt.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/win/SharedBufferWin.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed trivial Symbian build fix

        * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion

2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Fix broken export macros in package builds.

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

        Always define QT_MAKEDLL unless we're doing a static
        build or we're building inside of Qt. When building
        inside of Qt the correct define is pulled from qbase.pri.

        * WebCore.pro:

2010-01-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin Fisher.

        Reorganize, document and rename OS() platform macros.
        https://bugs.webkit.org/show_bug.cgi?id=33198

        Adapt to name changes. Also fixed a few incorrect OS checks.

        * accessibility/AccessibilityObject.h:
        * config.h:
        * dom/SelectElement.cpp:
        (WebCore::SelectElement::listBoxDefaultEventHandler):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::platform):
        * loader/CachedFont.cpp:
        * loader/FTPDirectoryDocument.cpp:
        * loader/FTPDirectoryParser.cpp:
        * page/EventHandler.cpp:
        * page/Frame.cpp:
        (WebCore::Frame::setUseSecureKeyboardEntry):
        * page/NavigatorBase.cpp:
        (WebCore::NavigatorBase::platform):
        * page/Page.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        * page/chromium/DragControllerChromium.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::accessKeyModifiers):
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/FileSystem.h:
        * platform/KeyboardCodes.h:
        * platform/PurgeableBuffer.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::writeRange):
        * platform/chromium/ClipboardUtilitiesChromium.cpp:
        * platform/chromium/ClipboardUtilitiesChromium.h:
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/PlatformKeyboardEventChromium.cpp:
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):
        (WebCore::PopupMenu::show):
        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::mayFillWithSolidColor):
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/FontCache.cpp:
        (WebCore::alternateFamilyName):
        * platform/graphics/FontCache.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter):
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/graphics/Gradient.h:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/Path.h:
        * platform/graphics/Pattern.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cg/ColorCG.cpp:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/chromium/FontCustomPlatformData.h:
        * platform/graphics/chromium/FontPlatformData.h:
        * platform/graphics/opentype/OpenTypeUtilities.cpp:
        * platform/graphics/opentype/OpenTypeUtilities.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        * platform/graphics/qt/ImageQt.cpp:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipToImageBuffer):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::PlatformContextSkia):
        (PlatformContextSkia::save):
        (PlatformContextSkia::restore):
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::filenameToString):
        (WebCore::filenameFromString):
        (WebCore::filenameForDisplay):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/network/curl/ResourceHandleManager.cpp:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):
        * platform/text/String.cpp:
        (WebCore::String::format):
        (WebCore::String::number):
        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):
        * platform/text/TextStream.cpp:
        * platform/text/TextStream.h:
        * platform/text/qt/TextCodecQt.cpp:
        (WebCore::TextCodecQt::decode):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::messageToEventType):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::deviceInfoForWidget):
        (WebCore::screenIsMonochrome):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::paint):
        (WebCore::PopupMenu::registerClass):
        (WebCore::PopupMenu::PopupMenuWndProc):
        (WebCore::PopupMenu::wndProc):
        * platform/win/SystemTimeWin.cpp:
        (WebCore::userIdleTime):
        * platform/wx/FileSystemWx.cpp:
        (WebCore::unloadModule):
        * plugins/PluginDatabase.cpp:
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::compareFileVersion):
        * plugins/PluginPackage.h:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::setFrameRect):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::addWindowsMediaPlayerPluginDirectory):
        (WebCore::addMacromediaPluginDirectories):
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::registerPluginView):
        (WebCore::PluginView::wndProc):
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paintIntoTransformedContext):
        (WebCore::PluginView::paintWindowedPluginIntoContext):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setParent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::platformStart):

2010-01-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Add ARIA "Live Region" support
        https://bugs.webkit.org/show_bug.cgi?id=33117

        Tests: platform/mac/accessibility/aria-liveregions-attributes.html
               platform/mac/accessibility/aria-liveregions-notifications.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::contentChanged):
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isChildOfARIALiveRegion):
        (WebCore::AccessibilityObject::supportsARIALiveRegion):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::contentChanged):
        (WebCore::AccessibilityObject::ariaLiveRegionStatus):
        (WebCore::AccessibilityObject::ariaLiveRegionRelevant):
        (WebCore::AccessibilityObject::ariaLiveRegionAtomic):
        (WebCore::AccessibilityObject::ariaLiveRegionBusy):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::elementAttributeValue):
        (WebCore::AccessibilityRenderObject::contentChanged):
        (WebCore::AccessibilityRenderObject::childrenChanged):
        (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
        (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
        (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
        (WebCore::AccessibilityRenderObject::ariaLiveRegionBusy):
        * accessibility/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::areChildrenDirty):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/AccessibilityObjectWrapper.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:]):
        (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * html/HTMLAttributeNames.in:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setText):

2010-01-04  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Adopt a more conservative approach for loading CSS cross-origin. When
        loading CSS cross-origin, it must be start with valid CSS if the MIME
        type is broken.

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

        Test: http/tests/security/cross-origin-css.html
        Test: http/tests/security/cross-origin-css-in-xml.xml

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::setCSSStyleSheet): Enforce stricter load
        requirements for cross-origin loads.
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet): Enforce stricter load
        requirements for cross-origin loads.
        * css/CSSStyleSheet.h:
        * css/CSSStyleSheet.cpp:
        * css/CSSParser.cpp:
        * css/CSSGrammar.y:
        * css/CSSParser.h:
        Add ability to tell whether the CSS parse started with a syntactically
        valid CSS rule.
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::sheetText): Add ability to return
        whether the MIME type was acceptable for CSS.
        (WebCore::CachedCSSStyleSheet::canUseSheet): If requested, return
        whether the MIME type was valid or not.
        * dom/ProcessingInstruction.cpp
        (WebCore::ProcessingInstruction::setCSSStyleSheet): Make use of strict
        mode explicit and add comment.

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

        Reviewed by Simon Fraser.

        <rdar://problem/6655695> REGRESSION: VoiceOver is not highlighting some web elements correctly
        <rdar://problem/7397558> REGRESSION: AXImages inside of AXLink cause AXLink to have wrong bounds

        Test: accessibility/dimensions-include-descendants.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect): Use absoluteFocusRingQuads()
        for non-text renderers. The focus ring encompasses descendants, which is
        what we want for the accessibility indicator.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::absoluteFocusRingQuads): Added.
        * rendering/RenderObject.h:

2010-01-04  Ojan Vafai  <ojan@ojanmacpro.sfo.corp.google.com>

        Reviewed by Dan Bernstein.

        Remove unnecessary division by a constant in SimpleFontDataMac.mm.
        https://bugs.webkit.org/show_bug.cgi?id=33189

        This was added in http://trac.webkit.org/changeset/8104 and seems like
        it was just there to match the previously private function which we no
        longer use.

        No new tests. No change in behavior.

        * platform/graphics/mac/SimpleFontDataMac.mm:

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

        Reviewed by Maciej Stachowiak.

        Selection-related code needs stricter rules about how it relates to layout
        https://bugs.webkit.org/show_bug.cgi?id=32882

        Covered by existing tests along with the new assertions.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
        already false by the time post-attach callbacks are done so that
        layout triggered inside those callbacks can work properly.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::layout): Added code to trigger a
        layout when it's needed.
        (WebCore::SelectionController::recomputeCaretRect): Removed unneeded
        code to do nothing when FrameView is 0. Added an assertion that layout
        is not needed at the time the function is called.
        (WebCore::SelectionController::invalidateCaretRect): Added code to
        trigger a layout when it's needed.
        (WebCore::SelectionController::paintCaret): Added an assertion that
        layout is not needed at the time the function is called.

        * html/HTMLFormControlElement.cpp:
        (WebCore::shouldAutofocus): Added. Helper function that expresses
        the rule for which form control elements should auto-focus.
        (WebCore::focusPostAttach): Added. Called post-attach to focus an
        element if we discover it should be focused during attach.
        (WebCore::HTMLFormControlElement::attach): Refactored code for
        which elements need auto-focus into a separate function. Instead
        of focusing right away, use the focusPostAttach function to focus
        after attach is done. Also added calls to suspendPostAttachCallbacks
        and resumePostAttachCallbacks so post-attach callbacks happen late
        enough. Before, they could run inside the base attach function.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::attach): Added calls to
        suspendPostAttachCallbacks and resumePostAttachCallbacks so
        post-attach callbacks happen late enough

        * page/Frame.cpp:
        (WebCore::Frame::revealSelection): Added code to trigger a layout
        when it's needed.

2010-01-04  Gavin Barraclough <barraclough@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=33163
        Use WTF's string hashing functions from StringImpl.

        * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
        * platform/text/StringHash.h:
        * platform/text/StringImpl.h:
        (WebCore::StringImpl::computeHash):

2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>

        Qt build fix. Unreviewed.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotification):

2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: <select> elements should broadcast value change events

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

        <rdar://problem/7332364>

        Reviewed by Darin Adler.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::postNotification):
        If the post type is async, follow the old code path; otherwise, call
        postPlatformNotification().

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        Added a new accessibility notification, AXMenuListValueChanged. Added
        a new parameter to postNotification() to specify whether the post should
        be synchronous or asynchronous.

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        If the WebCore notification is AXMenuListValueChanged, broadcast an
        EVENT_OBJECT_VALUECHANGE event.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::setSelectedIndex):
        When the selected index of a RenderMenuList is changed, call
        RenderMenuList::didSetSelectedIndex().

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList):
        Initialize new member
        (WebCore::RenderMenuList::didSetSelectedIndex):
        If the selected index has changed, post AXMenuListValueChanged to the
        object synchronously.

        * rendering/RenderMenuList.h:
        Declare didSetSelectedIndex(), and add a member to hold the last
        selected index.

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

        Reviewed by Sam Weinig.

        Added missing null check in BarInfo code.

        Test: fast/dom/Window/BarInfo-after-frame-removed.html

        * page/BarInfo.cpp:
        (WebCore::BarInfo::visible): Added null check. A few other
        cleanups.

2010-01-04  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Jon Honeycutt.

        Delete an empty and unused JavaScript file.

        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/InspectorControllerStub.js: Removed.

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

        [wx] Build fix, add a couple include dirs to the build.

        * wscript:

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

        Windows build fix

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

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

        Reviewed by Dan Bernstein.

        Repaint issues in text input under a scale transform
        https://bugs.webkit.org/show_bug.cgi?id=32086
        
        When doing a subtree layout we have to look up the container chain to see if there
        are any properties, such as transforms or reflections, that mean that we are unable
        to use layoutState.

        Test: fast/repaint/subtree-layoutstate-transform.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layout): Call canUseLayoutStateForSubtree() to determine
        whether it's OK to use layoutState.
        
        * rendering/RenderView.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::canUseLayoutStateForSubtree): New method that reports whether it's
        OK to use layoutState when doing a subtree layout from the given root.

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

        Reviewed by Dan Bernstein.

        Reentrancy problem with selection in some edge cases.
        https://bugs.webkit.org/show_bug.cgi?id=32842
        rdar://problem/7449974

        Test: fast/forms/selection-layout-reentry-strange-case.html

        Move the selection display update process done in the
        selectionLayoutChanged function into the layout timer
        instead of doing it immediately when selection changes occur.

        * dom/Document.cpp:
        (WebCore::Document::updateLayout): Changed this to use the
        definition of needsLayout from FrameView rather than rolling
        its own.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        Initialize m_needsDisplayUpdate to false.
        (WebCore::SelectionController::setSelection): Call
        the new setNeedsDisplayUpdate function instead of the old
        badly named Frame::selectionLayoutChanged function.
        (WebCore::SelectionController::setNeedsDisplayUpdate):
        Set m_needsDisplayUpdate. If it is just becoming true, then
        call FrameView::scheduleRelayout.

        * editing/SelectionController.h: Added setNeedsDisplayUpdate,
        needsDisplayUpdate, and m_needsDisplayUpdate.

        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
        (WebCore::Frame::selectionLayoutChanged): Call
        setNeedsDisplayUpdate to set it to false, since this is the
        function that performs "selection display update". Later I want
        to rename this function. Also added a global reentrancy check
        since that's the easiest way I could think of to prevent infinite
        recursion in the case where recomputeCaretRect ends up triggering
        a layout. As a side effect, fixed theoretical problems in
        TEXT_CARET builds by improving the ifdef.
        (WebCore::Frame::caretBlinkTimerFired): Loosen assertions a
        bit. Later we might want to decouple caret rect from caret state
        a bit more and add these assertions back.
        (WebCore::Frame::selectionBounds): Call Document::updateLayout.
        This function is for external clients and they do not currently
        do anything to make sure layout is up to date.

        * page/FrameView.cpp:
        (WebCore::FrameView::needsLayout): Add a new clause, since
        we need a call to layout if needsDisplayUpdate is true.

2010-01-04  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Correct debug assertion (and possible runtime errors) by
        checking validity of bitmap settings used to create
        the Windows Cairo contexts.
        https://bugs.webkit.org/show_bug.cgi?id=33164.

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::createCairoContextWithHDC): Check validity of selected
          OBJ_BITMAP retrieved, and only create 32-bit context when
          a valid bitmap is provided.

2010-01-04  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, revert r52745 and r52746 on behalf of Nikolas Zimmermann, as discussed on IRC.
        Patch produced by 'git revert' and then reverting back ChangeLog files.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::repaintRectInLocalCoordinates):
        (WebCore::RenderPath::setPath):
        (WebCore::RenderPath::path):
        (WebCore::RenderPath::paint):
        (WebCore::):
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::drawMarkerWithData):
        (WebCore::updateMarkerDataForElement):
        (WebCore::drawStartAndMidMarkers):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderPath.h:
        (WebCore::RenderPath::markerBoundingBox):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::paint):
        * rendering/RenderSVGViewportContainer.h:
        * rendering/SVGMarkerData.h: Removed.
        * rendering/SVGMarkerLayoutInfo.cpp: Removed.
        * rendering/SVGMarkerLayoutInfo.h: Removed.
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/graphics/SVGResource.cpp:
        (WebCore::SVGResource::SVGResource):
        (WebCore::ResourceSet::ResourceSet):
        (WebCore::clientMap):
        (WebCore::SVGResource::~SVGResource):
        (WebCore::SVGResource::removeClient):
        (WebCore::SVGResource::addClient):
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::SVGResourceMarker):
        (WebCore::SVGResourceMarker::setMarker):
        (WebCore::SVGResourceMarker::setRef):
        (WebCore::SVGResourceMarker::draw):
        (WebCore::SVGResourceMarker::cachedBounds):
        (WebCore::SVGResourceMarker::externalRepresentation):
        * svg/graphics/SVGResourceMarker.h:
        (WebCore::SVGResourceMarker::refX):
        (WebCore::SVGResourceMarker::refY):

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

        Reviewed by Ada Chan and Mark Rowe.

        Updated copyright string

        * Info.plist:
        * WebCore.vcproj/QTMovieWin.rc:

2010-01-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: any DIV with an aria role should not be ignored
        https://bugs.webkit.org/show_bug.cgi?id=33090

        Test: platform/mac/accessibility/aria-divs-not-ignored.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

2010-01-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Generate declarations for V8 runtime enablers.

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

        * bindings/scripts/CodeGeneratorV8.pm: Generate runtime enabler declarations.
        * bindings/v8/custom/V8CustomBinding.h: Remove manual declarations of runtime enablers.
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8WebSocketCustom.cpp: Remove closeCallback(), which isn't actually being used.
        * bindings/v8/custom/V8WorkerContextCustom.cpp:

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

        Not reviewed. Forgot to add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to Chromium build.

        * WebCore.gypi:

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

        Reviewed by Dirk Schulze.

        Marker code is buggy: referencePoint translation is off
        https://bugs.webkit.org/show_bug.cgi?id=33012

        Rewrite marker code, as it had many issues:
        - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
        - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
        - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
        - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
          can have three different resources of the same type (three markers, start/mid/end markers)

        Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.

        Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
        Test: svg/custom/marker-referencePoint.svg
              svg/custom/marker-opacity.svg

        * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
        * GNUmakefile.am: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
        (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
        (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
        (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
        (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
        * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
        (WebCore::RenderPath::path): Inline this accessor.
        * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
        * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
        (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
        (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
        * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
        * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
        (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
        (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
        (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
        (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
        (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
        (WebCore::SVGMarkerData::updateOutslope): Ditto.
        (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
        (WebCore::SVGMarkerData::updateInslope): Helper method.
        * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
        (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
        (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
        (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
        (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
        (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
        * rendering/SVGMarkerLayoutInfo.h: Added.
        (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
        (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
        (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
        (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
        * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
        (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
        * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
                                        and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
                                        ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
                                        per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
        (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
        (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
        (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
        (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
        (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::SVGResourceMarker):
        (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
        (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
        (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
        * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
        (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
        (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
        (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().

2010-01-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Fix standalone package builds.

        * WebCore.pro: Moved logic for detecting standalone builds to WebKit.pri. Set DESTDIR for package builds.

2010-01-04  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        https://bugs.webkit.org/show_bug.cgi?id=29048
        [Qt] make RenderStyle.h compile in winscw compiler.

        Change compareEqual to a macro in Winscw compiler to get around "illegal operand" 
        error when compareEqual is defined as template.

        The compiler bug is reported at:
        https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10447

        * rendering/style/RenderStyle.h:

2010-01-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Simon Hausmann.

        Fix some PLATFORM(*_ENDIAN) uses to CPU()
        https://bugs.webkit.org/show_bug.cgi?id=33148

        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::readUint16):
        (WebCore::BMPImageReader::readUint32):
        (WebCore::BMPImageReader::readCurrentPixel):

2010-01-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Barth.

        Reorganize, document and rename CPU() platform macros.
        https://bugs.webkit.org/show_bug.cgi?id=33145

        * page/NavigatorBase.cpp:
        * platform/text/AtomicString.cpp:
        (WebCore::equal):
        * platform/text/StringHash.h:
        (WebCore::StringHash::equal):

2009-12-22  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
        https://bugs.webkit.org/show_bug.cgi?id=32661

        Reverted the SENTINEL / NULL crap :) Hopefully the style-bot won't
        complain about NULL usage in g_object_{get,set} anymore.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::hasVideo):
        (WebCore::MediaPlayerPrivate::hasAudio):
        (WebCore::MediaPlayerPrivate::setVolume):
        (WebCore::MediaPlayerPrivate::setRate):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):

2010-01-04  Alex Milowski  <alex@milowski.com>

        Reviewed by Eric Seidel.

        Updated license to match recommended header license.

        * mathml/MathMLElement.cpp:
        * mathml/MathMLElement.h:
        * mathml/MathMLInlineContainerElement.cpp:
        * mathml/MathMLInlineContainerElement.h:
        * mathml/MathMLMathElement.cpp:
        * mathml/MathMLMathElement.h:

2010-01-04  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGResources don't invalidate if target object changes attributes
        https://bugs.webkit.org/show_bug.cgi?id=33091

        It's neccessary to invalidate all resources of an object, if the attributes of this
        target change. Otherwise the saved resource data (like ImageBuffers) don't match
        to the new object properties. 

        Test: svg/custom/resource-invalidate-on-target-update.svg

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::svgAttributeChanged):
        (WebCore::SVGStyledElement::invalidateResources):
        * svg/SVGStyledElement.h:

2010-01-03  Kenneth Russell  <kbr@google.com>

        Reviewed by Maciej Stachowiak.

        Index validation code must always copy client data
        https://bugs.webkit.org/show_bug.cgi?id=32748

        Client data must always be copied during bufferData and
        bufferSubData calls, because otherwise the data the GL uses to
        draw may differ from that checked by the index validation code.

        Test: fast/canvas/webgl/index-validation-copies-indices.html

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::WebGLBuffer):
        (WebCore::WebGLBuffer::associateBufferData):
        (WebCore::WebGLBuffer::associateBufferSubData):
        * html/canvas/WebGLBuffer.h:

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

        Reviewed by Eric Seidel.

        [Chromium] Implement CookieJarChromium::cookiesEnabled
        https://bugs.webkit.org/show_bug.cgi?id=33123

        Call out to ChromiumBridge to find out if cookies are enabled.

        * platform/chromium/ChromiumBridge.h:
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::cookiesEnabled):

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

        Reviewed by Eric Seidel.

        [Chromium] Remove evaluateInNewContext (it's useless)
        https://bugs.webkit.org/show_bug.cgi?id=33068

        This function has no clients and makes life complicated.  Isolated
        worlds won out over NewContext and there's not really any going back
        now.

        No new tests because this is all minus lines.

        * bindings/v8/ScriptController.cpp:
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2010-01-03  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Dan Bernstein.

        Remove out of date commented out attributes in IDLs. We have implemented onpopstate.

        * html/HTMLBodyElement.idl:
        * html/HTMLFrameSetElement.idl:
        * page/DOMWindow.idl:

2010-01-03  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Mark more filter effect as alphaImage if possible
        https://bugs.webkit.org/show_bug.cgi?id=33111

        Mark more effects as alphaImage if the previous effect is a
        alphaImage. This can reduce the calculation on the next effect
        like feGaussianBlur.
        
        Test: This changes don't affect any LayoutTests and can't be tested
              somehow, since the changes are 'invisible'.

        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply):
        * svg/graphics/filters/SVGFEMorphology.cpp:
        (WebCore::FEMorphology::apply):
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

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

        Reviewed by Dan Bernstein.

        Scrollbar of overflow:scroll div in compositing layer fails to render
        https://bugs.webkit.org/show_bug.cgi?id=32439
        
        When deciding whether a RenderLayer needs backing store, check whether it has
        overflow controls that need painting.

        Test: compositing/overflow/scrollbar-painting.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasOverflowControls):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

2009-12-31  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Gustavo Noronha Silva.

        [GTK] context menu overriding API is very limited
        https://bugs.webkit.org/show_bug.cgi?id=27546

        Only show font menu items in rich text areas in the GTK+ port.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2009-12-31  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Gustavo Noronha Silva.

        [GTK] context menu overriding API is very limited
        https://bugs.webkit.org/show_bug.cgi?id=27546

        Don't show spell checking menu items in text areas in the GTK+ port.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2009-12-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
        https://bugs.webkit.org/show_bug.cgi?id=33067

        Test: fast/repaint/table-cell-overflow.html

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::hasVisibleOverflow): Added.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
        any cell has visible overflow, like it was before r47440.

2009-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Do not include Frame.h under WebCore/html/canvas
        https://bugs.webkit.org/show_bug.cgi?id=33082

        No new tests, as there is no new functionality.

        * html/canvas/CanvasRenderingContext2D.cpp:

2009-12-30  Darin Fisher  <darin@chromium.org>

        Reviewed by David Levin.

        [Chromium] Delete ResourceRequest::securityInfo
        https://bugs.webkit.org/show_bug.cgi?id=26847

        * platform/network/chromium/ResourceRequest.h:

2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Remove unused code from V8DOMWrapper.

        * bindings/v8/V8DOMWrapper.cpp: Removed code that I added but it's no longer used.
        * bindings/v8/V8DOMWrapper.h: Ditto.

2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Generate configuring undetectable collection.
        https://bugs.webkit.org/show_bug.cgi?id=33063

        Refactoring, covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationMasqueradeAsUndefined.
        * bindings/v8/DerivedSourcesAllInOne.cpp: Touched to keep IB-based builds happy.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Removed hand-configuring.

2009-12-30  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Dimitri Glazkov.

        Added ability for PopupMenuClient to signal when
        a) selection changed, and
        b) weather suggested value should be accepted when popup menu closes

        No new tests since this new functionality (autocomplete suggestions)
        is intentionally hidden from everything else than renderer.

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::hidePopup):
        (WebCore::PopupListBox::handleKeyEvent):
        (WebCore::PopupListBox::abandon):
        (WebCore::PopupListBox::acceptIndex):
        (WebCore::PopupListBox::selectIndex):
        (WebCore::PopupListBox::clearSelection):
        (WebCore::PopupListBox::hidePopup):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::menuUnmapped):
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::show):
        * platform/qt/QtFallbackWebPopup.cpp:
        (WebCore::QtFallbackWebPopup::hidePopup):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::hide):
        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::OnMenuItemSelected):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::popupDidHide):
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::selectionChanged):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::popupDidHide):
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::selectionChanged):

2009-12-30  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Auto-generate V8 bindings header declarations for
        property accessor getter/setters, and remove a couple of
        unnecessarily custom bindings that weren't properly declared
        custom anyway.

        * Android.v8bindings.mk: Remove V8NavigatorCustom.cpp.
        * WebCore.gypi: Remove V8NavigatorCustom.cpp.
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/custom/V8AttrCustom.cpp:
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * bindings/v8/custom/V8CoordinatesCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        * bindings/v8/custom/V8EventCustom.cpp:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        * bindings/v8/custom/V8LocationCustom.cpp:
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Touch DerivedSourcesAllInOne to avoid clobbering IB-based builds.

        * bindings/v8/DerivedSourcesAllInOne.cpp: Added a line-break.

2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Generate configuring of call-as-function callbacks.
        https://bugs.webkit.org/show_bug.cgi?id=33061

        Refactoring, covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm: Added GenerateHeaderCustomCall and
            GenerateImplementationCustomCall.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Removed all hand-configuring of call-as-function
            callbacks.
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::V8HTMLAppletElement::callAsFunctionCallback): Added.
        (WebCore::V8HTMLEmbedElement::callAsFunctionCallback): Added.
        (WebCore::V8HTMLObjectElement::callAsFunctionCallback): Added.
        * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Removed.

2009-12-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [v8] Move world-specific state out of V8Proxy
        https://bugs.webkit.org/show_bug.cgi?id=33034

        This is the first step towards unifying the V8 implementation of
        isolated worlds with the JSC implementation.  We need an object to
        encapulate all the world-specific bindings state.  Previoulsy, we used
        V8Proxy for this purpose (along with a million other things), but
        there's a one-to-one mapping between V8Proxy objects and Frame objects.

        This patch takes the world-specific state and moves it to a new object,
        affectionately called V8DOMWindowShell.  This object is the moral
        equivalent of JSDOMWindowShell but with more data members because life
        is more complicated in V8-land.

        This patch is almost entirely code motion.  Future patches will clean
        up this class as we use it to represent window shells in isolated
        worlds as well as the main world.

        * WebCore.gypi:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::updateSecurityOrigin):
        (WebCore::ScriptController::haveInterpreter):
        (WebCore::ScriptController::updateDocument):
        * bindings/v8/V8DOMWindowShell.cpp: Added.
        (WebCore::handleFatalErrorInV8):
        (WebCore::reportFatalErrorInV8):
        (WebCore::reportUnsafeJavaScriptAccess):
        (WebCore::V8DOMWindowShell::create):
        (WebCore::V8DOMWindowShell::V8DOMWindowShell):
        (WebCore::V8DOMWindowShell::isContextInitialized):
        (WebCore::V8DOMWindowShell::disposeContextHandles):
        (WebCore::V8DOMWindowShell::destroyGlobal):
        (WebCore::V8DOMWindowShell::clearForClose):
        (WebCore::V8DOMWindowShell::clearForNavigation):
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        (WebCore::V8DOMWindowShell::createNewContext):
        (WebCore::V8DOMWindowShell::installDOMWindow):
        (WebCore::V8DOMWindowShell::updateDocumentWrapper):
        (WebCore::V8DOMWindowShell::clearDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
        (WebCore::V8DOMWindowShell::setSecurityToken):
        (WebCore::V8DOMWindowShell::updateDocument):
        (WebCore::V8DOMWindowShell::updateSecurityOrigin):
        (WebCore::V8DOMWindowShell::getHiddenObjectPrototype):
        (WebCore::V8DOMWindowShell::installHiddenObjectPrototype):
        (WebCore::V8DOMWindowShell::createWrapperFromCacheSlowCase):
        * bindings/v8/V8DOMWindowShell.h: Added.
        (WebCore::V8DOMWindowShell::context):
        (WebCore::V8DOMWindowShell::createWrapperFromCache):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getConstructorForContext):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::~V8Proxy):
        (WebCore::V8Proxy::handleOutOfMemory):
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        (WebCore::V8Proxy::clearForClose):
        (WebCore::V8Proxy::clearForNavigation):
        (WebCore::V8Proxy::mainWorldContext):
        (WebCore::V8Proxy::setContextDebugId):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::windowShell):
        (WebCore::V8Proxy::extensions):

2009-12-30  Dirk Schulze  <krit@webkit.org>

        Reviewed by Eric Seidel.

        SVGResourceClipper needs to invalidate content
        https://bugs.webkit.org/show_bug.cgi?id=33054

        Added invalidate() to SVGResourceClipper to reset clipData
        and drawing area after attribute changes.

        This fixes two LayoutTests.

        * svg/graphics/SVGResourceClipper.cpp:
        (WebCore::SVGResourceClipper::resetClipData):
        (WebCore::SVGResourceClipper::invalidate):
        * svg/graphics/SVGResourceClipper.h:

2009-12-30  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Laszlo Gombos.

         [Qt] RenderThemeQt::applyTheme is a misnomer and is suboptimally coded.
        https://bugs.webkit.org/show_bug.cgi?id=33035

        This patch:
        - renames RenderThemeQt::applyTheme to initializeCommonQStyleOptions,
        - extracts the palette initialization code to a separate function in order to
        provide for readable pointer checking and moves this code up in the function to
        allow for future changes to the palette brushes needed for bug 30173,
        - optimizes some of the code in the function for readability, speed and size.
        - fixes some minor style issues

        No new tests because code behavior is not changed.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::paintMenuListButton):
        (WebCore::initPaletteFromPageClientIfExists):
        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
        * platform/qt/RenderThemeQt.h:

2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] It should be possible to disable inspector
        https://bugs.webkit.org/show_bug.cgi?id=32724

        This makes the r48430 available for other ports as well.
        No new tests, as there is no new functionality.

        * inspector/InjectedScriptHost.idl: Guard the interface with
        INSPECTOR guard.

        * inspector/InspectorBackend.idl: Ditto.

        * inspector/InspectorFrontendHost.idl: Ditto.

2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Generate configuring of all indexers.
        https://bugs.webkit.org/show_bug.cgi?id=33031

        Refactorig, covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm: Added generation of indexers for
            special cases.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Removed custom tempalte configuration of
            indexers.
        * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
            elements (these will be generated, too -- later.)
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::npObjectIndexedGetter): Moved common code to a separate method.
        (WebCore::npObjectIndexedSetter): Ditto.
        (WebCore::INDEXED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
          all calling the common method.
        (WebCore::INDEXED_PROPERTY_SETTER): Ditto.

2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Generate configuring of all named property getters/setters/enumerators.
        https://bugs.webkit.org/show_bug.cgi?id=32996

        Refactoring, covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm: Added generation of named property handlers
            for special cases (See bug for more info).
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Removed custom template configuration of named
            property handlers.
        * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
            elements (these will be generated, too -- later.)
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::npObjectNamedGetter): Moved common code to a separate method.
        (WebCore::npObjectNamedSetter): Ditto.
        (WebCore::NAMED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
          all calling the common method.
        (WebCore::NAMED_PROPERTY_SETTER): Ditto.

2009-12-30  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix PluginView::handlePostReadFile().
        https://bugs.webkit.org/show_bug.cgi?id=33052

        The function should actually rewrite the given file to the buffer.

        This change fixes http/tests/plugins/post-url-file.html, which can be unskipped
        now along with other passing http/plugins tests.

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

2009-12-30  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber stamped by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=32121
        [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.

        The implementation appears to either run into an ASSERT
        or leak memory at runtime as the m_buffer, m_reader may
        already exist. The bug was reopened and we do have a plan now.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::clearFrameBufferCache):
        * platform/graphics/qt/ImageDecoderQt.h:

2009-12-30  Janne Koskinen  <janne.p.koskinen@digia.com>

        Reviewed by Simon Hausmann.

        [Qt] Add support for Symbian def files

        * WebCore.pro:

2009-12-30  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Qt/Symbian build fix.

        Don't build network state notifier support when building inside of Qt.
        Otherwise the Qt build depends on an external module that itself depends
        on Qt again.

        * WebCore.pro:

2009-12-30  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Dimitri Glazkov.

        [v8] Use current isolated world's context for ScriptCallStack.

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

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptCallStack.h:
        (WebCore::ScriptCallStack::state):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::mainWorldScriptState):
        (WebCore::ScriptController::currentScriptState):
        (WebCore::ScriptController::clearWindowShell):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::scriptState):
        * bindings/v8/V8IsolatedWorld.h:

2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        Turn off DataGrid support by default.

        No new tests, as there is no new functionality.

        * WebCore.pro:

2009-12-29  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Detailed boundingBoxes in SVG Renderer
        https://bugs.webkit.org/show_bug.cgi?id=32815

        Add new bounding boxes for strokes, filters, masker and clipper in SVG.
        These new bounding boxes help to fix repaintRectInLocalCoordinates.
        We calculate the smallest repaint rect considering the new bounding boxes
        now, filters get the correct paint area, masker clip the mask image size
        to the visible area of the target.

        Tests: Many tests need an update. The changes in repaintRectInLocalCoordinates
               affect the LayoutTests.     

        * rendering/RenderForeignObject.h:
        (WebCore::RenderForeignObject::strokeBoundingBox):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::toSVGRenderBase):
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::strokeBoundingBox):
        (WebCore::RenderPath::repaintRectInLocalCoordinates):
        (WebCore::RenderPath::setPath):
        * rendering/RenderPath.h:
        (WebCore::RenderPath::markerBoundingBox):
        * rendering/RenderSVGBlock.h:
        (WebCore::RenderSVGBlock::toSVGRenderBase):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::strokeBoundingBox):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.h:
        (WebCore::RenderSVGImage::toSVGRenderBase):
        (WebCore::RenderSVGImage::strokeBoundingBox):
        * rendering/RenderSVGInline.h:
        (WebCore::RenderSVGInline::objectBoundingBox):
        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
        * rendering/RenderSVGModelObject.h:
        (WebCore::RenderSVGModelObject::toSVGRenderBase):
        * rendering/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::strokeBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/RenderSVGText.h:
        (WebCore::RenderSVGText::toSVGRenderBase):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::~SVGRenderBase):
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
        * rendering/SVGRenderSupport.h:
        (WebCore::SVGRenderBase::toSVGRenderBase):
        (WebCore::SVGRenderBase::strokeBoundingBox):
        (WebCore::SVGRenderBase::markerBoundingBox):
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::toSVGRenderBase):
        (WebCore::SVGRootInlineBox::objectBoundingBox):
        (WebCore::SVGRootInlineBox::repaintRectInLocalCoordinates):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::filterBoundingBox):
        * svg/SVGFilterElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::maskBoundingBox):
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGMaskElement.h:
        * svg/graphics/SVGResourceClipper.cpp:
        (WebCore::SVGResourceClipper::clipperBoundingBox):
        * svg/graphics/SVGResourceClipper.h:
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::filterBoundingBox):
        (WebCore::shouldProcessFilter):
        (WebCore::SVGResourceFilter::prepareFilter):
        * svg/graphics/SVGResourceFilter.h:
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::maskerBoundingBox):
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/SVGResourceMasker.h:

2009-12-29  Andrei Popescu  <andreip@google.com>

        Reviewed by Adam Barth.

        Add Android hook to NetworkStateNotifier class
        so that the Java side can notify WebCore when the
        network state changes.
        https://bugs.webkit.org/show_bug.cgi?id=32871

        No new tests required, this is platform code.

        * platform/network/NetworkStateNotifier.h:
        * platform/network/android/NetworkStateNotifierAndroid.cpp: Added.
        (WebCore::NetworkStateNotifier::networkStateChange):

2009-12-29  Eric Seidel  <eric@webkit.org>

        No review, rolling out r52630.
        http://trac.webkit.org/changeset/52630

        Change caused layout tests failures and crashes.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::repaintRectInLocalCoordinates):
        (WebCore::RenderPath::setPath):
        (WebCore::RenderPath::path):
        (WebCore::RenderPath::paint):
        (WebCore::):
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::drawMarkerWithData):
        (WebCore::updateMarkerDataForElement):
        (WebCore::drawStartAndMidMarkers):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::paint):
        * rendering/RenderSVGViewportContainer.h:
        * rendering/SVGMarkerLayoutInfo.cpp: Removed.
        * rendering/SVGMarkerLayoutInfo.h: Removed.
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/graphics/SVGResource.cpp:
        (WebCore::SVGResource::SVGResource):
        (WebCore::ResourceSet::ResourceSet):
        (WebCore::clientMap):
        (WebCore::SVGResource::~SVGResource):
        (WebCore::SVGResource::removeClient):
        (WebCore::SVGResource::addClient):
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::SVGResourceMarker):
        (WebCore::SVGResourceMarker::setMarker):
        (WebCore::SVGResourceMarker::setRef):
        (WebCore::SVGResourceMarker::draw):
        (WebCore::SVGResourceMarker::cachedBounds):
        (WebCore::SVGResourceMarker::externalRepresentation):
        * svg/graphics/SVGResourceMarker.h:
        (WebCore::SVGResourceMarker::refX):
        (WebCore::SVGResourceMarker::refY):

2009-12-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Move the focus ring rect array, width and offset out of GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=33028

        * platform/graphics/GraphicsContext.cpp: Removed initFocusRing(),
        clearFocusRing(), focusRingBoundingRect(), addFocusRingRect(),
        focusRingWidth(), focusRingOffset(), and focusRingRects().
        * platform/graphics/GraphicsContext.h: Ditto. Added the focus ring rect
        vector, width and offset as parameters to drawFocusRing().
        * platform/graphics/GraphicsContextPrivate.h:
        (WebCore::GraphicsContextState::GraphicsContextState): Cleaned up style.
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed
        m_focusRingRects, m_focusRingWidth and m_focusRingOffset.
        * platform/graphics/IntRect.cpp:
        (WebCore::unionRect): Added this helper function.
        * platform/graphics/IntRect.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawFocusRing): 
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::drawFocusRing): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addFocusRingRects): Updated for new prototype.
        Added empty rect checks that were previously done in
        GraphicsContext::addFocusRingRect().
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addFocusRingRects): Ditto.
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addFocusRingRects): Ditto.
        (WebCore::RenderInline::paintOutline): Collect focus ring rects into a
        vector and pass it to drawFocusRing(). Use unionRect() instead of
        focusRingBoundingRect().
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline): Ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::addFocusRingRects): Changed to take a
        Vector<IntRect> to which the rects are added.
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::addFocusRingRects): Updated for new prototype.
        Added empty rect check that was previously done in
        GraphicsContext::addFocusRingRect().
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::addFocusRingRects): Updated for new prototype.
        Added empty rect check that was previously done in
        GraphicsContext::addFocusRingRect().
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::addFocusRingRects): Updated for new prototype.
        Added empty rect check that was previously done in
        GraphicsContext::addFocusRingRect().
        * rendering/RenderSVGImage.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::addFocusRingRects): Updated for new prototype.
        Added empty rect check that was previously done in
        GraphicsContext::addFocusRingRect().
        * rendering/RenderTextControl.h:

2009-12-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Maciej Stachowiak.

        1. Changes the order in which some functions are called to match
        the pre-r52536 order. Namely, when a new Database object is
        created, DatabaseTracker::addOpenDatabase() is called in the
        constructor, before doing anything else related to that database
        (like trying to get a file handle to the database
        file). Chromium's implementation depends on this ordering.
        2. Changes Database::performOpenAndVerify() to close the open
        handle to the database file immediately if the database version
        does not match the expected one. The current behavior is to add
        the Database object to a DatabaseThread collection and let the
        database thread close the handle when it's destroyed.

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

        All LayoutTests/storage tests pass in clean WebKit and Chromium
        clients.

        * storage/Database.cpp:
        (WebCore::Database::openDatabase): Notify DatabaseTracker and
        Document that a Database object is about to be destroyed (when a
        database file cannot be opened, or its version doesn't match the
        expected one).
        (WebCore::Database::Database): Notify DatabaseTracker and Document
        that a new Database object was created.
        (WebCore::Database::performOpenAndVerify): If a database version
        does not match the expected one, immediately close the open file
        handle to the database file.

2009-12-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Marker code is buggy: referencePoint translation is off
        https://bugs.webkit.org/show_bug.cgi?id=33012

        Rewrite marker code, as it was buggy:
        - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
        - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
        - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
        - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
          can have three different resources of the same type (three markers, start/mid/end markers)

        Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
        Test: svg/custom/marker-referencePoint.svg

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::repaintRectInLocalCoordinates):
        (WebCore::RenderPath::setPath):
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
        * rendering/RenderPath.h:
        (WebCore::RenderPath::path):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::markerContentTransformation):
        * rendering/RenderSVGViewportContainer.h:
        * rendering/SVGMarkerLayoutInfo.cpp: Added.
        (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
        (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
        (WebCore::SVGMarkerLayoutInfo::initialize):
        (WebCore::updateMarkerDataForElement):
        (WebCore::recordMarkerData):
        (WebCore::processStartAndMidMarkers):
        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
        (WebCore::SVGMarkerLayoutInfo::drawMarkers):
        * rendering/SVGMarkerLayoutInfo.h: Added.
        (WebCore::MarkerData::):
        (WebCore::MarkerData::MarkerData):
        (WebCore::MarkerLayout::MarkerLayout):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/graphics/SVGResource.cpp:
        (WebCore::resourceSet):
        (WebCore::SVGResource::SVGResource):
        (WebCore::SVGResource::~SVGResource):
        (WebCore::SVGResource::removeClient):
        (WebCore::SVGResource::addClient):
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::SVGResourceMarker):
        (WebCore::SVGResourceMarker::markerBoundaries):
        (WebCore::SVGResourceMarker::markerTransformation):
        (WebCore::SVGResourceMarker::draw):
        (WebCore::SVGResourceMarker::externalRepresentation):
        * svg/graphics/SVGResourceMarker.h:
        (WebCore::SVGResourceMarker::setRenderer):
        (WebCore::SVGResourceMarker::setReferencePoint):
        (WebCore::SVGResourceMarker::referencePoint):

2009-12-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Fix UI nits in the Audits panel.
        https://bugs.webkit.org/show_bug.cgi?id=32932

        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditResultView):
        (WebInspector.AuditRuleResultPane):
        * inspector/front-end/audits.css:

2009-12-29  Johnny Ding  <jnd@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=32863
        Make NodeList support call-as-function

        Test: fast/dom/NodeList/nodelist-item-call-as-function.html

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::V8NodeList::callAsFunctionCallback):

2009-12-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Typed text in table not correctly redrawn on page with compositing layers
        https://bugs.webkit.org/show_bug.cgi?id=32874
        
        Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere
        to decide when to use layoutState, which is to test for layoutStateEnabled()
        and no repaint container.

        Not possible to make a repaint test that exercises the problem, so no test.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computeRectForRepaint):

2009-12-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Timothy Hatcher.

        Discard port from cookie domain when matching cookies.

        WebKit cookies do not hold the port information, so we should match only hostnames.
        https://bugs.webkit.org/show_bug.cgi?id=31787

        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):

2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp
        https://bugs.webkit.org/show_bug.cgi?id=33019

        No new tests as there is no new functionality.

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        (WebCore::MediaPlayerPrivate::totalTimeChanged):

2009-12-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Maciej Stachowiak.

        Implement HTML5 <aside> element.
        https://bugs.webkit.org/show_bug.cgi?id=32943

        <aside> should behave the same as <nav>, <section>, and <article>.

        Test: fast/html/aside-element.html

        * css/html.css: Add aside as a block element.
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag): Add asideTag.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag.
        (WebCore::blockTagList): Add asideTag.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::getNode): Add asideTag.
        * html/HTMLTagNames.in: Add aside.

2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
        https://bugs.webkit.org/show_bug.cgi?id=33003

        No new tests as there is no new functionality.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::sendTransitionEvent):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::sendAnimationEvent):
        * rendering/RenderSVGContainer.h:
        (WebCore::toRenderSVGContainer):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow):
        * svg/graphics/SVGPaintServerGradient.cpp:
        (WebCore::SVGPaintServerGradient::setup):
        * svg/graphics/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::setup):

2009-12-28  Andrei Popescu  <andreip@google.com>

        Reviewed by Dmitry Titov.

        On Android, ResourceHandle instances make use of a pointer to a
        ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel
        the load, if necessary. Since this pointer is an internal implementation
        details of ResourceHandle on Android, it needs to be stored in the
        ResourceHandleInternal class. This patch adds this pointer.
        https://bugs.webkit.org/show_bug.cgi?id=32873

        No new tests needed, this is platform-specific code.

        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):

2009-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by Maciej Stachowiak.

        Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser,
        since with XHTMLMP enabled, it's not checking create Errors,  and then contents inside 
        <noscript> are always parsed and rendered.
        https://bugs.webkit.org/show_bug.cgi?id=32706

        Tests: fast/parser/noscript-with-javascript-disabled.html
               fast/parser/noscript-with-javascript-enabled.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::getNode):

2009-12-28  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Maciej Stachowiak.

        Fixed isKeypadEvent behavior for Mac to correctly report keyLocation
        as DOM_KEY_LOCATION_NUMPAD for numeric pad key events.
        https://bugs.webkit.org/show_bug.cgi?id=28247

        Test: fast/events/keydown-numpad-keys.html

        * platform/mac/KeyEventMac.mm:
        (WebCore::isKeypadEvent):

2009-12-28  Mike Moretti  <webkit9@mordent.com>

        Reviewed by Darin Adler.

        Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string

        Test: fast/dom/insert-span-into-long-text-bug-28245.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):

2009-12-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        Follow Apple's decision to disable HTML DataGrid by default.

        * GNUmakefile.am:

2009-12-28  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Ariya Hidayat.

        Fix warnings when generating files using gperf. The warnings are
        currently harmless, but some changes in the build system may make
        them fatal.

        [GTK] Build time must be reduced
        https://bugs.webkit.org/show_bug.cgi?id=32921

        * GNUmakefile.am:

2009-12-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Adam Barth.

        [Qt] Fix build break for Qt 4.4
        https://bugs.webkit.org/show_bug.cgi?id=30327

        No new tests, as there is no new functionality.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipOut): Use intersected() instead of
        operator &, which was only introduced in Qt version 4.5.

        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace
        argument to fillColor() introduced in r50760

2009-12-28  Kent Tamura  <tkent@chromium.org>

        Reviewed by Maciej Stachowiak.

        Implement HTML5 <article> element.
        https://bugs.webkit.org/show_bug.cgi?id=32936

        <article> should behave the same as <nav> and <section>.

        Test: fast/html/article-element.html

        * css/html.css: Add article as a block element.
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag): Add articleTag.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag.
        (WebCore::blockTagList): Add articleTag.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::getNode): Add articleTag.
        * html/HTMLTagNames.in: Add article.

2009-12-27  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] Support upload progress events in XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=32969

        Make QNetworkReplyHandler report the upload progress to the client.

        Already covered by tests:
        http/tests/xmlhttprequest/upload-onload-event.html
        http/tests/xmlhttprequest/upload-onloadstart-event.html
        http/tests/xmlhttprequest/upload-progress-events.html
        http/tests/xmlhttprequest/upload-onprogress-event.html

        which have been unskipped.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::uploadProgress):
        (WebCore::QNetworkReplyHandler::start):
        * platform/network/qt/QNetworkReplyHandler.h:

2009-12-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG: Stop rendering of objects with empty mask and filter content
        https://bugs.webkit.org/show_bug.cgi?id=32968

        It's not neccessary to continue rendering of an object and its' childs
        if the mask clips the complete content away.
        The same for filters, if the filter rendering is discontinued or either
        width or height are zero.
        We might also stop rendering if repaintRectInLocalCoordinates is empty.
        But it needs to be fixed first.

        Test: svg/custom/empty-mask.svg

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGMaskElement.h:
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * svg/graphics/SVGResourceFilter.h:
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::SVGResourceMasker):
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/SVGResourceMasker.h:

2009-12-27  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Eric Seidel.

        [GTK] Spell Check Suggestions (Do not work)
        https://bugs.webkit.org/show_bug.cgi?id=30908

        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle): Implement the 'title' member
        and set the title from the native menu item.

2009-12-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Mask result wrong, if two different objects call the same mask id
        https://bugs.webkit.org/show_bug.cgi?id=32787

        At the moment we create one resource per maskId. Some resources (like mask)
        create ImageBuffers and depends on the properties of the RenderObject,
        thus we can't use it for a second object.
        This patch stores multiple mask resources for one maskId and different
        RenderObject can use the same maskId.
        Clipper, Filter and Patterns also need to store multiple resources later.

        Test: svg/custom/mask-on-multiple-objects.svg

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::selfWillPaint):
        * rendering/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::styleDidChange):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::selfWillPaint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeRenderResources):
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::canvasResource):
        * svg/SVGClipPathElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::canvasResource):
        * svg/SVGFilterElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::canvasResource):
        * svg/SVGGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::svgAttributeChanged):
        (WebCore::SVGMaskElement::childrenChanged):
        (WebCore::SVGMaskElement::canvasResource):
        * svg/SVGMaskElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::canvasResource):
        * svg/SVGPatternElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::canvasResource):
        * svg/graphics/SVGPaintServer.cpp:
        (WebCore::getPaintServerById):
        (WebCore::SVGPaintServer::fillPaintServer):
        (WebCore::SVGPaintServer::strokePaintServer):
        * svg/graphics/SVGPaintServer.h:
        * svg/graphics/SVGResource.cpp:
        (WebCore::getResourceById):
        * svg/graphics/SVGResource.h:
        * svg/graphics/SVGResourceClipper.cpp:
        (WebCore::getClipperById):
        * svg/graphics/SVGResourceClipper.h:
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::getFilterById):
        * svg/graphics/SVGResourceFilter.h:
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::getMarkerById):
        * svg/graphics/SVGResourceMarker.h:
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::getMaskerById):
        * svg/graphics/SVGResourceMasker.h:

2009-12-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Cleanup RenderPath code, related to markers. Pass around
        PaintInfo objects instead of GraphicsContext directly, to
        avoid having to recreate a new PaintInfo object in
        SVGResourceMarker::draw().

        No layout test changes.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::drawMarkerWithData):
        (WebCore::drawStartAndMidMarkers):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderPath.h:
        * svg/graphics/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::draw):
        * svg/graphics/SVGResourceMarker.h:

2009-12-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Eric Seidel.

        WinCE buildfix (added missing header)

        * platform/text/wince/TextBreakIteratorWince.cpp:

2009-12-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Eric Seidel.

        Buildfix after r50760 and some style fixes.

        * rendering/RenderThemeWince.cpp:
        (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWince::paintSliderTrack):
        (WebCore::RenderThemeWince::paintSliderThumb):
        (WebCore::RenderThemeWince::paintMediaMuteButton):
        (WebCore::RenderThemeWince::paintMediaPlayButton):

2009-12-27  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Barth.

        WinCE buildfixes (missing headers and unsupported HWND_MESSAGE)

        * platform/wince/MIMETypeRegistryWince.cpp:
        * platform/wince/SearchPopupMenuWince.cpp:
        * platform/wince/SharedTimerWince.cpp:
        (WebCore::initializeOffScreenTimerWindow):

2009-12-26  Eric Seidel  <eric@webkit.org>

        No review, rolling out r52554.
        http://trac.webkit.org/changeset/52554

        https://bugs.webkit.org/show_bug.cgi?id=32955
        The original change was covered under
        https://bugs.webkit.org/show_bug.cgi?id=32913

        r52554 was itself a rollout of r52536.
        However it caused two layout tests to fail on Leopard:
        storage/open-database-while-transaction-in-progress.html
        svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?)

        So I'm rolling out the rollout in an attempt to get the bots green.
        r52554 did not explain why it was rolled out, so I do not know
        what might fail for Chromium after this change.  I warned the folks
        in #chromium that it was coming.

        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::performOpenAndVerify):

2009-12-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space
        https://bugs.webkit.org/show_bug.cgi?id=32690

        Test: fast/block/float/clear-to-fit.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to
        fit the child on the line.

2009-12-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Implement HTML5 section element.
        https://bugs.webkit.org/show_bug.cgi?id=32936

        <section> should behave the same as <nav>.

        Test: fast/html/section-element.html

        * css/html.css: Add section as a block element.
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag): Add sectionTag.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag.
        (WebCore::blockTagList): Add sectionTag.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::getNode): Add sectionTag.
        * html/HTMLTagNames.in: Add section.

2009-12-25  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

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

        Cleans up XSSAuditor.

        Currently, we pass various parameters through to XSSAuditor::findInRequest
        that are used to determine how to decode the HTTP input parameters so that
        we can perform a match against the script source. Instead, we have defined
        a structure XSSAuditor::FindTask that can hold all of these parameters.

        No functionality was changed. So, no new tests.

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canEvaluate): Modified to use struct
        XSSAuditor::FindTask.
        (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto.
        (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto.
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto.
        (WebCore::XSSAuditor::canLoadObject): Ditto.
        (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
        (WebCore::XSSAuditor::findInRequest): Ditto.
        * page/XSSAuditor.h:
        (WebCore::XSSAuditor::FindTask::FindTask): Added.

2009-12-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        DOMWindow is missing lots of SVG* constructor objects
        https://bugs.webkit.org/show_bug.cgi?id=20430

        Expose all implemented SVG 1.1 constructors.

        Test: svg/custom/global-constructors.js

        * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement
        * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations.
        * page/DOMWindow.idl: Add a bunch of new SVG object ctors.
        * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment.
        * svg/SVGAnimatedPoints.idl: Ditto.

2009-12-25  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        AuditsPanel for Web Inspector (hidden, no preset audits).

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

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/AuditLauncherView.js: Added.
        (WebInspector.AuditLauncherView.categorySortFunction):
        (WebInspector.AuditLauncherView):
        (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
        (WebInspector.AuditLauncherView.prototype._setAuditRunning):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback):
        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
        (WebInspector.AuditLauncherView.prototype._categoryClicked):
        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        (WebInspector.AuditLauncherView.prototype._updateButton):
        (WebInspector.AuditLauncherView.prototype.resize):
        * inspector/front-end/AuditResultView.js: Added.
        (WebInspector.AuditResultView.entrySortFunction):
        (WebInspector.AuditResultView):
        (WebInspector.AuditCategoryResultPane):
        (WebInspector.AuditRuleResultPane):
        (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult):
        (WebInspector.AuditRuleResultChildSection):
        (WebInspector.AuditRuleResultChildSection.prototype.set title):
        (WebInspector.AuditRuleResultChildSection.prototype.expand):
        * inspector/front-end/AuditsPanel.js: Added.
        (WebInspector.AuditsPanel):
        (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel):
        (WebInspector.AuditsPanel.prototype.get statusBarItems):
        (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime):
        (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime):
        (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime):
        (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime):
        (WebInspector.AuditsPanel.prototype.get categoriesById):
        (WebInspector.AuditsPanel.prototype.get visibleView):
        (WebInspector.AuditsPanel.prototype._constructCategories):
        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
        (WebInspector.AuditsPanel.prototype._executeAudit):
        (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
        (WebInspector.AuditsPanel.prototype.initiateAudit.initiateAuditCallback):
        (WebInspector.AuditsPanel.prototype.initiateAudit):
        (WebInspector.AuditsPanel.prototype._reloadResources):
        (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
        (WebInspector.AuditsPanel.prototype.showResults):
        (WebInspector.AuditsPanel.prototype.showLauncherView):
        (WebInspector.AuditsPanel.prototype.showView):
        (WebInspector.AuditsPanel.prototype.show):
        (WebInspector.AuditsPanel.prototype.attach):
        (WebInspector.AuditsPanel.prototype.resize):
        (WebInspector.AuditsPanel.prototype.updateMainViewWidth):
        (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
        (WebInspector.AuditsPanel.prototype._clearButtonClicked):
        (WebInspector.AuditsPanel.prototype._closeVisibleView):
        (WebInspector.AuditCategory):
        (WebInspector.AuditCategory.prototype.get id):
        (WebInspector.AuditCategory.prototype.get displayName):
        (WebInspector.AuditCategory.prototype.get ruleCount):
        (WebInspector.AuditCategory.prototype.addRule):
        (WebInspector.AuditCategory.prototype.runRules):
        (WebInspector.AuditRule):
        (WebInspector.AuditRule.prototype.get id):
        (WebInspector.AuditRule.prototype.get displayName):
        (WebInspector.AuditRule.prototype.run):
        (WebInspector.AuditRule.prototype.doRun):
        (WebInspector.AuditRule.prototype.getValue):
        (WebInspector.AuditCategoryResult):
        (WebInspector.AuditCategoryResult.prototype.addEntry):
        (WebInspector.AuditRuleResult):
        (WebInspector.AuditRuleResult.prototype.appendChild):
        (WebInspector.AuditRuleResult.prototype.set type):
        (WebInspector.AuditRuleResult.prototype.get type):
        (WebInspector.AuditsSidebarTreeElement):
        (WebInspector.AuditsSidebarTreeElement.prototype.onattach):
        (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
        (WebInspector.AuditsSidebarTreeElement.prototype.get selectable):
        (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
        (WebInspector.AuditResultSidebarTreeElement):
        (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
        (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/audits.css: Added.
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):
        (WebInspector.updateResource):

2009-12-25  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Implement Edit Inner HTML action.

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

        * English.lproj/localizedStrings.js:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::pushNodePathToFrontendCallback):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.show):
        (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon):
        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
        ():
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.getNodePropertyValue):
        (InjectedScript.setOuterHTML):
        (InjectedScript.performSearch.addNodesToResults):
        (InjectedScript._inspectObject):
        (InjectedScript._copy):
        (InjectedScript.pushNodeToFrontend):
        * inspector/front-end/InjectedScriptAccess.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
        (.WebInspector.InspectorFrontendHostStub.prototype.windowUnloading):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.js:
        (WebInspector.startEditing.keyDownEventListener):
        (WebInspector.startEditing):

2009-12-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: Console should force long URLs to wrap
        https://bugs.webkit.org/show_bug.cgi?id=32927

        * inspector/front-end/inspector.css: Added "word-wrap: break-word;" to
        the #console-messages rule.

2009-12-24  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed Chromium test fix by reverting r52536.

        Do not a new Database pointer to any structure until its version has been verified
        https://bugs.webkit.org/show_bug.cgi?id=32913

        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::performOpenAndVerify):

2009-12-24  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for WebKit bug 29968 - Selecting text with text-overflow ellipsis
        should not show cut off text
        https://bugs.webkit.org/show_bug.cgi?id=29968

        Also fixes the issue on both Mac OS X and Windows where the highlight
        would extend only partway into the ellipsis based on the size of the
        characters being truncated.

        Test: editing/selection/select-text-overflow-ellipsis.html

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        When the ellipsis have been selected, paints them with the color for
        selected text.
        (WebCore::EllipsisBox::selectionRect):
        Returns the selection rect for the ellipsis text.
        (WebCore::EllipsisBox::paintSelection):
        Paints the selection highlight around the ellipsis text.

        * rendering/EllipsisBox.h:
        (WebCore::EllipsisBox::EllipsisBox):
        Default the selection state of the EllipsisBox to SelectionNone.
        (WebCore::EllipsisBox::setSelectionState):
        Allow the selection state to be explicitly set by the InlineTextBox
        that it is associated with, since the selection state depends on the
        position of the selection within the truncated text.
        (WebCore::EllipsisBox::selectionState):
        Return the cached selection state.
        
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionState):
        If the text is truncated and the selection extends into the truncation
        where there are ellipsis, set the selection state on the EllipsisBox.
        (WebCore::paintTextWithShadows):
        Allow for an upper bound to be specified on the maximum length of the
        text to be painted.
        (WebCore::InlineTextBox::paint):
        Make sure the text that is drawn gets appropriately truncated. This was
        not an issue before on Mac OS X because it wasn't necessary to draw the
        selected text separately (the selected text had the same color as the
        non-selected text).
        (WebCore::InlineTextBox::paintSelection):
        If the text is being truncated, let whatever is being painted in the
        space after the truncated text paint its own highlight. 
        
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::truncation):
        Allow RenderText to access the truncation status.
        
        * rendering/RenderText.cpp:
        (WebCore::RenderText::selectionRectForRepaint):
        Make sure that any ellipsis box that falls within the selection also
        gets repainted.

2009-12-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: add Settings.js class that would manage
        frontend settings.

        This change:
        - Splits preferences and settings
        - Pushes settings to the frontend on load
        - Stores settings on each change
        - Stores showInheritedStyles as setting.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::saveFrontendSettings):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::populateFrontendSettings):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
        (WebInspector.EventListenersSidebarPane.prototype):
        ():
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub):
        (.WebInspector.InspectorBackendStub.prototype.saveFrontendSettings):
        (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub):
        (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
        (WebInspector.ResourcesPanel.prototype._setLargerResources):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
        * inspector/front-end/Settings.js: Added.
        (WebInspector.populateFrontendSettings):
        (WebInspector.Settings):
        (WebInspector.Settings.prototype._load):
        (WebInspector.Settings.prototype._installSetting):
        (WebInspector.Settings.prototype._get):
        (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.StylePropertiesSection.showInheritedToggleFunction):
        (WebInspector.StylePropertiesSection):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane):
        (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
        (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
        (WebInspector.WatchExpressionsSection):
        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2009-12-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: [REGRESSION] console's clear command does not work.

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

        Test: inspector/console-clear.html

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::clearConsoleMessages):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype.requestClearConsoleMessages):
        (WebInspector.ConsoleView.prototype.clearConsoleMessages):
        (WebInspector.ConsoleView.prototype._clearButtonClicked):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.clearConsoleMessages):
        (InjectedScript._ensureCommandLineAPIInstalled):
        * inspector/front-end/InjectedScriptAccess.js:
        * inspector/front-end/inspector.js:
        (WebInspector.clearConsoleMessages):
        (WebInspector.reset):

2009-12-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Console dumps strings in escaped form.

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

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

2009-12-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=32905
        With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion

        Test: platform/mac/editing/input/selection-change-closes-typing.html

        * editing/Editor.cpp: (WebCore::Editor::confirmComposition): If this function wasn't allowed
        to change selection, it needs to close the current typing command - otherwise, its idea of
        selection would be used for future typing.

2009-12-23  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Eric Seidel.

        PlatformContextSkia::beginLayerClippedToImage() needs to clip outside of the image.
        
        This method should limit the current painting window to the bounds of the given
        image, but it did not. Due to this bug, unnecessary contents were rendered in
        some (limited) situations.

        [Skia] PlatformContextSkia::beginLayerClippedToImage does not clip outside of the image
        https://bugs.webkit.org/show_bug.cgi?id=32817
        
        No new tests, because this is a fix of an existing test which is currently failing in
        Chromium.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::beginLayerClippedToImage): Add clipRect() call.

2009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Eric Seidel.

        Remove all references to "GenerateConstructor", as this is the default behaviour now.

        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSValue.idl:
        * css/CSSValueList.idl:
        * css/CSSVariablesDeclaration.idl:
        * css/CSSVariablesRule.idl:
        * css/Counter.idl:
        * css/Media.idl:
        * css/MediaList.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/Attr.idl:
        * dom/BeforeLoadEvent.idl:
        * dom/CDATASection.idl:
        * dom/CharacterData.idl:
        * dom/ClientRect.idl:
        * dom/ClientRectList.idl:
        * dom/Clipboard.idl:
        * dom/Comment.idl:
        * dom/CompositionEvent.idl:
        * dom/DOMCoreException.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/DocumentFragment.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/ErrorEvent.idl:
        * dom/Event.idl:
        * dom/EventException.idl:
        * dom/KeyboardEvent.idl:
        * dom/MessageEvent.idl:
        * dom/MessagePort.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/NodeIterator.idl:
        * dom/NodeList.idl:
        * dom/Notation.idl:
        * dom/OverflowEvent.idl:
        * dom/PageTransitionEvent.idl:
        * dom/PopStateEvent.idl:
        * dom/ProcessingInstruction.idl:
        * dom/ProgressEvent.idl:
        * dom/Range.idl:
        * dom/RangeException.idl:
        * dom/Text.idl:
        * dom/TextEvent.idl:
        * dom/Touch.idl:
        * dom/TouchEvent.idl:
        * dom/TouchList.idl:
        * dom/TreeWalker.idl:
        * dom/UIEvent.idl:
        * dom/WebKitAnimationEvent.idl:
        * dom/WebKitTransitionEvent.idl:
        * dom/WheelEvent.idl:
        * html/DataGridColumn.idl:
        * html/DataGridColumnList.idl:
        * html/File.idl:
        * html/FileList.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLAudioElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDataGridCellElement.idl:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.idl:
        * html/HTMLDataListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFieldSetElement.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/HTMLMarqueeElement.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/HTMLSelectElement.idl:
        * html/HTMLSourceElement.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/HTMLTitleElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * html/ImageData.idl:
        * html/MediaError.idl:
        * html/TextMetrics.idl:
        * html/canvas/CanvasNumberArray.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorFrontendHost.idl:
        * page/PositionError.idl:
        * plugins/MimeType.idl:
        * plugins/MimeTypeArray.idl:
        * plugins/Plugin.idl:
        * plugins/PluginArray.idl:
        * storage/Storage.idl:
        * storage/StorageEvent.idl:
        * svg/SVGAngle.idl:
        * svg/SVGColor.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGException.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEFloodElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGGradientElement.idl:
        * svg/SVGLength.idl:
        * svg/SVGMarkerElement.idl:
        * svg/SVGPaint.idl:
        * svg/SVGPathSeg.idl:
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGRenderingIntent.idl:
        * svg/SVGTextContentElement.idl:
        * svg/SVGTextPathElement.idl:
        * svg/SVGTransform.idl:
        * svg/SVGUnitTypes.idl:
        * svg/SVGZoomAndPan.idl:
        * workers/AbstractWorker.idl:
        * workers/WorkerLocation.idl:
        * xml/DOMParser.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XMLHttpRequestProgressEvent.idl:
        * xml/XMLHttpRequestUpload.idl:
        * xml/XMLSerializer.idl:
        * xml/XPathEvaluator.idl:
        * xml/XPathException.idl:
        * xml/XPathExpression.idl:
        * xml/XPathResult.idl:

2009-12-23  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        A new database should be registered with the Document,
        DatabaseTracker and DatabaseThread only after it was successfully
        opened and its version was successfully verified.

        Fixes a regression introduced by
        http://trac.webkit.org/changeset/52530.

        LayoutTests/storage/open-database-while-transaction-in-progress.html
        should pass again (or rather, it should pass again when run after
        open-database-set-empty-version.html).

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

        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::performOpenAndVerify):

2009-12-23  David Levin  <levin@chromium.org>

        REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
        https://bugs.webkit.org/show_bug.cgi?id=32903

        No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        (WebCore::SelectionController::setSelection):
        * editing/SelectionController.h:
        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible):
        (WebCore::Frame::selectionLayoutChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::needsLayout):

2009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        Reverse JS GenerateConstructor logic
        https://bugs.webkit.org/show_bug.cgi?id=32910

        Make 'GenerateConstructor' the default setting for all classes, defined in IDL files. The flag is now obsolete and
        can be removed from all IDL files in a follow-up patch. Add new 'OmitConstructor' flag, that allows to restore the
        old default behaviour: do not generate JSFoobarConstructor class.

        No change in functionality, despite the fact that we're generating a lot more constructors now, as they have to
        be exposed through DOMWindow.idl -- this can be done per affected class in follow-up patches. Especially the SVG
        classes have to be exposed, most of them are missing JS constructors so far.

        As side effect HTMLOptionsCollection is now correctly exposing its constructor, thus fixing a test in fast/dom/wrapper-classes.html

        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSUnknownRule.idl:
        * css/WebKitCSSMatrix.idl:
        * dom/EventListener.idl:
        * dom/EventTarget.idl:
        * dom/MessageChannel.idl:
        * html/TimeRanges.idl:
        * html/ValidityState.idl:
        * html/VoidCallback.idl:
        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasPattern.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/WebGLActiveInfo.idl:
        * html/canvas/WebGLArray.idl:
        * html/canvas/WebGLArrayBuffer.idl:
        * html/canvas/WebGLBuffer.idl:
        * html/canvas/WebGLByteArray.idl:
        * html/canvas/WebGLFloatArray.idl:
        * html/canvas/WebGLFramebuffer.idl:
        * html/canvas/WebGLIntArray.idl:
        * html/canvas/WebGLProgram.idl:
        * html/canvas/WebGLRenderbuffer.idl:
        * html/canvas/WebGLShader.idl:
        * html/canvas/WebGLShortArray.idl:
        * html/canvas/WebGLTexture.idl:
        * html/canvas/WebGLUniformLocation.idl:
        * html/canvas/WebGLUnsignedByteArray.idl:
        * html/canvas/WebGLUnsignedIntArray.idl:
        * html/canvas/WebGLUnsignedShortArray.idl:
        * inspector/JavaScriptCallFrame.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * notifications/Notification.idl:
        * notifications/NotificationCenter.idl:
        * page/AbstractView.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/Coordinates.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/EventSource.idl:
        * page/Geolocation.idl:
        * page/Geoposition.idl:
        * page/History.idl:
        * page/Location.idl:
        * page/Navigator.idl:
        * page/Screen.idl:
        * page/WebKitPoint.idl:
        * page/WorkerNavigator.idl:
        * storage/Database.idl:
        * storage/SQLError.idl:
        * storage/SQLResultSet.idl:
        * storage/SQLResultSetRowList.idl:
        * storage/SQLTransaction.idl:
        * websockets/WebSocket.idl:
        * workers/DedicatedWorkerContext.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/Worker.idl:
        * workers/WorkerContext.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XPathNSResolver.idl:
        * xml/XSLTProcessor.idl:

2009-12-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        "Refused to execute a JavaScript script" error when embedding SWF with
        a URL that is also a query parameter
        https://bugs.webkit.org/show_bug.cgi?id=32908

        Don't block direct injections into the object src attribute unless
        there's an illegal character (like < or ") in the URL.  This change
        lets some very unusual vulnerabilities through the filter but removes a
        false positive that we've seen several times.

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canLoadObject):

2009-12-23  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dmitry Titov.

        Remove pointers to a database that failed to open from the
        DatabaseTracker and Document.

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

        * storage/Database.cpp:
        (WebCore::Database::openDatabase):

2009-12-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7487164> First line of text cannot be selected
        https://bugs.webkit.org/show_bug.cgi?id=32749

        Test: fast/text/remove-zero-length-run.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionLineBox): Changed code that assumed that if a box was being
            removed, it was the only box in the RenderText. Instead, correctly preserve the list of
            text boxes.
        (WebCore::RenderText::checkConsistency): Updated for earlier rename.

2009-12-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Darin Adler.

        Fix for newlines turning into missing-gyphs when using SVG fonts

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

        Font::drawText() has three code paths:

          - drawTextUsingSVGFont()
          - drawSimpleText()
          - drawComplexText()

        The latter two both have logic to replace newlines and tabs, as well
        as a few other control characters that are considered spaces, with
        spaces, before actually drawing the text. Previously the SVG font
        path did not have this kind of logic.

        This change introduces two helper functions in Font to do this space
        replacement, which are then used for the simple path, the SVG path,
        and the Qt implementation of the complex path.

        Test: svg/custom/svg-fonts-in-html-linebreaks.html

        * platform/graphics/Font.cpp:
        (WebCore::Font::normalizeSpaces): Helper function
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Use helper
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::fromRawDataWithoutRef): Rename from "qstring"
        (WebCore::Font::drawComplexText): Use helper
        (WebCore::Font::floatWidthForComplexText): Use helper
        (WebCore::Font::offsetForPositionForComplexText): Use helper
        (WebCore::Font::selectionRectForComplexText): Use helper
        * platform/text/CharacterNames.h: Add enum for 0x0020
        * svg/SVGFont.cpp: Use helper to fix bug
        (WebCore::SVGTextRunWalker::walk):

2009-12-23  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        HTMLInputElement::valueAsDate getter support.
        https://bugs.webkit.org/show_bug.cgi?id=32876

        To implement the valueAsDate getter,
        - Add a method to calculate milliseconds from 1970-01-01 to ISODateTime.
        - Introduce m_type field to ISODateTime.

        Tests: fast/forms/input-valueasdate-date.html
               fast/forms/input-valueasdate-datetime.html
               fast/forms/input-valueasdate-datetimelocal.html
               fast/forms/input-valueasdate-month.html
               fast/forms/input-valueasdate-time.html
               fast/forms/input-valueasdate-week.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueAsDate):
          Implement it with ISODateTime::millisecondsSinceEpoch().
        (WebCore::HTMLInputElement::formStringToISODateTime):
          Early exit for a null String. This avoids assertion failures in ISODateTime::parse*().
        * html/ISODateTime.cpp:
        (WebCore::ISODateTime::parseMonth): Sets m_type.
        (WebCore::ISODateTime::parseDate): ditto.
        (WebCore::ISODateTime::parseWeek): ditto.
        (WebCore::ISODateTime::parseTime): ditto.
        (WebCore::ISODateTime::parseDateTimeLocal): ditto.
        (WebCore::ISODateTime::parseDateTime): ditto.
        (WebCore::ISODateTime::millisecondsSinceEpochForTime): Added.
        (WebCore::ISODateTime::millisecondsSinceEpoch): Added.
        * html/ISODateTime.h:
        (WebCore::ISODateTime::ISODateTime):
        (WebCore::ISODateTime::invalidMilliseconds):

2009-12-22  Daniel Bates  <dbates@webkit.org>

        Reviewed by Eric Seidel.

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

        Renames enums in RenderStyleConstants::EListStyleType to conform to
        the WebKit Code Style Guidelines.

        No functionality was changed. So, no new tests.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EListStyleType):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::styleDidChange):
        * rendering/RenderListMarker.cpp:
        (WebCore::listMarkerText):
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::calcPrefWidths):
        (WebCore::RenderListMarker::updateMargins):
        (WebCore::RenderListMarker::getRelativeMarkerRect):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialListStyleType):
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-12-22  James Su  <suzhe@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Keyboard shortcut in dropdown not working.
        https://bugs.webkit.org/show_bug.cgi?id=32008

        Consider PlatformKeyboardEvent::Char type event as character type
        event on all platforms. It fixes the "type ahead find" feature
        of the popup listbox on Linux and Mac platforms.

        Merge the case-sensitive type ahead find fix from
        WebCore/dom/SelectElement.cpp. See
        https://bugs.webkit.org/show_bug.cgi?id=29103

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::isCharacterTypeEvent):

2009-12-22  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] The "Search" input type is not rendered correctly when styled.
        https://bugs.webkit.org/show_bug.cgi?id=32417

        There are no new tests because only pixel tests may be affected by
        this change and those changes can only be done on the build bot.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintSearchField):
        Since currently we paint the Search control as a QLineEdit, I have
        deferred painting to WebCore, as in the case of the text input so 
        that the painting is consistent.

2009-12-22  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        https://bugs.webkit.org/show_bug.cgi?id=32121
        [Qt] implement ImageDecoderQt::clearFrameBufferCache().
       
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::initializeDecoder):
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::clearFrameBufferCache):
        * platform/graphics/qt/ImageDecoderQt.h:

2009-12-22  Nayan Kumar K  <nayankk@gmail.com>

        Reviewed by Eric Seidel.

        Fix assert failure with WML pages having 'Refresh' task in
        'onenterforward' event.

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

        Writing Layout test is not possible. Please refer to the discussion
        in bug id #30989. A sample test case is attached in BugZilla.

        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):

2009-12-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        ASSERTION FAILED: m_numNodeListCaches
        https://bugs.webkit.org/show_bug.cgi?id=19526
        <rdar://problem/7431572>

        Test: fast/dom/NodeList/adoptNode-node-list-cache.html

        * dom/Node.cpp:
        (WebCore::Node::setDocument): Call removeNodeListCache on the old
        document and addNodeListCache on the new one if moving a node that
        has node lists.

2009-12-22  Darin Adler  <darin@apple.com>

        First cut at fixing Windows build.

        * WebCorePrefix.cpp: Touch it.

2009-12-22  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        Turn off datagrid by default, at least for all platforms Apple ships.
        The datagrid implementation isn't ready for general web use yet.

        * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
        * WebCore.vcproj/build-generated-files.sh: Ditto.
        * page/DOMWindow.idl: Sorted things here to touch the file to give
        the Windows build a slightly better chance of success.

2009-12-22  Darin Adler  <darin@apple.com>

        Rubber stamped by Dan Bernstein.

        * page/FrameView.h: Removed incorrect comment.

2009-12-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: simplify highlighter definition.

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

        * inspector/front-end/CSSSourceSyntaxHighlighter.js:
        (WebInspector.CSSSourceSyntaxHighlighter):
        * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js:
        (WebInspector.JavaScriptSourceSyntaxHighlighter.):
        (WebInspector.JavaScriptSourceSyntaxHighlighter):
        * inspector/front-end/SourceSyntaxHighlighter.js:
        (WebInspector.SourceSyntaxHighlighter.prototype.lex):
        * inspector/front-end/utilities.js:
        ():

2009-12-21  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Reentrancy problem with selection in some edge cases.
        https://bugs.webkit.org/show_bug.cgi?id=32842
        rdar://problem/7449974

        Test: fast/forms/selection-layout-reentry-strange-case.html

        Move the selection display update process done in the
        selectionLayoutChanged function into the layout timer
        instead of doing it immediately when selection changes occur.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        Initialize m_needsDisplayUpdate to false.
        (WebCore::SelectionController::setSelection): Call
        the new setNeedsDisplayUpdate function instead of the old
        badly named Frame::selectionLayoutChanged function.
        (WebCore::SelectionController::setNeedsDisplayUpdate):
        Set m_needsDisplayUpdate. If it is just becoming true, then
        call FrameView::scheduleRelayout.

        * editing/SelectionController.h: Added setNeedsDisplayUpdate,
        needsDisplayUpdate, and m_needsDisplayUpdate.

        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
        (WebCore::Frame::selectionLayoutChanged): Call
        setNeedsDisplayUpdate to set it to false, since this is the
        function that performs "selection display update". Later I want
        to rename this function.

        * page/FrameView.cpp:
        (WebCore::FrameView::needsLayout): Add a new clause, since
        we need a call to layout if needsDisplayUpdate is true.

2009-12-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        Allocate RemoteFontStream on the heap
        https://bugs.webkit.org/show_bug.cgi?id=32850

        RemoteFontStream is allocated on the stack, so its memory is freed
        immediately when FontCustomPlatformData::createFontCustomPlatformData
        returns. 

        SkTypeface::CreateFromStream increments the reference count, but it keeps
        the pointer to the memory allocated on the stack which is not valid
        anymore.

        RemoteFontStream is a descendant of SkRefCount and SkRefCount::unref
        invokes SkDELETE(this) internally once the reference count reaches zero.
        This means that SkRefCount-ed instances must be allocated on the heap.

        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::createFontCustomPlatformData):

2009-12-22  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        when condition COMPILER(RVCT) is fulfilled, we are trying to free a pointer to array allocated on the stack
        https://bugs.webkit.org/show_bug.cgi?id=32861

        Don't free the pointer for COMPILER(RVCT).

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::error):

2009-12-22  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Dan Bernstein.

        Remove no longer necessary experimental single view #ifdefs from Widget and
        ScrollView.

        * page/Chrome.h:
        * page/mac/ChromeMac.mm:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/Widget.cpp:
        * platform/Widget.h:
        * platform/mac/ScrollViewMac.mm:
        * platform/mac/WidgetMac.mm:

2009-12-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Do not lose original request for non-main resource redirects.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::appendRedirect):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):

2009-12-21  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        Use ASSERT instead of assert in image-decoders
        https://bugs.webkit.org/show_bug.cgi?id=32852

        Other decoders use WTF's ASSERT macro.
        Follow this convention.

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

2009-12-21  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        Use vsnprintf instead of vasprintf for RVCT.
        https://bugs.webkit.org/show_bug.cgi?id=32851

        RVCT does not support vasprint, so use vsnprintf instead.

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::error):

2009-12-21  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Invalid url should raise SYNTAX_ERR exception.
        https://bugs.webkit.org/show_bug.cgi?id=32700

        Check url is valid in WebSocket::connect.
        Also log the detailed reason of websocket failures to console.

        * websockets/WebSocket.cpp:
        (WebCore::encodeProtocolString):
        (WebCore::WebSocket::connect):

2009-12-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Make sure that we check for the right thread.

        * platform/mac/WebCoreObjCExtras.mm:
        (WebCoreObjCScheduleDeallocateOnMainThread):

2009-12-21  Enrica Casucci  <enrica@apple.com>

        Reviewed by Maciej Stachowiak.

        REGRESSION(4.0.4-ToT): Indent deletes non highlighted text in gmail.
        <rdar://problem/7489326>
        https://bugs.webkit.org/show_bug.cgi?id=32843
        
        The fix for 7442387 did not handle the case where the end of paragraph
        is not a descendant of the computed outer block.
        Updated editing/execCommand/indent-with-style2.html to cover this case too.

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

2009-12-21  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=32831
        Replace UString::Rep implementation, following introduction of ropes to JSC.

        * ForwardingHeaders/runtime/UStringImpl.h: Added.
            - add forwarding header.

        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::ustring):
            - order of arguments to UString::Rep constructor for shared strings changed.

2009-12-18  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam barth.

        Generate V8 bindings non-constructor callback declarations 
        in CodeGeneratorV8.pm instead of manually declaring them in
        V8CustomBinding.h.

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

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
        * bindings/v8/custom/V8DOMParserConstructor.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added.
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        * bindings/v8/custom/V8HistoryCustom.cpp:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        * bindings/v8/custom/V8LocationCustom.cpp:
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        * bindings/v8/custom/V8NodeCustom.cpp:
        * bindings/v8/custom/V8NodeFilterCustom.cpp:
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        * bindings/v8/custom/V8WorkerCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:

2009-12-21  Nate Chapin  <japhet@chromium.org>

        Rubber-stamped by Darin Adler.

        Revert r52446 due to crashiness.

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

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::pageHidden):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::suppressOpenerInNewFrame):
        * loader/Request.cpp:
        (WebCore::Request::Request):
        (WebCore::Request::~Request):
        * loader/Request.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * loader/SubresourceLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::Host::servePendingRequests):
        (WebCore::Loader::Host::cancelPendingRequests):
        (WebCore::Loader::Host::cancelRequests):

2009-12-19  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adam Barth.

        Add support for V8 Date binding.
        https://bugs.webkit.org/show_bug.cgi?id=32699

        This implements the same behavior as the recent change of
        CodeGeneratorJS.pm and JSDOMBinding.cpp.

        * bindings/scripts/CodeGeneratorV8.pm:
          Produce toWebCoreDate() or v8DateOrNull() for Date type.
        * bindings/v8/V8Binding.cpp:
        (WebCore::toWebCoreDate):
          Converts a JavaScript object to a double representing Date.
        (WebCore::v8DateOrNull):
          Converts a double representing Date to a JavaScript Date object or null.
        * bindings/v8/V8Binding.h: Declare toWebCoreDate() and v8DateOrNull().
        * html/HTMLInputElement.idl: Delete V8_BINGIN exclusion for valueAsDate.

2009-12-21  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        Renamed m_sel to m_selection. Used do-webcore-rename.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::nodeWillBeRemoved):
        (WebCore::SelectionController::willBeModified):
        (WebCore::SelectionController::directionOfEnclosingBlock):
        (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::expandUsingGranularity):
        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
        (WebCore::SelectionController::setBase):
        (WebCore::SelectionController::setExtent):
        (WebCore::SelectionController::layout):
        (WebCore::SelectionController::caretRenderer):
        (WebCore::SelectionController::invalidateCaretRect):
        (WebCore::SelectionController::paintCaret):
        (WebCore::SelectionController::debugRenderer):
        (WebCore::SelectionController::contains):
        (WebCore::SelectionController::selectAll):
        (WebCore::SelectionController::formatForDebugger):
        (WebCore::SelectionController::showTreeForThis):
        * editing/SelectionController.h:
        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * editing/mac/SelectionControllerMac.mm:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        Let the script do its thing. Made sure no tests broke.

2009-12-21  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

        Inconsistent use of counterName and identifier in CSS counter code and loss of information about the counter type.
        https://bugs.webkit.org/show_bug.cgi?id=31814

        No new tests because there are no functional changes in this patch.

        * rendering/CounterNode.cpp:
        (WebCore::CounterNode::CounterNode):
        (WebCore::CounterNode::computeCountInParent):
        (WebCore::showTreeAndMark):
        * rendering/RenderCounter.cpp:
        (WebCore::planCounter):
        (WebCore::findPlaceForCounter):
        (WebCore::makeCounterNode):
        (WebCore::RenderCounter::originalText):
        Changed to use identifier instead of counterName and actsAsReset or hasResetType, as appropriate instead of isReset.
        * rendering/CounterNode.h:
        (WebCore::CounterNode::actsAsReset):
        (WebCore::CounterNode::hasResetType):

2009-12-21  Dirk Schulze  <krit@webkit.org>

        Reviewed by Darin Adler and Nikolas Zimmermann.

        Speed-up SVG Masking
        https://bugs.webkit.org/show_bug.cgi?id=32738

        This patch makes SVG Masking faster. The luminance calculaton of the ImageBuffer,
        that is created by pixel manipulation, got optimized. The ImageBuffer and it's
        luminance is created once now, not on every call of applyMask.
        The size of the intermediate ImageBuffer depends on the visible area now and is
        clipped by the mask rect.
        
        The patch doesn't change functionality so no new tests needed.
        The new ImageBuffer handling in Mask causes two updates of test results. The pixel
        tests and LayoutTests pass, but the checksum doesn't match.

        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):

2009-12-21  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Fix assertion failure when dragging an SVG image.
        https://bugs.webkit.org/show_bug.cgi?id=32511

        Test: fast/images/drag-svg-as-image.html

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::filenameExtension): Return "svg"
        * svg/graphics/SVGImage.h:

2009-12-17  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
        https://bugs.webkit.org/show_bug.cgi?id=32661

        Removed useless calls to the G_OBJECT() macro and replaced NULL
        occurences with a SENTINEL macro.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::hasVideo):
        (WebCore::MediaPlayerPrivate::hasAudio):
        (WebCore::MediaPlayerPrivate::setVolume):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):

2009-12-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Adler.

        If an image load is started during an unload or beforeunload event, run it
        asynchronously (and allow it to outlive its page) so navigation can continue 
        while the load completes.

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

        Tests: http/tests/navigation/image-load-in-beforeunload-handler.html
               http/tests/navigation/image-load-in-unload-handler.html

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadRequest): 
        * loader/FrameLoader.cpp: Rename m_unloadEventBeingDispatched to m_isDispatchingUnloadEvent.
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Set m_isDispatchingBeforeUnloadEvent.
        (WebCore::FrameLoader::pageHidden):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::isDispatchingUnloadFamilyEvent): Added.
        * loader/Request.cpp:
        (WebCore::Request::Request): Add OutlivePagePolicy to constructor parameters
        * loader/Request.h:
        (WebCore::): Add OutlivePagePolicy enum.
        (WebCore::Request::shouldOutlivePage): Added.
        (WebCore::Request::frame): Added.
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create): Change one of the security checks to an outlive page check.
        * loader/SubresourceLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::load): Add OutlivePagePolicy to Request constructor call,
             ensure requests that should outlive page are done asynchronously.
        (WebCore::Loader::cancelRequests): Remove ending ASSERT since it will now be hard to predict how
             many requests might possibly outlive a cancel in every case.
        (WebCore::Loader::Host::servePendingRequests): Use the correct frame in the case of a request outliving its page.
        (WebCore::Loader::Host::cancelPendingRequests): Ensure we don't cancel request that should outlive their page.
        (WebCore::Loader::Host::cancelRequests): Ensure we don't cancel request that should outlive their page.

2009-12-18  Adam Roben  <aroben@apple.com>

        Fix Windows build warnings

        * WebCore.vcproj/WebCore.vcproj: Exclude SVG files from the build that
        are compiled via SVGAllInOne.cpp.

2009-12-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Can’t copy outer html of selected node.
        Also adds "Copy as HTML" context menu item.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector.documentCanCopy):

2009-12-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Eric Seidel.

        Web Inspector: extract syntax highlighters into separate files.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added.
        (WebInspector.CSSSourceSyntaxHighlighter):
        * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added.
        (WebInspector.JavaScriptSourceSyntaxHighlighter):
        (WebInspector.JavaScriptSourceSyntaxHighlighter.):
        * inspector/front-end/SourceFrame.js:
        * inspector/front-end/SourceSyntaxHighlighter.js: Added.
        (WebInspector.SourceSyntaxHighlighter):
        (WebInspector.SourceSyntaxHighlighter.prototype.createSpan):
        (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
        (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
        (WebInspector.SourceSyntaxHighlighter.prototype.process):
        (WebInspector.SourceSyntaxHighlighter.prototype.lex):
        (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
        (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-12-18  Julien Chaffraix  <jchaffraix@pleyo.com>

        Reviewed by Darin Adler.

        defersLoading is disabled in current libcURL.
        https://bugs.webkit.org/show_bug.cgi?id=32707

        Basically this change reverts r49577 that was totally wrong.
        According to curlver.h, LIBCURL_VERSION_NUM is a
        "6-digit (24 bits) hexadecimal number".

        The check should be against 0x071200 (7.18) as it was originally the case.

       * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::initializeHandle): Use the right check.
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::setDefersLoading): Ditto. Also removed a print
        to use a LOG_ERROR instead.
 
2009-12-20  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Add support for JavaScriptCore Date binding.
        https://bugs.webkit.org/show_bug.cgi?id=32698

        This is needed for HTMLInputElement::valueAsDate and
        HTMLTimeElement::valueAsDate.

        A Date instance is mapped to a double value in C++.
        - If null or undefined is set to a JavaScript property, C++ setter
          function receives NaN.
        - If a getter C++ function returns NaN or infinity, a JavaScript
          property returns null.

        Test: fast/forms/input-valueasdate.html

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsDateOrNull): Implement the above.
        (WebCore::valueToDate): ditto.
        * bindings/js/JSDOMBinding.h: Declare them.
        * bindings/scripts/CodeGeneratorJS.pm: Produce jsDateOrNull() or
          valueToDate() for Date type.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueAsDate): Temporal implementation.
        (WebCore::HTMLInputElement::setValueAsDate): ditto.
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl: Declare valueAsDate.

2009-12-20  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Introduce the followings:
          - ::-webkit-inner-spin-button pseudo CSS selector
          - ::-webkit-outer-spin-button pseudo CSS selector
          - new appearance type: inner-spin-button
          - new appearance type: outer-spin-button
        They're going to be used for <input type=number> UI.
        https://bugs.webkit.org/show_bug.cgi?id=31821

        Inner-spin-button will be used for Windows, and outer-spin-button
        will be used for Mac. A spin-button will represent a pair of an
        increasing button part and a decreasing button part. SpinUpState,
        which is defined in ThemeTypes.h, will be used to distinguish
        these two parts.

        The outer-spin-button implementation will use NSStepperCell.
        NSStepperCell represents the pair of the parts and we can't draw them
        independently. So a spin-button also represents the pair of the parts.

        This change has no tests.  The following changes with tests will cover.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * css/CSSValueKeywords.in:
        * css/html.css:
        * platform/ThemeTypes.h:
        (WebCore::ControlState): Add SpinUpState.
        (WebCore::ControlPart): Add InnerSpinButtonPart and OuterSpinButtonPart.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::adjustInnerSpinButtonStyle): Add an empty implementation.
        (WebCore::RenderTheme::adjustOuterSpinButtonStyle): Add an empty implementation.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintInnerSpinButton): Add an empty implementation.
        (WebCore::RenderTheme::paintOuterSpinButton): Add an empty implementation.
        * rendering/style/RenderStyleConstants.h:
        (WebCore::PseudoId): Add INNER_SPIN_BUTTON and OUTER_SPIN_BUTTON.

2009-12-20  Nayan Kumar K  <nayankk@gmail.com>

        Reviewed by Darin Adler.

        Fix for compilation errors in WML module, due to the changeset #52314.
        https://bugs.webkit.org/show_bug.cgi?id=32786

        No new tests, this is compilation error fix.

        * wml/WMLDocument.cpp:
        * wml/WMLPageState.cpp:
        * wml/WMLPageState.h:

2009-12-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/7487689> REGRESSION (r52203): Inspector console uses
        Monaco on Snow Leopard
        https://bugs.webkit.org/show_bug.cgi?id=32775

        * inspector/front-end/inspector.css: Use the default monospace family
        and size.

2009-12-20  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] Remove more GTK+ and GLib headers from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=32795

        Remove most GTK+ and GLib includes from WebCore headers.

        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        * platform/gtk/PasteboardHelper.h:
        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/ScrollbarGtk.cpp:
        * platform/gtk/ScrollbarThemeGtk.h:
        * platform/gtk/gtk2drawing.c:
        * platform/gtk/gtkdrawing.h:

2009-12-20  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] build fixes after recent changes.

        * bindings/BindingSecurityBase.cpp: Removed V8 header in common code.
        * platform/wx/ContextMenuWx.cpp: Added missing header.
        * plugins/mac/PluginViewMac.cpp: Added missing header.

2009-12-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Hopefully fix the assertion we are hitting by not forcing updating
        the state of scrollbars when setting the adjustments. This was
        leading to a premature layout.

        fast/dom/open-and-close-by-DOM.html
        fast/dom/Window/closure-access-after-navigation-window.html
        fast/harness/use-page-cache.html

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

2009-12-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Darin Adler.

        Web Inspector: Constrain the number of messages the inspector shows.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::populateScriptObjects):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/inspector.js:
        (WebInspector.updateConsoleMessageExpiredCount):

2009-12-20  Andrei Popescu  <andreip@google.com>

        Reviewed by Adam Barth.

        [Android] Android needs implementation of setCookies, cookies and cookiesEnabled functions.
        https://bugs.webkit.org/show_bug.cgi?id=32559

        Add implementation of the cookie functions.
        Fix a crash caused by dereferencing a 0 MainResourceLoader pointer
        in ResourceHandle::start().

        No new tests, this is platform code.

        * platform/android/PlatformBridge.h:
        * platform/network/android/AuthenticationChallenge.h: Added.
        * platform/network/android/CookieJarAndroid.cpp: Added.
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::start):

2009-12-19  Eric Seidel  <eric@webkit.org>

        No review, rolling out r52395.
        http://trac.webkit.org/changeset/52395

        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGMaskElement.h:
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/SVGResourceMasker.h:

2009-12-19  Adam Barth  <abarth@webkit.org>

        No review, rolling out r52399.
        http://trac.webkit.org/changeset/52399

        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):

2009-12-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Added a missing "not".

        Test: http/tests/security/xss-DENIED-window-open-javascript-url.html

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::createWindow):

2009-12-19  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Invalid url should raise SYNTAX_ERR exception.
        https://bugs.webkit.org/show_bug.cgi?id=32700

        Check url is valid in WebSocket::connect.
        Also log the detailed reason of websocket failures to console.

        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):

2009-12-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Up/down arrow keys do not step numeric CSS property values
        https://bugs.webkit.org/show_bug.cgi?id=32776

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown): Call the focused element’s
        handleKeyEvent method.

2009-12-19  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Speed-up SVG Masking
        https://bugs.webkit.org/show_bug.cgi?id=32738

        This patch makes SVG Masking faster. At the moment we create a new ImageBuffer
        and copy the complete pixel array. That is rather inefficient. This patch
        uses the mask image directly.
        It also bounds the direct pixel manipultation to the viewable area to minimize
        the calculation of the mask.

        No change in functionality. So no new test.

        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGMaskElement.h:
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/SVGResourceMasker.h:

2009-12-19  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add tests to check filter, mask, clip, opacity and marker ordering
        https://bugs.webkit.org/show_bug.cgi?id=14010

        The right ordering for applying effects on objects in SVG is filters,
        clipper/masker and opacity. This patch fixes the order of filter and
        clipper/masker. Opacity and marker need another test.
        This change is according to the SVG Specification:
        http://www.w3.org/TR/SVG11/render.html#Elements

        Test: svg/filters/filter-clip.svg

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):

2009-12-19  Evan Martin  <evan@chromium.org>

        Reviewed by Gustavo Noronha Silva.

        Revert my attempt at making --disable-geolocation work; it is
        more complicated than I anticipated.  (It passed on the build bots
        because they build with --enable-geolocation.)

        * GNUmakefile.am:

2009-12-19  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Darin Adler.

        WebCore::Range::surroundContents NULL pointer crash.

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

        Test: fast/dom/Range/31684.html

        * dom/Range.cpp:
        (WebCore::Range::surroundContents):
        throw exception when parentOfNewParent->parentNode() is NULL.

2009-12-19  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Gustavo Noronha Silva.

        Don't use an icon for all spelling guess menu items.

        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::gtkStockIDFromContextMenuAction):

2009-12-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed build fix. Missing \.

        * GNUmakefile.am:

2009-12-19  Evan Martin  <evan@chromium.org>

        Reviewed by Gustavo Noronha Silva.

        Make --disable-geolocation and --disable-svg work, by conditionally
        building the relevant files.

        * GNUmakefile.am:

2009-12-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Simon Fraser.

        Add a comment about some confusing code that otherwise would look like
        it might be a bug.
        https://bugs.webkit.org/show_bug.cgi?id=32534

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

2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Messed up the XCode file, trying to fix.

        * WebCore.xcodeproj/project.pbxproj:

2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed, fix typos in WebCore.xcodeproj.

        * WebCore.xcodeproj/project.pbxproj:

2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        SVGAngle / SVGPreserveAspectRatio should be POD types
        https://bugs.webkit.org/show_bug.cgi?id=32758

        Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just
        like it has been done for SVGMatrix / SVGLength before.

        This patch prepares removing the special DOMObjectWithSVGContext hack.
        No change in functionality, thus no new tests.

        * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it.
        * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength)
        * bindings/scripts/CodeGeneratorJS.pm: Ditto. 
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
        * bindings/v8/V8Index.h: Ditto.
        * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now.
        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGImage.h:
        * svg/SVGAngle.h:
        * svg/SVGAngle.idl:
        * svg/SVGAnimatedTemplate.h:
        (WebCore::):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * svg/SVGFitToViewBox.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        (WebCore::SVGImageElement::parseMappedAttribute):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::setOrientToAuto):
        (WebCore::SVGMarkerElement::setOrientToAngle):
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGMarkerElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::getCTM):
        * svg/SVGPreserveAspectRatio.h:
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::createSVGAngle):
        (WebCore::SVGSVGElement::inheritViewAttributes):
        * svg/SVGSVGElement.h:
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::SVGSymbolElement):
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::SVGViewElement):
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::SVGViewSpec):
        (WebCore::SVGViewSpec::setPreserveAspectRatioString):
        (WebCore::SVGViewSpec::parseViewSpec):

2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>

        Chromium build fix, no review.

        * storage/chromium/DatabaseTrackerChromium.cpp:

2009-12-18  Brent Fulgham  <bfulgham@webkit.org>

        Build fix, no review.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::createFontPlatformData): Correct my typo
          on the CG build.

2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
        the main thread when a database is being closed.

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

        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::removeOpenDatabaseOnMainThread):
        (WebCore::DatabaseTracker::removeOpenDatabase):

2009-12-18  Brent Fulgham  <bfulgham@webkit.org>

        Build fix, no review.

        * page/win/FrameCairoWin.cpp: Add missing include.
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::createFontPlatformData): Conditionalize
          Safari-only call.

2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dmitry Titov.

        Move some code related to database closing from the destructor to
        the close() method. This would allow us to do things such as post
        tasks to other threads when a database closes, which cannot be
        done now, because we cannot increment the ref count to a database
        object when we're in its destructor.

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

        * storage/Database.cpp:
        (WebCore::Database::~Database):
        (WebCore::Database::close):

2009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>

        REGRESSION(r52233): MSAA: Accessibility role of lists is wrong

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

        Reviewed by Adam Roben.

        Test: platform/win/accessibility/list-role.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::roleValueForMSAA):
        Return roleValue(), rather than m_role, as subclasses may override it.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::roleValueForMSAA):
        Fallback to roleValue(), rather than m_role, as it may be overriden.

2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of list items is wrong

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

        Reviewed by Adam Roben.

        Test: platform/win/accessibility/list-item-role.html

        * accessibility/AccessibilityObject.h:
        (WebCore::):
        Add a ListItemRole to the enum.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::msaaRoleForRenderer):
        Return the role for the RenderObject, or UnknownRole if unknown.
        (WebCore::AccessibilityRenderObject::roleValueForMSAA):
        Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
        back to m_role.

2009-12-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
        https://bugs.webkit.org/show_bug.cgi?id=31559
        
        Fix an array bounds error when accessing the CSS value for a shorthand property that takes
        a comma-separated list, after the list for one of the component properties has been set to a different length.

        Test: fast/css/shorthand-mismatched-list-crash.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):

2009-12-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Mark Rowe.

        Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.

        * WebCore.xcodeproj/project.pbxproj:

2009-12-18  Sam Weinig  <sam@webkit.org>

        Fix mac Geolocation build.

        * DerivedSources.make:
        * WebCore.ClientBasedGeolocation.exp: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * page/Geolocation.h:
        * page/GeolocationError.h:
        (WebCore::GeolocationError::GeolocationError):
        * page/GeolocationPosition.h:

2009-12-18  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Fixes <http://webkit.org/b/32613>.
        REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
        but should follow the link instead.

        The node itself isn't the only possible node that can be a link (that was the
        original check), any of its ancestors could be links as well, we need to climb
        up the tree to see. Created a new function (enclosingAnchorNode), that finds a
        node's enclosing anchor element (if it exists), that we can share between RenderLayer
        and Node, and also added tests that test pan scrolling behavior in image maps.

        Tests: platform/win/fast/events/panScroll-image-no-scroll.html
               platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
               platform/win/fast/events/panScroll-imageMap-noHref-scroll.html

        * dom/Node.cpp:
        (WebCore::Node::enclosingAnchorNode):
        (WebCore::Node::defaultEventHandler):
        * dom/Node.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest):

2009-12-18  Benjamin Otte  <otte@gnome.org>

        Reviewed by Xan Lopez.

        [GTK] RemoveDashboard support. It's useless.

        * GNUmakefile.am:

2009-12-18  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Xan Lopez.

        [GTK] context menu overriding API is very limited
        https://bugs.webkit.org/show_bug.cgi?id=27546

        Omit SearchWeb from the context menu in the GTK+ port.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2009-12-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add export the new symbol in WebCoreSystemInterface.

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

2009-12-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Forward declare NSMutableArray when not compiling for Objective-C.

        * platform/mac/WebCoreSystemInterface.h:

2009-12-18  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=32720
        Replace UString addition/append with use of JSC::StringBuilder.

        * ForwardingHeaders/runtime/StringBuilder.h: Added.
        * bindings/js/ScriptString.h:
        (WebCore::ScriptString::operator+=):
        * bridge/jni/jni_runtime.cpp:
        (appendClassName):
        (JavaMethod::signature):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
        (WebCore::InspectorController::addStartProfilingMessageToConsole):
        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):

2009-12-18  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Index validation for drawElements examines too many indices
        https://bugs.webkit.org/show_bug.cgi?id=32692

        Test: fast/canvas/webgl/bug-32692.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):

2009-12-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Update WebKitSystemInterface for <rdar://problem/7237059>.        

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2009-12-18  Adam Roben  <aroben@apple.com>

        GTK build fix

        * plugins/gtk/PluginViewGtk.cpp: Added #include.

2009-12-18  Adam Roben  <aroben@apple.com>

        Chromium build fix

        * platform/chromium/PopupMenuChromium.cpp: Added #include.

2009-12-18  Adam Roben  <aroben@apple.com>

        Chromium build fix

        * html/HTMLLinkElement.cpp: Added #include.

2009-12-18  Adam Roben  <aroben@apple.com>

        Qt build fix

        * platform/qt/RenderThemeQt.cpp:
        * plugins/qt/PluginDataQt.cpp:
        * plugins/qt/PluginViewQt.cpp:
        Added #includes.

2009-12-18  Adam Roben  <aroben@apple.com>

        V8 build fix

        * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.

2009-12-18  Adam Roben  <aroben@apple.com>

        GTK (and others?) build fix

        * platform/text/StringImpl.h: Added #include.

2009-12-18  Adam Roben  <aroben@apple.com>

        Reduce #includes in a few high-use headers

        Removed unnecessary #includes in these headers:
          - Frame.h
          - FrameWin.h
          - Node.h
          - Page.h
          - StringImpl.h

        The rest of the patch is all adding #includes to source files that now
        require them.

        Fixes <http://webkit.org/b/32718>.

        Rubber-stamped by Anders Carlsson.

        * dom/Node.h:
        * page/Frame.h:
        * page/Page.h:
        * page/win/FrameWin.h:
        * platform/text/StringImpl.h:
        Removed unnecessary #includes.

        * accessibility/win/AXObjectCacheWin.cpp:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * dom/Document.cpp:
        * dom/InputElement.cpp:
        * dom/Node.cpp:
        * dom/SelectElement.cpp:
        * editing/EditorCommand.cpp:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormElement.cpp:
        * html/HTMLMediaElement.cpp:
        * html/HTMLParser.cpp:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLVideoElement.cpp:
        * inspector/InspectorController.cpp:
        * loader/FrameLoader.cpp:
        * loader/HistoryController.cpp:
        * loader/appcache/ApplicationCacheGroup.cpp:
        * page/Console.cpp:
        * page/EventHandler.cpp:
        * page/Frame.cpp:
        * page/FrameView.cpp:
        * page/Navigator.cpp:
        * page/PageGroup.cpp:
        * page/Settings.cpp:
        * page/mac/EventHandlerMac.mm:
        * platform/KURL.h:
        * platform/ScrollbarThemeComposite.cpp:
        * platform/cf/BinaryPropertyList.cpp:
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        * platform/mac/PopupMenuMac.mm:
        * platform/mac/WidgetMac.mm:
        * platform/network/cf/DNSCFNet.cpp:
        * platform/text/StringImpl.cpp:
        * platform/win/FileSystemWin.cpp:
        * platform/win/PlatformScreenWin.cpp:
        * platform/win/PopupMenuWin.cpp:
        * platform/win/WidgetWin.cpp:
        * plugins/PluginView.cpp:
        * plugins/win/PluginViewWin.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderInline.cpp:
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RootInlineBox.cpp:
        * storage/DatabaseTracker.cpp:
        * storage/DatabaseTracker.h:
        * storage/SQLTransactionClient.cpp:
        * svg/graphics/SVGImage.cpp:
        Added now-needed #includes.

2009-12-18  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Darin Adler.

        Implemented isId as specified by DOM Level 3. See detailed description below.
        https://bugs.webkit.org/show_bug.cgi?id=5578

        Added isId property and implementation:
        Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
               fast/dom/Element/attrisid-extra01.html
        * dom/Attr.cpp:
        (WebCore::Attr::isId):
        * dom/Attr.h:
        * dom/Attr.idl:

        Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
        for the reason that id attribute name could be customized to a different
        string other than "id". A test case is associated to each code change.
        * dom/Document.cpp:
        (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
        * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeMap):
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        (WebCore::Element::formatForDebugger):
        (WebCore::Element::rareIDAttributeName):
        * dom/Element.h: Added function idAttributeName().
        (WebCore::Element::idAttributeName):
        * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
        (WebCore::ElementRareData::ElementRareData):
        * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
        (WebCore::NamedNodeMap::setNamedItem):
        (WebCore::NamedNodeMap::removeNamedItem):
        (WebCore::NamedNodeMap::setAttributes):
        * dom/Node.cpp: Removed ASSERT as it may not hold any more.
        (WebCore::Node::querySelector):
        * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
        (WebCore::createSelectorNodeList):
        * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
        (WebCore::StyledElement::parseMappedAttribute):
        * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
        (WebCore::DeleteButtonController::createDeletionUI):
        * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
        (WebCore::executeInsertHorizontalRule):
        * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        (WebCore::HTMLAppletElement::createRenderer):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
        (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
        (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
        (WebCore::HTMLFormCollection::getNamedFormItem):
        (WebCore::HTMLFormCollection::nextNamedItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
        * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
        (WebCore::HTMLMapElement::parseMappedAttribute):
        * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
        (WebCore::HTMLNameCollection::itemAfter):
        * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
        (WebCore::HTMLParamElement::parseMappedAttribute):
        * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
        (WebCore::CachedFont::getSVGFontById):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
        * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
        (WebCore::writeRenderResources):
        * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
        (WebCore::SVGElement::insertedIntoDocument):
        * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
        (WebCore::SVGStyledElement::isKnownAttribute):
        * wml/WMLElement.cpp:
        (WebCore::WMLElement::parseMappedAttribute):

2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds

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

        Introduce standalone_package as config that is set when QTDIR_build is set or when
        the directory for the generated files is present.

        Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
        Others remain as they are specific to building inside Qt.

        * WebCore.pro:

2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Fix the build on Symbian.

        Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
        which is a missing symbol in Qt 4.6.0 on Symbian.

        Functionally they should be equivalent, according to the source.

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getLastResortFallbackFont):

2009-12-18  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] segfault during controls initialization if not GTK theme is present.
        https://bugs.webkit.org/show_bug.cgi?id=32705

        Create empty images for the controls if no GTK theme is set.

        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::getThemeIconFileName):
        (WebCore::loadImageFromFile):

2009-12-18  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Darin Adler.

        REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
        at the beginning.
        https://bugs.webkit.org/show_bug.cgi?id=31920

        Moving up from a position after the end of the previous lines
        should use UPSTREAM affinity to render the caret in the previous
        line.

        Test: editing/selection/wrapped-line-caret-3.html

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

2009-12-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
        https://bugs.webkit.org/show_bug.cgi?id=32675

        Use the double constant 2.0 instead of static_cast<double>(2).

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

2009-12-17  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dan Bernstein.

        Bug 32357: SVG test case crashes WebKit (invalid font URL)
        https://bugs.webkit.org/show_bug.cgi?id=32357

        Added check for NULL return value from DocLoader::requestFont()

        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::loadFont):

2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dan Bernstein.

        marquee with display:inline causes crash
        https://bugs.webkit.org/show_bug.cgi?id=32374

        Test: fast/inline/inline-marquee-crash.html

        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::start):
        (WebCore::HTMLMarqueeElement::stop):
        (WebCore::HTMLMarqueeElement::suspend):
        (WebCore::HTMLMarqueeElement::resume):
        (WebCore::HTMLMarqueeElement::renderMarquee):
        * html/HTMLMarqueeElement.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::styleChanged):

2009-12-17  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for inspector's classes
        https://bugs.webkit.org/show_bug.cgi?id=32660                               

        Inherits the following classes from Noncopyable because these are
        instantiated by 'new' and no need to be copyable:                                           

        class name                  - instantiated at:  WebCore/'location'

        class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
        class ConsoleMessage        - inspector/InspectorController.cpp:329 
        class InspectorController   - page/Page.cpp:119

        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.h:
        * inspector/JavaScriptDebugServer.h:

2009-12-17  Steve Block  <steveblock@google.com>

        Reviewed by Eric Seidel.

        Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
        https://bugs.webkit.org/show_bug.cgi?id=32675

        Build fix only, no new tests.

        * html/HTMLInputElement.cpp: Modified.
        (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'

2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Eric Seidel.

        Fix link failure on LTCG builds on Windows for chromium port.

        Reenable SVGAllInOne.cpp. This required some fixups.

        Namely, there was conflicts in constants between HTMLNames and
        SVGNames, and conflicts between static functions names.

        No new tests as functionality has not changed.

        * WebCore.gyp/WebCore.gyp:
        * svg/SVGAllInOne.cpp:
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::invalidateGlyphCache):
        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::insertedIntoDocument):
        (WebCore::SVGHKernElement::removedFromDocument):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::type):
        (WebCore::SVGStyleElement::setType):
        (WebCore::SVGStyleElement::media):
        (WebCore::SVGStyleElement::setMedia):
        (WebCore::SVGStyleElement::title):
        (WebCore::SVGStyleElement::setTitle):
        (WebCore::SVGStyleElement::parseMappedAttribute):
        * svg/SVGStyledElement.cpp:
        (WebCore::mapAttributeToCSSProperty):
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/SVGStyledElement.h:

2009-12-17  Adam Roben  <aroben@apple.com>

        Chromium build fix VI

        * svg/animation/SMILTimeContainer.h: Added now-needed #include.

2009-12-17  Adam Roben  <aroben@apple.com>

        Chromium build fix V

        * platform/KURLGoogle.cpp: Added now-needed #include.

2009-12-17  Adam Roben  <aroben@apple.com>

        Chromium build fix IV

        * loader/CrossOriginPreflightResultCache.h: Added now-needed
        #includes.

2009-12-17  Adam Roben  <aroben@apple.com>

        Chromium build fix III

        * platform/graphics/Font.h: Added now-needed #include.

2009-12-17  Adam Roben  <aroben@apple.com>

        Chromium build fix II

        * dom/EventTarget.h: Added now-needed #include.

2009-12-17  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Eric Seidel.

        Allow custom memory allocation control for js bindings
        https://bugs.webkit.org/show_bug.cgi?id=32655

        Inherits the following classes from Noncopyable because these are instantiated 
        by 'new' and no need to be copyable:

        class name                  - instantiated at:  WebCore/'location'

        class ScriptCachedFrameData - history/CachedFrame.cpp:117
        class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
        class ScheduledAction       - bindings/js/ScheduledAction.cpp:58

        * bindings/js/JSDOMBinding.h:
        * bindings/js/ScheduledAction.h:
        * bindings/js/ScriptCachedFrameData.h:

2009-12-17  Adam Roben  <aroben@apple.com>

        Chromium build fix

        * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
        (which itself #includes HashFunctions.h).

2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: Incorrect Doctype.

        REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
        https://bugs.webkit.org/show_bug.cgi?id=32671

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):

2009-12-17  Benjamin Otte  <otte@gnome.org>

        Reviewed by Adam Roben.

        Don't include all JSC headers everywhere
        https://bugs.webkit.org/show_bug.cgi?id=32663

        Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
        Reduces code size of Gtk build by another 5%.

        * platform/text/PlatformString.h:

2009-12-17  Adam Roben  <aroben@apple.com>

        Mac/Qt build fixes

        * platform/graphics/mac/Canvas3DLayer.mm:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        * platform/qt/Localizations.cpp:
        Added missing #includes.

2009-12-17  Benjamin Otte  <otte@gnome.org>

        Reviewed by Adam Roben.

        Don't include all JSC headers everywhere
        https://bugs.webkit.org/show_bug.cgi?id=32663

        PlatformString.h included almost all of JSC via runtime/Identifier.h.
        This patch gets rid of this include by forward-declaring the required
        classes instead.
        This reduces the build size of the object files on a Gtk debug build
        by 10%. The resulting libwebkit.so gets 5% smaller.

        No new tests as it's just a build improvement.

        * platform/gtk/LocalizedStringsGtk.cpp:
        include math.h here (it used to be pulled by JSC)
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:

2009-12-17  Evan Martin  <evan@chromium.org>

        Reviewed by Xan Lopez.

        Always use all WebCore include paths in GtkWebKit.

        With this patch, I can disable all optional features and still build.

        * GNUmakefile.am:

2009-12-17  Yaar Schnitman  <yaar@chromium.org>

        Reviewed by Darin Fisher.

        Added WebPageSerializer to WebKit API.

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

        * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
        (WebCore::StringBuilder::clear):
        (WebCore::StringBuilder::length):
        * platform/text/StringBuilder.h:

2009-12-10  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Add controls for playing html5 video.
        https://bugs.webkit.org/show_bug.cgi?id=26304

        Media controls UI, first step. This patch was written by Zan
        Dobersek. In addition I fixed the compilation errors and
        re-enabled some of the media tests involving the controls UI.

        * GNUmakefile.am:
        * css/mediaControlsGtk.css: Added.
        * platform/graphics/Image.h:
        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::getThemeIconFileName):
        (WebCore::loadResourceSharedBuffer):
        (WebCore::loadImageFromFile):
        (WebCore::Image::loadPlatformResource):
        (WebCore::Image::loadPlatformThemeIcon):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::getMediaElementFromRenderObject):
        (WebCore::getIconNameForTextDirection):
        (WebCore::RenderThemeGtk::initMediaStyling):
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::~RenderThemeGtk):
        (WebCore::supportsFocus):
        (WebCore::RenderThemeGtk::baselinePosition):
        (WebCore::paintMozWidget):
        (WebCore::setToggleSize):
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
        (WebCore::RenderThemeGtk::gtkContainer):
        (WebCore::RenderThemeGtk::platformColorsDidChange):
        (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
        (WebCore::paintMediaButton):
        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
        (WebCore::RenderThemeGtk::paintMediaMuteButton):
        (WebCore::RenderThemeGtk::paintMediaPlayButton):
        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
        * platform/gtk/RenderThemeGtk.h:

2009-12-17  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] support navigator.onLine and ononline/onoffline events.
        https://bugs.webkit.org/show_bug.cgi?id=32555

        Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
        only if QtMobility's Bearer Management is installed.

        * WebCore.pro:
        * platform/network/NetworkStateNotifier.h:
        * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
        * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
        (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
        (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
        (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
        (WebCore::NetworkStateNotifier::updateState):
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):

2009-12-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Switch to 11px as default for source-code in WebKit.

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

        * inspector/front-end/inspector.css:

2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
        make sure we pick up the header file from QtCore. That is where the implementation
        is compiled.

        * dom/XMLTokenizer.h:

2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
        https://bugs.webkit.org/show_bug.cgi?id=21599

        Add GRefPtr support for GTK types to WebCore, as JSC does not link against
        GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.

        No new tests as functionality has not changed.

        * GNUmakefile.am:
        * platform/PopupMenu.h:
        * platform/gtk/GRefPtrGtk.cpp: Added.
        (WTF::refGPtr):
        (WTF::derefGPtr):
        * platform/gtk/GRefPtrGtk.h: Added.
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::menuRemoveItem):

2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Advice links to source code in CPU profiler to open in debugger,
        not in resources tab.

        Also work around the case when resources are disabled, but scripts are present.

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

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.updateMainViewWidth):
        (WebInspector.Panel.prototype.canShowSourceLineForURL):
        (WebInspector.Panel.prototype.showSourceLineForURL):
        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.createCell):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
        (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.scriptForURL):
        (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
        (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/inspector.js:
        (WebInspector.documentClick.followLink):
        (WebInspector.documentClick):
        (WebInspector._choosePanelToShowSourceLineForURL):
        (WebInspector.canShowSourceLineForURL):
        (WebInspector.showSourceLineForURL):

2009-12-15  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] display FPS stats for video element
        https://bugs.webkit.org/show_bug.cgi?id=32560

        Display FPS statistics if WEBKIT_DEBUG environment variable
        contains the Media log category. This feature requires a very
        recent (>= 0.10.18) version of gst-plugins-bad.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2009-11-11  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
        https://bugs.webkit.org/show_bug.cgi?id=30377

        Emit volumeChanged and durationChanged upon notification from
        GStreamer.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateMessageCallback):
        (WebCore::mediaPlayerPrivateVolumeCallback):
        (WebCore::notify_volume_idle_cb):
        (WebCore::MediaPlayerPrivate::didEnd):
        (WebCore::MediaPlayerPrivate::durationChanged):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2009-12-16  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] segfault during volume notification
        https://bugs.webkit.org/show_bug.cgi?id=32603

        Emit volumeChanged and durationChanged upon notification from
        GStreamer. Also don't reset the volume property on playbin, it is
        not needed as it is 1.0 by default both on playbin and in the
        MediaPlayer.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateMessageCallback):
        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
        (WebCore::notifyVolumeIdleCallback):
        (WebCore::doGstInit):
        (WebCore::MediaPlayerPrivate::isAvailable):
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::volumeChanged):
        (WebCore::MediaPlayerPrivate::didEnd):
        (WebCore::MediaPlayerPrivate::durationChanged):
        (WebCore::mimeTypeCache):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2009-12-17  Evan Martin  <evan@chromium.org>

        Reviewed by Xan Lopez.

        gtk: always use standard include paths, regardless of settings.
        WebKit style is to wrap the body of a header in #if ENABLE(FOO),
        so they're always safe to include whether the features are enabled or
        not.

        This fixes building with --disable-database and other flags.

        * GNUmakefile.am:

2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed. Build fixes for make distcheck.

        * GNUmakefile.am:

2009-12-17  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Gustavo Noronha Silva.

        Trivial WebKit coding style fix.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::paint):

2009-12-15 MORITA Hajime <morrita@gmail.com>

        Reviewed by Eric Seidel.

        Bug 28306: double-clicking a word inside <b> beside newline select two words
        https://bugs.webkit.org/show_bug.cgi?id=28306
        
        SimplifiedBackwardsTextIterator missed trailing whitespaces just
        before folding line-break, which is used to detect word
        boundaries. This fix checks strings on RenderText and expand text
        range on SimplifiedBackwardsTextIterator to include trailing
        whitespaces if availble.

        Test: editing/selection/doubleclick-beside-cr-span.html

        * editing/TextIterator.cpp:
        (WebCore::collapsedSpaceLength):
        (WebCore::maxOffsetIncludingCollapsedSpaces):
        (WebCore::SimplifiedBackwardsTextIterator::advance):

2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix flakiness in WebSocket handshake console message.
        https://bugs.webkit.org/show_bug.cgi?id=32598

        In chromium, LayoutTests/websocket/tests/handshake-error.html is
        flaky, because it outputs the following console message several times:
          CONSOLE MESSAGE: line 0: Unexpected response code:101
        Update m_mode in WebSocketHandshake correctly: Once it finds
        error in handshake message, set m_mode to Failed and don't try
        reading handshake message again.  If handshake message is not yet
        fully received, set m_mode to Incomplete, so next didReceiveData()
        will try to check handshake message again.

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didReceiveData):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readServerHandshake):

2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of text nodes is wrong

        https://bugs.webkit.org/show_bug.cgi?id=32631
        <rdar://problem/7369084>

        Reviewed by Alice Liu.

        Test: platform/win/accessibility/text-role.html

        * accessibility/AccessibilityObject.h:
        (WebCore::):
        Add a new role to the enum.
        (WebCore::AccessibilityObject::roleValueForMSAA):
        Declare a function to return the accessibility role for MSAA; the base
        implementation returns the old role value.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        Initialize m_roleForMSAA.
        (WebCore::AccessibilityRenderObject::roleValueForMSAA):
        If m_roleForMSAA has been set, return it. If the renderer is a
        RenderText, set the role to EditableTextRole to match IE and Firefox.
        Otherwise, set the role for MSAA to the old role value.

        * accessibility/AccessibilityRenderObject.h:
        Add a member to hold the role for MSAA, and declare an override of
        roleValueForMSAA().

2009-12-16  Eric Seidel  <eric@webkit.org>

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

        This broke pixel tests on Mac.  Presumably the code in
        ImageCG is wrong here.

        * platform/graphics/BitmapImage.h:
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):
        * platform/graphics/GeneratedImage.h:
        * platform/graphics/Image.cpp:
        (WebCore::Image::drawTiled):
        * platform/graphics/Image.h:
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/haiku/ImageHaiku.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::drawBitmapPattern):
        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::):
        (WebCore::BufferedImage::drawPattern):
        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::BitmapImage::drawPattern):
        (WebCore::Image::drawPattern):

2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=32637
        [V8] Generate most named property getters.

        Covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.

2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Implement combobox delegate for Qt
        https://bugs.webkit.org/show_bug.cgi?id=32550

        Abstract popup menu factory.

        A static method from QtAbstractPopupMenu is used to create its instances. If a factory
        has been suplied to class QtAbstractPopupMenu the factory will be used to create the
        objects. If not an instance of QtFallbackPopupMenu will be created.

        The objective is to make it easy to replace the combobox popup at WebCore layer providing
        support to the combobox popup delegation API. Future patches will make it possible to
        replace the combobox popup at WebKit layer.

        No behavior changes.

        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):
        * platform/qt/QtAbstractWebPopup.cpp:
        (WebCore::QtAbstractWebPopup::setFactory):
        (WebCore::QtAbstractWebPopup::create):
        * platform/qt/QtAbstractWebPopup.h:
        * platform/qt/QtFallbackWebPopup.cpp:

2009-12-16  Mark Rowe  <mrowe@apple.com>

        Build fix.  Disable debug variants of WebKit frameworks.

        * WebCore.xcodeproj/project.pbxproj:

2009-12-16  Enrica Casucci  <enrica@apple.com>

        Reviewed by Eric Seidel.

        Right clicking in a table cell creates a selection that extends into the next cell.
        <rdar://problem/5565465>
        https://bugs.webkit.org/show_bug.cgi?id=32622
        
        Avoid extending the selection to the next cell if we start from an empty cell.

        Test: editing/selection/empty-cell-right-click.html

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
        with a call to the new function.
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
        selection only if we are not starting from an empty table cell.
        * editing/htmlediting.cpp:
        (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
        * editing/htmlediting.h: Added isEmptyTableCell declaration.

2009-12-16  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        feMerge crahses if feMergeNodes attribute in is empty
        https://bugs.webkit.org/show_bug.cgi?id=32489

        SVGFEMergeElement only stored pointers to all effects of it's nodes
        in a list. But it should store the RefPtr otherwise the effects get
        dereferenced and WebKit crashes.
        I also made a short clean-up in SVGFilterBuilder. No change in
        functionality.

        Test: I updated svg/custom/empty-merge.svg to cover this problem.

        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::build):
        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::FEMerge):
        (WebCore::FEMerge::create):
        (WebCore::FEMerge::mergeInputs):
        (WebCore::FEMerge::setMergeInputs):
        * svg/graphics/filters/SVGFEMerge.h:
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::add):

2009-12-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        Part of <http://webkit.org/b/32568>.
        Web Inspector: Context Menus should be used in more places.
        
        Add a context menu entry in the console to clear the console. This
        is only shown when there is no user selection of text, because if
        there is selection of the text, then we want to give the user the Copy +
        Spell Check context menu that they are used to.

        * English.lproj/localizedStrings.js: Added "Clear Console".
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):

2009-12-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Pavel Feldman.

        Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
        Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
        from / to resources panel.

        Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
        to cover the scope bar.

        * inspector/front-end/inspector.css:

2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Switch all indexers to be generated.
        https://bugs.webkit.org/show_bug.cgi?id=32569

        Covered by existing tests.

        * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
            as they are now generated.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
            FileList, and DataGridColumnList templates.
        * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
        * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
        * bindings/v8/custom/V8FileListCustom.cpp: Removed.

2009-12-16  anton muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
        https://bugs.webkit.org/show_bug.cgi?id=32617

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

2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [V8] There is no such thing as HTMLSelectElementCollection.
        https://bugs.webkit.org/show_bug.cgi?id=32616

        Refactoring, covered by existing tests.

        * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
        * bindings/v8/V8Collection.h: Removed one-off template.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
            to HTMLSelectElement.
        * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
            V8HTMLSelectElementCollectionCustom.cpp

2009-12-16  Dan Winship  <danw@gnome.org>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Content-Encoding support

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

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
        more

2009-12-16  Benjamin Otte  <otte@gnome.org>

        Reviewed by Darin Adler.

        Get rid of the phase argument to Image::drawPattern.
        https://bugs.webkit.org/show_bug.cgi?id=31187

        The argument can be expressed equally well as part of the
        patternTransform. All backends but the Qt one did exactly that
        manually anyway.

        * platform/graphics/BitmapImage.h:
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):
        * platform/graphics/GeneratedImage.h:
        * platform/graphics/Image.cpp:
        (WebCore::Image::drawTiled):
        * platform/graphics/Image.h:
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/haiku/ImageHaiku.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::drawBitmapPattern):
        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::):
        (WebCore::BufferedImage::drawPattern):
        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::BitmapImage::drawPattern):
        (WebCore::Image::drawPattern):

2009-12-16  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Performance problems with index validation code for drawElements
        https://bugs.webkit.org/show_bug.cgi?id=32466

        Added a cache of the maximum index for each element type to
        WebGLBuffer, querying it before iterating through the indices in
        the client-side copy of the buffer's data. Hoisted checks of the
        size of the element array itself into validateElementArraySize to
        avoid duplicating code.

        The performance improvement has been measured with manual tests.
        Existing layout tests cover the index validation functionality
        and continue to pass as before.

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::WebGLBuffer):
        (WebCore::WebGLBuffer::associateBufferData):
        (WebCore::WebGLBuffer::associateBufferSubData):
        (WebCore::WebGLBuffer::getCachedMaxIndex):
        (WebCore::WebGLBuffer::setCachedMaxIndex):
        (WebCore::WebGLBuffer::clearCachedMaxIndices):
        * html/canvas/WebGLBuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateElementArraySize):
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
        (WebCore::WebGLRenderingContext::validateRenderingState):
        (WebCore::WebGLRenderingContext::drawElements):
        * html/canvas/WebGLRenderingContext.h:

2009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=32261
        Added ability to separate the autocomplete suggestion previewing from
        the actual accepting of the suggested value in HTMLInputElement.
        This element (it's single line text incarnation) can now
        be put in suggestion mode where renderer might display the suggested
        value without making it automatically exposed to JavaScript.

        No new tests. This new methods are not exposed yet. It's use will be
        platform specific. PopupMenu and Chromium specific changes will be
        separated based on Darin Adler's comments.

        * dom/InputElement.h:
        (WebCore::InputElementData::suggestedValue):
        (WebCore::InputElementData::setSuggestedValue):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::suggestedValue):
        (WebCore::HTMLInputElement::setSuggestedValue):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueFromRenderer):
        * html/HTMLInputElement.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::suggestedValue):
        * wml/WMLInputElement.h:

2009-12-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Make Elements tree, properties section and resources
        view monospace.

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

        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        * inspector/front-end/inspector.css:

2009-12-16  Dirk Schulze  <krit@webkit.org>

        Reviewed by Darin Adler.

        sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
        https://bugs.webkit.org/show_bug.cgi?id=32575

        On SVG Filters, the rest of the source graphic gets clipped to the filter
        rest. This helps us to minimize the size of intermediate ImageBuffers. If
        the position moves to the right or to the bottom, we have to adjust the
        GraphicContext of this intermediate ImageBuffer.
        This patch fixes the adjustment of the context, according to the clipping.

        Test: svg/filters/filter-source-position.svg

        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::prepareFilter):

2009-12-16  Enrica Casucci  <enrica@apple.com>

        Reviewed by Adele Peterson.

        CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
        <rdar://problem/7467108>
        https://bugs.webkit.org/show_bug.cgi?id=32590

        If the element is a button there is no need to look at the children to calculate the caret position.
        
        Test: editing/selection/button-right-click.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
        when starting from a button element.

2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Implement combobox delegate for Qt
        https://bugs.webkit.org/show_bug.cgi?id=32550

        Refactoring of class QWebPopup.

        Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
        Both new classes are now in corresponding files and files QWebPopup.* have been removed.

        Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
        in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
        public QtWebKit combobox popup delegation API.

        Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
        It needs to be improved to provide standard features that are missing like style or indentation.

        No behavior changes.

        * WebCore.pro:
        * platform/PopupMenu.h:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):
        * platform/qt/QWebPopup.cpp: Removed.
        * platform/qt/QWebPopup.h: Removed.
        * platform/qt/QtAbstractWebPopup.cpp: Added.
        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
        (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
        (WebCore::QtAbstractWebPopup::client):
        * platform/qt/QtAbstractWebPopup.h: Added.
        * platform/qt/QtFallbackWebPopup.cpp: Added.
        (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
        (WebCore::QtFallbackWebPopup::show):
        (WebCore::QtFallbackWebPopup::populate):
        (WebCore::QtFallbackWebPopup::showPopup):
        (WebCore::QtFallbackWebPopup::hidePopup):
        (WebCore::QtFallbackWebPopup::activeChanged):
        * platform/qt/QtFallbackWebPopup.h: Added.
        (WebCore::QtFallbackWebPopup::hide):

2009-12-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: beautify HTTP info section.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._refreshURL):
        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
        * inspector/front-end/inspector.css:

2009-12-13  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Adam Barth.

        Fix crash when encountering illegal HTML within a continuation inside <ruby>.
        (https://bugs.webkit.org/show_bug.cgi?id=32316)

        Avoid having the anonymous blocks utilized in the ruby renderers being
        re-used as continuation blocks.
        Avoid having ruby runs collected as "leftover blocks".

        Test: fast/ruby/ruby-illegal.html

        * rendering/RenderRuby.h:
        (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
        (WebCore::RenderRubyAsInline::isRuby): made private
        (WebCore::RenderRubyAsInline::renderName): made private
        (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
        (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
        (WebCore::RenderRubyAsBlock::isRuby): made private
        (WebCore::RenderRubyAsBlock::renderName): made private
        (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
        * rendering/RenderRubyRun.h:
        (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
        (WebCore::RenderRubyRun::isRubyRun): made private
        (WebCore::RenderRubyRun::renderName): made private
        (WebCore::RenderRubyRun::createsAnonymousWrapper): return true

2009-12-15  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Adler.

        Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.

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

        * loader/Cache.cpp:
        (WebCore::Cache::requestUserCSSStyleSheet):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::load):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::load):
        * loader/CachedResource.h:
        (WebCore::CachedResource::load):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
        (WebCore::DocumentThreadableLoader::preflightSuccess):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/FrameLoaderTypes.h:
        (WebCore::):
        * loader/Request.cpp:
        (WebCore::Request::Request):
        * loader/Request.h:
        (WebCore::Request::shouldDoSecurityCheck):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * loader/SubresourceLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::load):
        (WebCore::Loader::Host::servePendingRequests):
        * loader/loader.h:

2009-12-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
        https://bugs.webkit.org/show_bug.cgi?id=32257

        Test: fast/css/font-face-unused-source-loaded.html

        The loading of a font resource caused a CSSFontFace that had the resource in one of its
        sources, but wasn’t using it (due to using an earlier source) to invalidate its
        CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
        finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
        corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
        ignore loads from unused sources.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
        (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
            FontData.
        * css/CSSFontFace.h:
        (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.

2009-12-15  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Cannot load flash files from a local file.
        https://bugs.webkit.org/show_bug.cgi?id=32572

        When loading the main resource and its mime type is application/octet-stream,
        use the file extenstion to check if it is a supported plugin.

        No new tests were added since any existing swf file can be used as a manual test.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        * loader/MainResourceLoader.h:
        * plugins/PluginDatabase.h:

2009-12-15  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
        REGRESSION: Tips are not shown for resources anymore.
        
        As discussed in the bug, Tips are not coming back, and the feature
        will be moved to the audits panel. This patch is to remove the Tips
        code and the resources that it needed.

        * WebCore.gypi: Removed tips files.
        * inspector/front-end/Images/tipBalloon.png: Removed.
        * inspector/front-end/Images/tipBalloonBottom.png: Removed.
        * inspector/front-end/Images/tipIcon.png: Removed.
        * inspector/front-end/Images/tipIconPressed.png: Removed.
        * inspector/front-end/Resource.js: Removed tips code.
        (WebInspector.Resource.prototype.set finished): 
        * inspector/front-end/WebKit.qrc: Removed tips files.
        * inspector/front-end/inspector.css: Removes tips style rules.
        
2009-12-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Display request headers for main resource
        having redirects.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::appendRedirect):
        (WebCore::InspectorResource::createCached):
        (WebCore::InspectorResource::updateRequest):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::create):

2009-12-15  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
        Web Inspector: No Need for ?="" now that we have context menus.
        
        Remove the toggleNewAttributeButton function and callers to it, as
        we don't need this behavior anymore, now that we have context menus.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.set hovered):
        (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
        (WebInspector.ElementsTreeElement.prototype._startEditing):

2009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        [V8] Generate trivial named property getters.
        https://bugs.webkit.org/show_bug.cgi?id=32562

        Covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
        * bindings/v8/V8Collection.h:
        (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.

2009-12-15  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        Part of <http://webkit.org/b/32568>.
        New Web Inspector: The Context Menu should be used in more places.
        
        Add support for context menu entries for editing and deleting elements
        in the datagrid. This gives support to deleting cookies, and editing and
        deleting session storage and local storage.

        * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid): Added context menu listener.
        (WebInspector.DataGrid.prototype._contextMenuInDataTable):

2009-12-15  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Don't allow default framebuffer to be mutated
        https://bugs.webkit.org/show_bug.cgi?id=32391

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::bindFramebuffer):

2009-12-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for FontPlatformDataCacheKey class
        https://bugs.webkit.org/show_bug.cgi?id=32552

        Inherits the following struct from FastAllocBase because it is instantiated by 'new':

        struct name                     - instantiated at: WebCore/'location'
        struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118

        * platform/graphics/FontCache.cpp:

2009-12-15  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
        https://bugs.webkit.org/show_bug.cgi?id=31090

        The proposal to whatwg can be found here:
        http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::clear):
        (WebCore::ChromiumDataObject::hasData):
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ChromiumDataObject.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::):
        (WebCore::clipboardTypeFromMIMEType):
        (WebCore::ClipboardChromium::setData):

2009-12-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        WAI-ARIA: implement treegrid
        https://bugs.webkit.org/show_bug.cgi?id=31299

        Test: platform/mac/accessibility/aria-treegrid.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
        * accessibility/AccessibilityARIAGrid.h:
        (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
        * accessibility/AccessibilityARIAGridRow.cpp:
        (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
        (WebCore::AccessibilityARIAGridRow::disclosedRows):
        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
        * accessibility/AccessibilityARIAGridRow.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):
        * accessibility/AccessibilityObject.h:
        (WebCore::):
        (WebCore::AccessibilityObject::isARIATreeGridRow):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isMultiSelectable):
        (WebCore::AccessibilityRenderObject::setIsExpanded):
        (WebCore::AccessibilityRenderObject::setSelectedRows):
        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
        (WebCore::AccessibilityRenderObject::selectedChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.h:
        (WebCore::AccessibilityTable::supportsSelectedRows):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):

2009-12-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
        https://bugs.webkit.org/show_bug.cgi?id=32557

        Inherits the following classes from Noncopyable because these are instantiated
        by 'new' and no need to be copyable:

        class name                 - instantiated at: WebCore/'location'
        class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
        class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241

        * loader/EmptyClients.h:

2009-12-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for WebCore/inspector directory's classes
        https://bugs.webkit.org/show_bug.cgi?id=32556

        Inherits the following class from Noncopyable because these are instantiated
        by 'new' and no need to be copyable:

        class name                   - instantiated at: WebCore/'location'
        class InspectorFrontend      - inspector/InspectorController.cpp:538
        class InspectorTimelineAgent - inspector/InspectorController.cpp:1097

        * inspector/InspectorFrontend.h:
        * inspector/InspectorTimelineAgent.h:

2009-12-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for WebCore/platform/network directory's classes
        https://bugs.webkit.org/show_bug.cgi?id=32553

        Inherits the following class from Noncopyable because it is instantiated
        by 'new' and no need to be copyable:

        class/struct name                      - instantiated at: WebCore/'location'

        struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109

        Inherits the following classes from FastAllocBase because these are
        instantiated by 'new':

        class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
        class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88

        * platform/network/ResourceRequestBase.h:
        * platform/network/ResourceResponseBase.h:

2009-12-15  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
        https://bugs.webkit.org/show_bug.cgi?id=32549

        Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
        classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:

        class/struct name              - instantiated at: WebCore/'location'

        AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
        FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464

        * page/animation/AnimationBase.cpp:
        * page/animation/AnimationControllerPrivate.h:

2009-12-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Do not lose HTTP redirect information, display it
        in the Resources Panel.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::appendRedirect):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::releaseScriptObject):
        (WebCore::InspectorResource::type):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::Changes::setAll):
        * inspector/front-end/inspector.js:
        (WebInspector._addResource):
        (WebInspector.updateResource):

2009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann.

        [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
        https://bugs.webkit.org/show_bug.cgi?id=32113

        For Qt versions prior to 4.6.1 we will need to use QueuedConnection
        for the signal and slot connection to avoid running into a bug in.

        Add a comment that we want to remove one signal to forward
        queued items when moving our minimum requirements.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::start):

2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add manual test for JavaScript prompt corner case
        https://bugs.webkit.org/show_bug.cgi?id=30914

        The patch is based on the work done by Gupta Manish.

        Verify behavior of the JavaScript prompt function. Currently
        Qt is not behaving like other WebKit ports and Firefox in
        regards to accepting the prompt but not entering a text.

        * manual-tests/qt/java-script-prompt.html: Added.

2009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Moving list populate methods from PopupMenuQt to QWebPopup.
        
        In preparation to future implementation of a delegation API for the combobox.

        * platform/PopupMenu.h:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        * platform/qt/QWebPopup.cpp:
        (WebCore::QWebPopup::show):
        (WebCore::QWebPopup::populate):
        * platform/qt/QWebPopup.h:
        (WebCore::QWebPopup::hide):

2009-12-15  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Extract WebInspector.Section from WebInspector.PropertiesSection.
        https://bugs.webkit.org/show_bug.cgi?id=32523

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/Section.js: Added.
        (WebInspector.Section):
        (WebInspector.Section.prototype.get title):
        (WebInspector.Section.prototype.set title):
        (WebInspector.Section.prototype.get subtitle):
        (WebInspector.Section.prototype.set subtitle):
        (WebInspector.Section.prototype.get expanded):
        (WebInspector.Section.prototype.set expanded):
        (WebInspector.Section.prototype.get populated):
        (WebInspector.Section.prototype.set populated):
        (WebInspector.Section.prototype.expand):
        (WebInspector.Section.prototype.collapse):
        (WebInspector.Section.prototype.toggleExpanded):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-12-15  Eric Seidel  <eric@webkit.org>

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

        The commit broke the Leopard bots and unfortunately
        Chris wasn't around to fix them, so I'm rolling the change
        out after 3 hours so that the bots can roll green again. :)

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
        * accessibility/AccessibilityARIAGrid.h:
        * accessibility/AccessibilityARIAGridRow.cpp:
        * accessibility/AccessibilityARIAGridRow.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):
        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isMultiSelect):
        (WebCore::AccessibilityRenderObject::setIsExpanded):
        (WebCore::AccessibilityRenderObject::setSelectedRows):
        (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
        (WebCore::AccessibilityRenderObject::selectedChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):

2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Eric Seidel.

        [Qt] Remove dead code from FontPlatformDataQt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=32540

        In r51758 the code that used familyNames was removed
        and we should remove the creation of the familyNames
        as well.

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2009-12-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
        Graphics when available

        When using a version of Core Graphics with LOGFONT support, this fixes
        <rdar://problem/5764844> First-time launch is painfully slow due to font
        plist creation
        and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
        readable in Safari than in Firefox/IE due to poorly-spaced letters

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
        text.
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
        to true, if italics are desired but the best match lacks italics,
        creates and returns a synthetic italics font.
        (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
        if needed.
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
        assertion, and changed to create the CGFont from the LOGFONT.
        (WebCore::createFontCustomPlatformData): Changed cgFont to be a
        RetainPtr. Do not create a CGFont from the font data if it can be
        created from the LOGFONT in fontPlatformData().
        * platform/graphics/win/FontDatabase.cpp:
        (WebCore::populateFontDatabase): Avoid font database work if fonts are
        not going to be looked up by name.
        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
        a LOGFONT based on the HFONT.

2009-12-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        WAI-ARIA: implement treegrid
        https://bugs.webkit.org/show_bug.cgi?id=31299

        Test: platform/mac/accessibility/aria-treegrid.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
        * accessibility/AccessibilityARIAGrid.h:
        (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
        * accessibility/AccessibilityARIAGridRow.cpp:
        (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
        (WebCore::AccessibilityARIAGridRow::disclosedRows):
        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
        * accessibility/AccessibilityARIAGridRow.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isARIATreeGridRow):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isMultiSelectable):
        (WebCore::AccessibilityRenderObject::setIsExpanded):
        (WebCore::AccessibilityRenderObject::setSelectedRows):
        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
        (WebCore::AccessibilityRenderObject::selectedChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.h:
        (WebCore::AccessibilityTable::supportsSelectedRows):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):

2009-12-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
        https://bugs.webkit.org/show_bug.cgi?id=32382

        Test: fast/block/float/in-margin.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
        they are in the margin) do not need to be cleared.

2009-12-14  Enrica Casucci  <enrica@apple.com>

        Reviewed by John Sullivan.

        Pressing backspace inside a table cell erases all empty rows below it.
        <rdar://problem/5565461>
        https://bugs.webkit.org/show_bug.cgi?id=32526

        No deletion is performed when the caret selection is on an empty table cell.
        
        Test: editing/deleting/delete-empty-table.html

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
        case of caret selection.

2009-12-14  Andrei Popescu  <andreip@google.com>

        Reviewed by Darin Adler.

        [Android] Android needs ResourceHandle implementation
        https://bugs.webkit.org/show_bug.cgi?id=32515

        Adds implementation of ResourceHandle on Android.

        No new tests needed, this is platform-specific code, so existing
        tests are sufficient.

        * platform/network/android/ResourceHandleAndroid.cpp: Added.
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        (WebCore::ResourceHandle::bufferedData):
        (WebCore::ResourceHandle::supportsBufferedData):
        (WebCore::ResourceHandle::setDefersLoading):
        (WebCore::ResourceHandle::willLoadFromCache):
        (WebCore::ResourceHandle::loadsBlocked):
        (WebCore::SyncLoader::SyncLoader):
        (WebCore::SyncLoader::~SyncLoader):
        (WebCore::SyncLoader::didReceiveResponse):
        (WebCore::SyncLoader::didReceiveData):
        (WebCore::SyncLoader::didFail):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/android/ResourceLoaderAndroid.h: Added.
        (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
        (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):

2009-12-14  Marco Martin  <notmart@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        In the Scrollbar painting of the Qt theme integration,
        intersects any previous clip rects with the one needed to paint the scrollbar.
        This fixes the painting in QGraphicsview, when the parent of the widget that 
        paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
        a piece of the scrollbar should be cipped away
        https://bugs.webkit.org/show_bug.cgi?id=30366

        No new tests.

        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::paint):

2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        [V8] Generate bindings for trivial indexers.
        https://bugs.webkit.org/show_bug.cgi?id=32455

        Covered by existing tests.

        * bindings/scripts/CodeGeneratorV8.pm:
            Added detecting indexers and generating code for them.
        * bindings/v8/V8Collection.h: Removed code that's now generated.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate): Ditto.

2009-12-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=31660
        REGRESSION (r49394): Image load event fires before the document fragment is attached.

        Test: fast/images/image-load-event-in-fragment.html

        We cannot fire load events immediately after parsing a fragment - an element inserted via
        innerHTML or equivalent should be reachable via getElementById() by the time its load event
        fires.

        * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
        and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
        preserving existing behavior.

        * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
        * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
        Load events for elements that have just been parsed cannot be dispatched yet, we should give
        the elements a chance to be inserted into a document first. There is no compatibility baggage
        for beforeload, so it seems OK to dispatch it right away.

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
        (WebCore::ImageLoader::dispatchPendingLoadEvents):
        * loader/ImageLoader.h:
        Separated dispatchPendingEvents() into individual functions for each event kind.

2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Simon Fraser.

        Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
        https://bugs.webkit.org/show_bug.cgi?id=30442

        This enables optimizations for distinguishing between
        arbitrary FloatQuads and rectilinear ones.

        * platform/graphics/FloatQuad.cpp:
        (WebCore::FloatQuad::isRectilinear):
        * platform/graphics/FloatQuad.h:

2009-12-14  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        [Qt] Add support for keyboard modifiers to TouchEvent

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

        Similar to other ui events with keyboard state, get the alt, shift,
        meta and ctrl modifiers straight from the platform event.

        * dom/TouchEvent.cpp:
        (WebCore::TouchEvent::TouchEvent):
        (WebCore::TouchEvent::initTouchEvent):
        * dom/TouchEvent.h:
        (WebCore::TouchEvent::create):
        * dom/TouchEvent.idl:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):
        * platform/PlatformTouchEvent.h:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        (WebCore::PlatformTouchEvent::shiftKey):
        (WebCore::PlatformTouchEvent::ctrlKey):
        (WebCore::PlatformTouchEvent::altKey):
        (WebCore::PlatformTouchEvent::metaKey):
        * platform/qt/PlatformTouchEventQt.cpp:
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):

2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] crash when clicking "Sign out" in GMail
        https://bugs.webkit.org/show_bug.cgi?id=32300

        When the ResourceLoader cancels the handle we have to make sure not to access
        the resource handle afterwards again.
        This complete r29515

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

2009-12-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
        https://bugs.webkit.org/show_bug.cgi?id=32517

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

2009-12-14  Nayan Kumar K  <nayankk@gmail.com>

        Reviewed by Darin Adler.

        Fix for compilation errors in WML enabled builds.

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

        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::setValue):
        (WebCore::WMLInputElement::setValueForUser):
        * wml/WMLInputElement.h:

2009-12-14  Andrei Popescu  <andreip@google.com>

        Reviewed by Darin Adler.

        [Android] Android needs ResourceError, ResourceResponse and
        ResourceRequest implementation.
        https://bugs.webkit.org/show_bug.cgi?id=32522

        Add implementation of ResourceError, ResourceResponse and ResourceRequest.
        No new tests needed, the existing tests should be sufficient.

        * platform/network/android/ResourceError.h: Added.
        (WebCore::ResourceError::ResourceError):
        * platform/network/android/ResourceRequest.h: Added.
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        (WebCore::ResourceRequest::setUserGesture):
        (WebCore::ResourceRequest::getUserGesture):
        * platform/network/android/ResourceResponse.h: Added.
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::doUpdateResourceResponse):

2009-12-14  Sam Weinig  <sam@webkit.org>

        Fix the build.

        * page/Geolocation.cpp:
        * page/Geolocation.h:

2009-12-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
        Add client based Geolocation provider

        Add first cut of a client based Geolocation provider. This is guarded by
        ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
        GeolocationControllerClient interface that no-one currently implements,
        but will in a subsequent patch.

        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * page/Geolocation.cpp:
        (WebCore::createGeopositionFromGeolocationPosition):
        (WebCore::createPositionErrorFromGeolocationError):
        (WebCore::Geolocation::Geolocation):
        (WebCore::Geolocation::~Geolocation):
        (WebCore::Geolocation::disconnectFrame):
        (WebCore::Geolocation::lastPosition):
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::fatalErrorOccurred):
        (WebCore::Geolocation::requestTimedOut):
        (WebCore::Geolocation::clearWatch):
        (WebCore::Geolocation::handleError):
        (WebCore::Geolocation::positionChanged):
        (WebCore::Geolocation::makeSuccessCallbacks):
        (WebCore::Geolocation::errorOccurred):
        (WebCore::Geolocation::geolocationServicePositionChanged):
        (WebCore::Geolocation::geolocationServiceErrorOccurred):
        (WebCore::Geolocation::startUpdating):
        (WebCore::Geolocation::stopUpdating):
        * page/Geolocation.h:
        * page/GeolocationController.cpp: Added.
        (WebCore::GeolocationController::GeolocationController):
        (WebCore::GeolocationController::~GeolocationController):
        (WebCore::GeolocationController::addObserver):
        (WebCore::GeolocationController::removeObserver):
        (WebCore::GeolocationController::positionChanged):
        (WebCore::GeolocationController::errorOccurred):
        (WebCore::GeolocationController::lastPosition):
        * page/GeolocationController.h: Added.
        * page/GeolocationControllerClient.h: Added.
        (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
        * page/GeolocationError.h: Added.
        (WebCore::GeolocationError::):
        (WebCore::GeolocationError::create):
        (WebCore::GeolocationError::code):
        (WebCore::GeolocationError::message):
        * page/GeolocationPosition.h: Added.
        (WebCore::GeolocationPosition::create):
        (WebCore::GeolocationPosition::timestamp):
        (WebCore::GeolocationPosition::latitude):
        (WebCore::GeolocationPosition::longitude):
        (WebCore::GeolocationPosition::accuracy):
        (WebCore::GeolocationPosition::altitude):
        (WebCore::GeolocationPosition::altitudeAccuracy):
        (WebCore::GeolocationPosition::heading):
        (WebCore::GeolocationPosition::speed):
        (WebCore::GeolocationPosition::canProvideAltitude):
        (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
        (WebCore::GeolocationPosition::canProvideHeading):
        (WebCore::GeolocationPosition::canProvideSpeed):
        (WebCore::GeolocationPosition::GeolocationPosition):
        * page/Geoposition.h:
        (WebCore::Geoposition::create):
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::geolocationController):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2009-12-14  Adam Langley  <agl@google.com>

        Reviewed by Darin Adler.

        Test that an image's size is valid before reading it.

        Previously, an image that failed to load (m_failed == true) would
        trigger an assertion failure when WebKit tried to get its size.

        https://bugs.webkit.org/show_bug.cgi?id=32176
        http://code.google.com/p/chromium/issues/detail?id=28566

        Test: fast/images/size-failure.html

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::createFrameAtIndex):

2009-12-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
        RenderWidget::setWidgetGeometry()

        Test: fast/forms/defer-updateFromElement.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::updateFromElementCallback): Added this post-attach callback
        that invokes updateFromElement().
        (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
        updateFromElement(), enqueue a post-attach (in this case, post-style
        recalc) callback to do it. updateFromElement() can cause the selection
        to change, and in turn trigger synchronous layout, so it must not be
        called during style recalc.

2009-12-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: [regression] inspector deletes nodes when editing css.

        Now all the treeoutlines are focusable, sections and their titles
        are also focusable. Change contains couple of drive-by fixes such as
        canceling of the attribute edit nuking attr info and maintaining proper
        selection while deleting nodes.

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

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._promptKeyDown):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype._keyDown):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView):
        (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype._keyDown):
        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
        (WebInspector.ElementsTreeElement.prototype._editingCancelled):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.get defaultFocusedElement):
        * inspector/front-end/PropertiesSection.js:
        (WebInspector.PropertiesSection):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
        (WebInspector.ScriptsPanel.prototype.handleShortcut):
        * inspector/front-end/SidebarPane.js:
        (WebInspector.SidebarPane):
        (WebInspector.SidebarPane.prototype.toggleExpanded):
        (WebInspector.SidebarPane.prototype._onTitleKeyDown):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._loaded):
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.documentKeyDown):
        (WebInspector.documentCanCopy):
        (WebInspector.documentCopy):
        (WebInspector._searchFieldManualFocus):
        (WebInspector._searchKeyDown):
        (WebInspector.startEditing.cleanUpAfterEditing):
        (WebInspector.startEditing.keyDownEventListener):
        (WebInspector.startEditing):
        * inspector/front-end/treeoutline.js:
        (TreeOutline):
        (TreeOutline._removeChildAtIndex):
        (TreeOutline.prototype._treeKeyDown):
        (TreeElement.prototype.deselect):
        * inspector/front-end/utilities.js:
        ():

2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Guard all of JSC's wrapper cache-related members on Document.

        * dom/Document.cpp:
        (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
        * dom/Document.h: Added JSC guards to wrapper cache-related members.

2009-12-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Adele Peterson.

        AX: there's an infinite loop going on for some webpages - facebook.com
        https://bugs.webkit.org/show_bug.cgi?id=32501

        The problem is that parentObjectUnignored() cannot be called
        while in accessibilityIsIgnored, because it leads to
        recursiveness. Specifically, there were checks to determine
        if an object was within a ARIA tree. That check should
        1) be moved to all platforms, and 2) not call parentObjectUnignored().

        Test: accessibility/hang-in-isignored.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

2009-12-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows

        Use MediaControllerThemeQuickTime on Leopard.

        * rendering/RenderThemeMac.mm:
        (WebCore::mediaControllerTheme):

2009-12-14  Adam Roben  <aroben@apple.com>

        Move QuartzCore-related build settings into a vsprops file

        Fixes <http://webkit.org/b/32518>

        Reviewed by Dan Bernstein.

        * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
        WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
        other QuartzCore-related build settings from here...
        * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.

2009-12-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antti Koivisto.

        handling scripts can block UI
        https://bugs.webkit.org/show_bug.cgi?id=27612

        Break execution of external scrips to smaller chunks. 
        No new tests since no new functionality was introduced.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::notifyFinished):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
        (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
        (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
        * html/HTMLTokenizer.h:

2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann.

        [Qt] Connect QNetworkReply via direct connections.
        https://bugs.webkit.org/show_bug.cgi?id=32113

        In the past we have switched from auto connections to queued
        connections to get some more stability. The problem with the
        Queued connections is latency. Even when running simple loading
        tests the time it takes to runs highly varies and by using
        direct connections these tests produce a stable result.

        We will have to look out for crashes coming from within the
        QNetworkAccessManager due this patch and address them then.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::start):

2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber-stamped by Simon Hausmann.

        [Qt] QtWebKit should use QImageReader::setQuality(49)
        https://bugs.webkit.org/show_bug.cgi?id=30740

        Using QImageReader::setQuality(49) will influence the JPEG
        decoder of Qt to use the JDCT_IFAST routines for decompressing. This
        is showing a 5% improvement in a reduction that decodes all images
        used during the page loading test. The libjpeg documentation mentions
        that the IFAST routine is not as accurate as other routines but in
        our tests we couldn't see a difference.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::setData):

2009-12-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Changed GC from mark-sweep to mark-allocate.

        * ForwardingHeaders/runtime/WeakGCMap.h: Added.
        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow): Updated for rename.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::removeWrappers):
        (WebCore::hasCachedDOMObjectWrapperUnchecked):
        (WebCore::hasCachedDOMObjectWrapper):
        (WebCore::hasCachedDOMNodeWrapperUnchecked):
        (WebCore::forgetDOMObject):
        (WebCore::forgetDOMNode):
        (WebCore::isObservableThroughDOM):
        (WebCore::markDOMNodesForDocument):
        (WebCore::markDOMObjectWrapper):
        (WebCore::markDOMNodeWrapper):
        * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
        Don't ASSERT that an item must be in the WeakGCMap when its destructor
        runs, since it might have been overwritten in the map first.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
        wrapper, to simplify some code.

        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
        (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
        * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
        wrappers.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
        a DOM node wrapper instead of a DOM object wrapper.

        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
        (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
        (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
        (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
        on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
        of linear lookup through iteration, since that's what hashtables were
        invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
        from the table, instead of its JS wrapper, to decouple these obj