ChangeLog-2011-02-16   [plain text]


2011-02-15  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.

        Currently JSObject is both directly instantiated for regular JS objects, and
        derived to implement subtypes. A consequence of this is that we need to ensure
        that sufficient space from the cell is left unused and available for any data
        members that will be introduced by subclasses of JSObject. By restructuring
        the internal storage array out of JSObject we can increase the size in the
        internal storage for regular objects.

        Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
        much additional capacity as is currently available to allow for data members
        in subclasses. JSFinalObject utilizes all available space for internal storage,
        and only allows construction through JSFinalObject::create().

        * bindings/js/JSDOMWindowShell.h:
            Update JSObject -> JSNonFinalObject.

2011-02-16  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by David Hyatt.

        REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode
        https://bugs.webkit.org/show_bug.cgi?id=54478

        Test: fast/css/counters/render-tree-reorg-crash.html

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):
        Fixed typo. The code was still walking sometimes the renderer tree
        instead of the element tree as intended.

2011-02-16  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Inject auto increment keys via key path on insertion
        https://bugs.webkit.org/show_bug.cgi?id=54457

        Inject auto increment keys via key path for object stores using key
        path and auto increment.

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::LocalContext::getNthValueOnKeyPath):
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        (WebCore::injectIDBKeyIntoSerializedValue):
        * bindings/v8/IDBBindingUtilities.h:
        * platform/chromium/PlatformBridge.h:
        * storage/IDBKeyPathBackendImpl.cpp:
        (IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
        * storage/IDBKeyPathBackendImpl.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::injectKeyIntoKeyPath):
        (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/chromium/IDBKeyPathBackendImpl.cpp:
        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):

2011-02-16  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader
        https://bugs.webkit.org/show_bug.cgi?id=54537

        Headers removed from the SoupMessage should be also removed from
        the ResourceRequest when updating the latter from the former.

        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateFromSoupMessage):

2011-02-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: split all the functions of Inspector backend API by domain.
        https://bugs.webkit.org/show_bug.cgi?id=54558

        We have a number of functions from different domains in single instance of InspectorBackend.
        It'd be better to split the functions by their domains.
        As example 'evaluate' will be moved from InspectorBackend to RuntimeAgent container.

        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.evaluateInTargetWindow):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._projectChanged):
        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
        (WebInspector.DOMBreakpoint.prototype._enable):
        (WebInspector.DOMBreakpoint.prototype._disable):
        (WebInspector.EventListenerBreakpoint.prototype._enable):
        (WebInspector.EventListenerBreakpoint.prototype._disable):
        (WebInspector.XHRBreakpoint.prototype._enable):
        (WebInspector.XHRBreakpoint.prototype._disable):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule.callback):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleModel.prototype._onRevert):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.createForId):
        (WebInspector.CSSStyleSheet.prototype.setText):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._deleteCookie):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
        (WebInspector.DOMAgent.prototype.setAttributeAsync):
        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
        (WebInspector.Cookies.getCookiesAsync):
        (WebInspector.EventListeners.getEventListenersForNodeAsync):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorage.prototype.getEntries):
        (WebInspector.DOMStorage.prototype.setItem):
        (WebInspector.DOMStorage.prototype.removeItem):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.getTableNames):
        (WebInspector.Database.prototype.executeSql):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.enableDebugger):
        (WebInspector.DebuggerModel.prototype.disableDebugger):
        (WebInspector.DebuggerModel.prototype.continueToLocation):
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
        (WebInspector.DebuggerModel.prototype.editScriptSource):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.setDocument):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
        ():
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
        (WebInspector.ExtensionServer.prototype._onReload):
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager):
        (WebInspector.NetworkManager.prototype.reset):
        (WebInspector.NetworkManager.prototype.requestContent):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileView):
        (WebInspector.CPUProfileType.prototype.buttonClicked):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._clearProfiles):
        (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.resolveNode):
        (WebInspector.RemoteObject.prototype.getProperties):
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameTreeElement.prototype.onselect):
        (WebInspector.FrameTreeElement.prototype.set hovered):
        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.requestSource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
        (WebInspector.ScriptsPanel.prototype._togglePause):
        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._hidePopup):
        * inspector/front-end/TestController.js:
        (WebInspector.TestController.prototype.notifyDone):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
        * inspector/front-end/inspector.js:
        (WebInspector.highlightDOMNode):
        (WebInspector.doLoadedDone):
        (WebInspector.openResource):
        (WebInspector.documentKeyDown):

2011-02-16  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] events missing when a document is (re)loaded
        https://bugs.webkit.org/show_bug.cgi?id=25831

        Make sure webArea returns a proper name and that a signal
        'state-change::defunct' is emitted when detaching the wrapper.

        Test: platform/gtk/accessibility/document-reload-events.html

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name): Returns the current document's title
        as fallback mechanism for webArea objects.
        (webkit_accessible_detach): Emit 'state-change::defunct' function
        as soon as the wrapper is detached from the related core object.

2011-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Pixel tests differences on 10.6.6 32bit vs. 64bit
        https://bugs.webkit.org/show_bug.cgi?id=54474

        When generating a SVG pixel test baseline with a vanilla 10.6.6 installation on a 32bit machine (Core Duo MBP)
        and comparing the run with a software-identical 64bit machine (Core 2 Duo MBP), there are about 250 differences.

        These fall in two categories:
        a) 1px differences in text AA, or when drawing circles (all _below_ a tolerance of 0.01). Only visible in the subtracted difference image.
           The reason is probably CGFloat being typedefed to double on 64bit machines, and float on 32bit machines.
           AffineTransform stores doubles, so on 32bit machines we loose precision from AffineTransform -> CGAffineTransform.

        b) Failures >0.1% (text origin/scale is slightly different, user-visible).
           Caused by several sources of numerical instabilities within the SVG rendering code.

           -> SVGPreserveAspectRatio::getCTM() computes an AffineTransform using doubles as input parameters, but floats are passed (like everywhere else in SVG).
              This method is used to compute the viewBox AffineTransform, that affects the rendering of every content in the document. RenderSVGRoot concats
              this transformation matrix to the GraphicsContext CTM, resulting in a source of numerical imprecision.

           -> SVGInlineTextBox::paintTextWithShadows() calculates a scaling factor for text, to scale up the specified font size, to the actual on-screen size.
              SVGInlineTextBox uses the scaled Font object, to draw in an unscaled context, that gets scaled up again afterwards.
              context->scale(1 / scalingFactor); scaledFont.drawText(); context->scale(scalingFactor);

              To remove the scale from the current GraphicsContext CTM, "context->scale(FloatSize(1 / scalingFactor, ...)" is used. As AffineTransform stores
              doubles internally, it's likely that "context->scale(FloatSize(1 / ctm.a(), .." doesn't give you a matrix with a=1, but something close to 1.
              Using "context->concatCTM(AffineTransform().scale(1 / ctm.a(), ..." could be used as workaround, to preserve double precision.
              Fixing that brings us down to just a few pixel tests that differ between 32 & 64bit. There is still numerical imprecision, as floating-point
              number representations aren't always precise. Unfortunately CoreGraphics doesn't provide a public way to just set a CTM, it only allows to concat them.
              Fortunately CGContextSetCTM() is available, as private method, that allows me to switch the context CTM to any arbitary CGAffineTransform.

              -> Add GraphicsContext::setCTM(const AffineTransform&) and implement it for all platforms (each explicitely exposes a 'setCTM' concept, except CG)
                 Use CGContextSetCTM() for CG, which appears to be present since at least 10.4, Cairo is using it for the same purpose since some years!

              -> Instead of scaling the GraphicsContext before drawing text, grab the current CTM using context->getCTM(), scale it by '1 / scalingFactor'
                 normalize the transform (look for values close to 0/1 using float precision, and round!), and assign it using context->setCTM(normalizedTransform).
                 After drawing, just switch back to the preserved original CTM, both operations need GraphicsContext::setCTM.
                 This fixes all pixel test differences between 32/64 bit machines that fall into category b).
                 The use of GraphicsContext::setCTM() allows to switch between arbitary context transformations _without_ inducing accumulated rounding imprecision.

        These combined patches fix the pixel test baseline changes.

        Updated existing Snow Leopard pixel test baseline with a 32bit machine, passes here with tolerance 0.
        The 64bit machine passes the baseline with tolerance 0.01.

        * platform/graphics/GraphicsContext.h: Add setCTM(const AffineTransform&) method.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::setCTM): Implement setCTM.
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setCTM): Ditto.
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::setCTM): Ditto.
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setCTM): Ditto.
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setCTM): Ditto.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::setCTM): Ditto.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setCTM): Ditto.
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
        (WebCore::GraphicsContext::setCTM):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setCTM): Ditto.
        * rendering/svg/SVGInlineTextBox.cpp: Use setCTM() to switch to a scale-free AffineTransform, and also to switch back to the original CTM after rendering text.
        (WebCore::normalizeTransform):
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
        (WebCore::SVGInlineTextBox::paintTextWithShadows):
        * svg/SVGPreserveAspectRatio.cpp: s/double/float/.
        (WebCore::SVGPreserveAspectRatio::getCTM):
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGSVGElement.cpp: Simplify viewport() code, avoid using doubles.
        (WebCore::SVGSVGElement::viewport):

2011-02-16  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText()
        https://bugs.webkit.org/show_bug.cgi?id=54547

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::applyResultsToTarget):

2011-02-14  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Landing detailed heap snapshots, part 3.
        https://bugs.webkit.org/show_bug.cgi?id=54385

        Provide node classes for data grid views:
         - summary -- list of objects by constuctor;
         - diff -- summaries btw two snapshots;
         - explorer -- explore heap graph;
         - dominators tree;

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/DetailedHeapshotGridNodes.js: Added.
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.incInstancesCount):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get instancesCount):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.resetInstancesCount):
        (WebInspector.HeapSnapshotEdgesProvider):
        (WebInspector.HeapSnapshotNodesProvider):
        * inspector/front-end/PleaseWaitMessage.js:
        (WebInspector.PleaseWaitMessage.prototype.get instance):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-02-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r78655.
        http://trac.webkit.org/changeset/78655
        https://bugs.webkit.org/show_bug.cgi?id=54543

        Causes too many test failures in chromium (Requested by
        mnaganov on #webkit).

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * dom/EventTarget.cpp:
        * dom/EventTarget.h:
        * storage/IDBRequest.cpp:
        * storage/IDBRequest.h:

2011-02-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents.

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

        Some set of instrumentation calls should work even if we have no InspectorFrontend instance and corresponding agents.
        At the moment we are using InspectorAgent instance for such calls.

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
        (WebCore::InspectorAgent::pushDataCollectedOffline):
        (WebCore::InspectorAgent::didCommitLoad):
        * inspector/InspectorAgent.h:
        (WebCore::InspectorOfflineResourcesBase::~InspectorOfflineResourcesBase):
        (WebCore::InspectorOfflineResourcesBase::InspectorOfflineResourcesBase):
        (WebCore::InspectorAgent::databaseAgentResources):
        (WebCore::InspectorAgent::domStorageAgentResources):
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::Resources::clear):
        (WebCore::InspectorDOMStorageAgent::Resources::pushDataCollectedOffline):
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::createOfflineStorage):
        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
        * inspector/InspectorDOMStorageAgent.h:
        (WebCore::InspectorDOMStorageAgent::create):
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::Resources::clear):
        (WebCore::InspectorDatabaseAgent::Resources::pushDataCollectedOffline):
        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        (WebCore::InspectorDatabaseAgent::createOfflineStorage):
        (WebCore::InspectorDatabaseAgent::databaseForId):
        (WebCore::InspectorDatabaseAgent::selectDatabase):
        * inspector/InspectorDatabaseAgent.h:
        (WebCore::InspectorDatabaseAgent::create):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):

2011-02-15  John Sullivan  <sullivan@apple.com>

        Reviewed by Antti Koivisto.

        Dan Bernstein came up with this fix while we debugged it. I just typed.

        https://bugs.webkit.org/show_bug.cgi?id=54532
        On platforms without platformWidgets, going Back to a scrolled page 
        draws at the top-left before drawing at the restored scroll position
        
        <rdar://problem/8998838>
        
        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        Don't send the didFirstLayout and didFirstVisuallyNonEmptyLayout callbacks
        for nested layouts. Doing so was causing ScrollView::setScrollPosition()
        to short-circuit.

2011-02-15  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed.

        [Qt][V8] Buildfix. Add missing USE(JSC) guard.

        * plugins/qt/PluginViewQt.cpp:

2011-02-15  Ami Fischman  <fischman@chromium.org>

        Reviewed by David Levin.

        Remove the artificial -32px shift for media controls in mediaDocuments
        so that they overlap the canvas as they do in non-mediaDocuments.
        This also fixes test_shell failing to update the media slider (see
        linked crbug below).

        https://bugs.webkit.org/show_bug.cgi?id=27798
        http://crbug.com/72623

        Test: media/video-controls-in-media-document.html
        Added a render test that asserts that the controls show up in the
        expected spot (0,208) instead of below the canvas (0,240).

        * css/mediaControlsChromium.css:

2011-02-15  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Extract a function to process ancestor and their sibling nodes from processContents
        https://bugs.webkit.org/show_bug.cgi?id=54425

        Extracted processAncestorsAndTheirSiblings.

        * dom/Range.cpp:
        (WebCore::Range::processContents): Calls processContents.
        (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents.
        * dom/Range.h:

2011-02-15  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Rendering error of spin buttons on layers
        https://bugs.webkit.org/show_bug.cgi?id=54427

        Test: fast/forms/input-appearance-spinbutton-layer.html

        * rendering/RenderThemeChromiumWin.cpp:
          Add checks for multiple ThemePainter instances.
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
          Avoid to create multiple ThemePainter instances.

2011-02-15  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix race condition in JavaScriptAudioNode
        https://bugs.webkit.org/show_bug.cgi?id=54518

        No new tests since audio API is not yet implemented.

        * webaudio/JavaScriptAudioNode.cpp:
        (WebCore::JavaScriptAudioNode::process):

2011-02-10  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Throwing in an IndexedDB error or success event should lead to the transaction aborting
        https://bugs.webkit.org/show_bug.cgi?id=54249

        When an exception is thrown but not handled  within an IDBRequests success/error event,
        we should abort the transaction.

        Test: storage/indexeddb/exception-in-event-aborts.html

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::uncaughtExceptionInEventHandler):
        * dom/EventTarget.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
        * storage/IDBRequest.h:

2011-02-15  Ian Henderson  <ianh@apple.com>

        Reviewed by Darin Adler.

        To determine image properties, CG allocates memory which isn't included in CachedImage's decoded size
        https://bugs.webkit.org/show_bug.cgi?id=53281

        When determining properties of an image (such as its size), CG ends up
        decoding part of the image.  This patch adds accounting for this extra
        decoded size so a cache prune can clean up the allocations.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::BitmapImage):
        (WebCore::BitmapImage::destroyMetadataAndNotify):
        Clearing the source destroys the extra decoded data.  Report this
        change in decoded size to the image observer.
        (WebCore::BitmapImage::cacheFrame):
        The first decoded frame subsumes the data decoded when determining
        image properties, so we subtract it out here.
        (WebCore::BitmapImage::didDecodeProperties):
        Reports the extra decoded size to the image's observer.
        (WebCore::BitmapImage::size):
        (WebCore::BitmapImage::currentFrameSize):
        (WebCore::BitmapImage::getHotSpot):
        (WebCore::BitmapImage::frameCount):
        (WebCore::BitmapImage::isSizeAvailable):
        (WebCore::BitmapImage::repetitionCount):
        * platform/graphics/BitmapImage.h:
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::bytesDecodedToDetermineProperties):
        The default value is 0 to match the current behavior on other
        platforms.
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::bytesDecodedToDetermineProperties):
        Add a constant value for bytesDecodedToDetermineProperties(), measured
        by tracing malloc/calloc calls while asking an image source for its
        properties.

2011-02-15  James Robinson  <jamesr@chromium.org>

        Reviewed by Alexey Proskuryakov.

        requestAnimationFrame callbacks should not fire within a modal dialog
        https://bugs.webkit.org/show_bug.cgi?id=53188

        requestAnimationFrame callbacks shouldn't fire while a modal dialog is up (like a window.alert()).
        This matches Firefox and other async APIs.  This patch moves the callback servicing into its own
        controller class which receives notifications on suspend/resume.

        Test: fast/animation/request-animation-frame-during-modal.html

        * WebCore.gypi:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setJavaScriptPaused):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::suspendScriptedAnimationControllerCallbacks):
        (WebCore::Document::resumeScriptedAnimationControllerCallbacks):
        (WebCore::Document::webkitRequestAnimationFrame):
        (WebCore::Document::webkitCancelRequestAnimationFrame):
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
        (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
        * dom/ScriptedAnimationController.cpp: Added.
        (WebCore::ScriptedAnimationController::ScriptedAnimationController):
        (WebCore::ScriptedAnimationController::suspend):
        (WebCore::ScriptedAnimationController::resume):
        (WebCore::ScriptedAnimationController::registerCallback):
        (WebCore::ScriptedAnimationController::cancelCallback):
        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
        * dom/ScriptedAnimationController.h: Added.
        (WebCore::ScriptedAnimationController::create):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore):
        (WebCore::CachedFrame::CachedFrame):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2011-02-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Add initial support for per-origin quotas to IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=54421

        Add support for non-persistent per-origin quotas. If one is
        specified, it overrides the default.

        No tests as this is only exposed via the Chromium webkit API.

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::IDBFactoryBackendImpl::setQuota):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:

2011-02-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        XSLT with output method HTML and images crashes in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=54462

        http://trac.webkit.org/changeset/75577 created Document::setContent but
        didn't notice that the code paths combined into Document::setContent
        were subtly different.  In particular, some of the code paths called
        parser->finish() whereas other did not.

        The difference is that an explicit call to parser->finish() is required
        in the case where there is no frame because explicitClose doesn't call
        endIfNotLoadingMainResource if there is no frame.  This patch moves
        that logic inside explicitClose, which is more natural.

        This patch also removes removeAllChildren, which has not effect in this
        situation and should never have been added in the first place.

        Test: fast/parser/xslt-with-html.xml

        * dom/Document.cpp:
        (WebCore::Document::setContent):
        (WebCore::Document::explicitClose):

2011-02-15  Oliver Hunt  <oliver@apple.com>

        Fix EFL build for
        https://bugs.webkit.org/show_bug.cgi?id=54415

        * CMakeLists.txt:

2011-02-15  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp

        Reviewed by Darin Adler.

        * rendering/RenderLayerBacking.cpp: Remove unused
        WebGLRenderingContext.h header, and move GraphicsContext3D.h
        into a #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)/#endif
        block.

2011-02-14  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough and Geoff Garen.

        Refactor handles and weak pointers to become nicer and more automatic
        https://bugs.webkit.org/show_bug.cgi?id=54415

        Update WebCore to use the new Global<> type rather than ProtectedJSValue
        and gc[Un]Protect.  Also update to use new WeakGCPtr APIs, and remove now
        unnecessary destructors.

        * ForwardingHeaders/collector/handles/Global.h: Added.
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * bindings/js/JSCallbackData.h:
        (WebCore::JSCallbackData::JSCallbackData):
        * bindings/js/JSCustomVoidCallback.h:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::forgetDOMNode):
        (WebCore::cacheDOMNodeWrapper):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDataGridDataSource.h:
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::setWrapper):
        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::initializeJSFunction):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/js/ScriptCachedFrameData.h:
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptArguments):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::createWindowShell):
        (WebCore::ScriptController::evaluateInWorld):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::attachDebugger):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):
        (WebCore::ScriptCallback::call):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptObject::ScriptObject):
        * bindings/js/ScriptObject.h:
        * bindings/js/ScriptState.cpp:
        (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
        (WebCore::ScriptStateProtectedPtr::get):
        * bindings/js/ScriptState.h:
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::isFunction):
        (WebCore::ScriptValue::deserialize):
        * bindings/js/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::hasNoValue):
        * bindings/js/ScriptWrappable.h:
        (WebCore::ScriptWrappable::ScriptWrappable):
        (WebCore::ScriptWrappable::setWrapper):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::WorkerScriptController):
        (WebCore::WorkerScriptController::~WorkerScriptController):
        (WebCore::WorkerScriptController::initScript):
        (WebCore::WorkerScriptController::evaluate):
        * bindings/js/WorkerScriptController.h:
        (WebCore::WorkerScriptController::workerContextWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_Construct):
        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::Instance):
        (JSC::Bindings::Instance::~Instance):
        (JSC::Bindings::Instance::willDestroyRuntimeObject):
        (JSC::Bindings::Instance::willInvalidateRuntimeObject):
        * bridge/jsc/BridgeJSC.h:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::invalidate):
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::RootObject):
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::globalObject):
        (JSC::Bindings::RootObject::updateGlobalObject):
        * bridge/runtime_root.h:
        * dom/EventListener.h:
        * dom/EventTarget.h:
        (WebCore::EventTarget::markJSEventListeners):
        * xml/XMLHttpRequest.cpp:
        
        Qt bindings courtesy of Csaba Osztrogonác
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        (JSC::Bindings::QtConnectionObject::QtConnectionObject):
        (JSC::Bindings::QtConnectionObject::execute):
        (JSC::Bindings::QtConnectionObject::match):
        * bridge/qt/qt_runtime.h:

2011-02-15  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        Autocorrection should respect undo.
        https://bugs.webkit.org/show_bug.cgi?id=52221
        <rdar://problem/8663399>

        Manual test: manual-tests/autocorrection/undo-autocorrection.html

        When user undoes an autocorrection, we need to do four things:
        1. Revert the change in text that has been made by correction.
        2. Revert the selection to pre-correction state so that user can immediately continue typing.
        3. Add appropriate markers to reverted text so that it won't be corrected again and/or shown
           as misspelled.
        4. If applicable, notify spell checking service to record this reversion.

        To achieve these, this patch introduces following changes:
        1. Created SpellingCorrectionCommand so that correction can be undone in similar way as any
           other editing command. SpellingCorrectionCommand is a composition of SetSelectionCommand,
           SpellingCorrectionRecordUndoCommand and ReplaceSelectionCommand.
        2. Created SetSelectionCommand so that undo command can restore selection state.
        3. Added member function recordAutocorrectionResponse() to editor client.

        To improve readability, this patch also consolidates various boolean arguments in SelectionController::setSelection()
        and ReplaceSelectionCommand::ReplaceSelectionCommand(). These boolean arguments have been
        replaced by enum variable.

        * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand.

        * WebCore.xcodeproj/project.pbxproj: Updated for new source files.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create().

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment): Ditto.
        (WebCore::Editor::unappliedEditing): Cleaned up trailing whitespace.
        (WebCore::Editor::reappliedEditing): Ditto.
        (WebCore::Editor::selectComposition): Adopted new signature of SelectionController::setSelection().
        (WebCore::Editor::confirmComposition): Ditto.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Rearranged code to reduce the
            level of deeply nested if statement. Adopted SpellingCorrectionCommand.
        (WebCore::Editor::applyCorrectionPanelInfo): Adopted SpellingCorrectionCommand.
        (WebCore::Editor::unappliedSpellCorrection): Function for adding markers to reverted text and
            for notifiying editor client about undone correction.
        (WebCore::Editor::changeSelectionAfterCommand): Adopted new signature of SelectionController::setSelection().
        (WebCore::Editor::respondToChangedSelection): Use SelectionController::SetSelectionOptions
            instead of boolean variables.

        * editing/Editor.h: Added Editor::unappliedSpellCorrection().

        * editing/EditorCommand.cpp:
        (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create().

        * editing/MoveSelectionCommand.cpp:
        (WebCore::MoveSelectionCommand::doApply): Ditto.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments
            with an enum value.

        * editing/ReplaceSelectionCommand.h:
        (WebCore::ReplaceSelectionCommand::create): Ditto.

        * editing/SelectionController.cpp: Adopted new signature of SelectionController::setSelection().
        (WebCore::SelectionController::moveTo):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::respondToNodeModification):
        (WebCore::SelectionController::setBase):
        (WebCore::SelectionController::setExtent):
        (WebCore::SelectionController::setSelectedRange):

        * editing/SelectionController.h:
        (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value.

        * editing/SetSelectionCommand.cpp: Added.
        (WebCore::SetSelectionCommand::SetSelectionCommand):
        (WebCore::SetSelectionCommand::doApply):
        (WebCore::SetSelectionCommand::doUnapply):

        * editing/SetSelectionCommand.h: Added.
        (WebCore::SetSelectionCommand::create):

        * editing/mac/SpellingCorrectionCommand.cpp: Added.
        (WebCore::SpellingCorrectionRecordUndoCommand::create):
        (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand):
        (WebCore::SpellingCorrectionRecordUndoCommand::doApply):
        (WebCore::SpellingCorrectionRecordUndoCommand::doUnapply):
        (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
        (WebCore::SpellingCorrectionCommand::doApply):

        * editing/mac/SpellingCorrectionCommand.h: Added.
        (WebCore::SpellingCorrectionCommand::create):

        * loader/EmptyClients.h: Updated for the new function declared in EditorClient.
        (WebCore::EmptyEditorClient::recordAutocorrectionResponse):

        * manual-tests/autocorrection/undo-autocorrection.html: Added.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create().

        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Ditto.

        * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse().

2011-02-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Speculative fix for <rdar://problem/8998498> CrashTracer: [USER] 
        8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately:

        My best guess is that this is crashing because 
        willRemoveVerticalScrollbar()/Horizontal was not being called
        properly from the RenderLayer destructor. 
        
        Call willRemoveVerticalScrollbar()/Horizontal from destroyScrollbar()
        so that all current and future scrollbar-destroyers will properly 
        call this function. And only do it for native scrollers.
        (WebCore::RenderLayer::destroyScrollbar):
        (WebCore::RenderListBox::destroyScrollbar):

        For consistency's sake, I also moved didAddVerticalScrollbar()
        /Horizontal to createScrollbar(). Again, only call for native 
        scrollers.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createScrollbar):
        (WebCore::RenderListBox::createScrollbar):

        These functions no longer call didAdd/willRemove.
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::setHasVerticalScrollbar):
        
        Remove unnecessary ScrollableArea::-prefix
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setHasHorizontalScrollbar):
        (WebCore::ScrollView::setHasVerticalScrollbar):

2011-02-15  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues
        https://bugs.webkit.org/show_bug.cgi?id=54048

        * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block.
        * bindings/js/ScriptHeapSnapshot.h: include no longer needed.

2011-02-15  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.
 
        [chromium] clearRect() is incorrect in accelerated 2D canvas.
        https://bugs.webkit.org/show_bug.cgi?id=54497

        When doing GPU-Canvas2D clearRect() using the fast path (glClear()),
        we were not correctly converting from canvas to screen coordinates. 
        Fixed by inverting the rectangle in Y, and changing
        SharedGraphicsContext3D::scissor to take glScissor-like parameters.

        Covered by fast/canvas/canvas-strokeRect.html.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::clearRect):
        Flip the Y coord of the rectangle passed to scissor().
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::scissor):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        Give scissor() the same param types as GraphicsContext3D::scissor().

2011-02-15  Pratik Solanki  <psolanki@apple.com>

        Move WTF_USE_CFNETWORK to Platform.h
        https://bugs.webkit.org/show_bug.cgi?id=54168

        Reviewed by Darin Adler.

        * config.h: Remove WTF_USE_CFNETWORK.

2011-02-15  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Allow controlling minimum DOMTimer interval on a per-page basis
        https://bugs.webkit.org/show_bug.cgi?id=54312

        Renamed DOMTimer::minTimerInterval and setMinTimerInterval to
        defaultMinTimerInterval and setDefaultMinTimerInterval, made them
        private and exposed them via Settings::defaultMinDOMTimerInterval
        and setDefaultMinDOMTimerInterval. Added new
        Settings::setMinDOMTimerInterval and minDOMTimerInterval.

        The storage for the minimum timer interval currently lives in the
        Page, though this could be moved to the Settings object if
        desired. The accessor methods on the Page are private and exposed
        to Settings by making Settings a friend, so the abstraction
        barrier is clear at the API level.

        Adjusting the interval both upward and downward may cause the fire
        times of the active timers on the page to be adjusted, if they
        would be affected by the clamping value. This is needed to reduce
        latency when bringing a tab to the foreground, in particular if
        the minimum timer interval was decreased from a very high value to
        a very low value.

        A new method, setMinimumTimerInterval, has been added to
        LayoutTestController, implemented in all ports of DumpRenderTree,
        and used in new layout tests.

        Ideally changing the page's minimum timer interval would affect
        dedicated workers, but this is too much to do in an initial patch,
        so a FIXME has been added.

        Tested with:
          - The new layout tests on the WebKit Mac and Chromium (Mac,
            Linux) DRT ports.
          - Hooked up the new API in Chromium and ran some simple manual
            tests.

        Tests: fast/dom/timer-increase-min-interval-and-reset-part-1.html
               fast/dom/timer-increase-min-interval-and-reset-part-2.html
               fast/dom/timer-increase-min-interval.html
               fast/dom/timer-increase-then-decrease-min-interval.html

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::minimumTimerInterval):
        * dom/Document.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
        (WebCore::ScriptExecutionContext::minimumTimerInterval):
        * dom/ScriptExecutionContext.h:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):
        (WebCore::DOMTimer::fired):
        (WebCore::DOMTimer::adjustMinimumTimerInterval):
        (WebCore::DOMTimer::intervalClampedToMinimum):
        * page/DOMTimer.h:
        (WebCore::DOMTimer::defaultMinTimerInterval):
        (WebCore::DOMTimer::setDefaultMinTimerInterval):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::setMinimumTimerInterval):
        (WebCore::Page::minimumTimerInterval):
        * page/Page.h:
        * page/Settings.cpp:
        (WebCore::Settings::setDefaultMinDOMTimerInterval):
        (WebCore::Settings::defaultMinDOMTimerInterval):
        (WebCore::Settings::setMinDOMTimerInterval):
        (WebCore::Settings::minDOMTimerInterval):
        * page/Settings.h:
        * platform/Timer.h:
        (WebCore::TimerBase::augmentFireInterval):
        (WebCore::TimerBase::augmentRepeatInterval):

2011-02-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        Fix scrollbar rendering crash when rendered into a layer
        https://bugs.webkit.org/show_bug.cgi?id=54494

        Remove code added in r78394 which was intended to find out whether
        a scrollbar was being rendered into a compositing layer. r78612 
        obviated the need for this code.

        * page/FrameView.h:
        * platform/ScrollableArea.h:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:

2011-02-15  Simon Fraser  <simon.fraser@apple.com>

        Let Xcode have its way with the project.
        
        * WebCore.xcodeproj/project.pbxproj:

2011-02-15  Simon Fraser  <simon.fraser@apple.com>

        Fix Mac builds that don't use rubber-band scrolling
        by moving m_drawingIntoLayer out of the #ifdef.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):

2011-02-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [Freetype] Better map CSS font weight to Fontconfig font weight
        https://bugs.webkit.org/show_bug.cgi?id=54323

        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::fontWeightToFontconfigWeight): Added this helper to map between CSS and
        Fontconfig font weights.
        (WebCore::FontCache::createFontPlatformData): Use the new helper instead of just
        deciding between bold and regular.

2011-02-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Fix scrollbar rendering crash when rendered into a layer
        https://bugs.webkit.org/show_bug.cgi?id=54494
        
        The scroller delegate was failing to return a layer in a case
        where the scroller was still rendering into a GraphicsLayer, because
        even though WebCore had switched out of compositing mode, the
        DrawingAreaImpl was still rendering into its nonCompositedContent
        layer. This happens when the m_exitCompositingTimer timer hasn't fired
        yet.
        
        The fix is to track whether we're drawing into a layer via the
        GraphicsContext, rather than asking about compositing layers.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setIsCALayerContext):
        (WebCore::GraphicsContext::isCALayerContext):
        Getter and setter for the bit that says if we're rendering into a CALayer.

        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        Store a bool for whether this context targets a layer.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents): Call setIsCALayerContext(true).
        
        * platform/mac/ScrollAnimatorMac.h:
        (WebCore::ScrollAnimatorMac::setIsDrawingIntoLayer):
        (WebCore::ScrollAnimatorMac::isDrawingIntoLayer):
        New methods to get and set a flag that says when we're
        drawing into a layer, so that the delegate can get at this state.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer()
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::unregisterScrollbar): Whitespace.
        (WebCore::ScrollbarThemeMac::paint): Push the "isDrawingIntoLayer"
        state down onto ScrollAnimatorMac, getting it from the GraphicsContext.

2011-02-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers
        https://bugs.webkit.org/show_bug.cgi?id=54481

        We should really sync all headers with the NPAPI repository, but doing that
        lead to build errors so I just added what was needed.

        * bridge/npapi.h:
        Add new functions.

        * bridge/nptypes.h:
        Sync with the official NPAPI repository, adding 64-bit integer types and
        removing a duplicate license header.

        * plugins/npfunctions.h:
        Add new functions.

2011-02-15  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=54486
        Crashes under CachedResourceLoader::revalidateResource
        
        CachedResourceLoader might get deleted from under one of its methods.
        Try to catch a more informative crash stack.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::~CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        (WebCore::CachedResourceLoader::load):
        (WebCore::CachedResourceLoader::loadDone):
        (WebCore::CachedResourceLoader::preload):
        (WebCore::CachedResourceLoader::requestPreload):
        * loader/cache/CachedResourceLoader.h:

2011-02-15  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        Optimize Color::serialized()
        https://bugs.webkit.org/show_bug.cgi?id=54452

        Apply the optimizations from CSSPrimitiveValue::cssText() [CSS_RGBCOLOR]
        to Color::serialized() - build the serialized color strings manually
        instead of using String::format().

        * platform/graphics/Color.cpp:
        (WebCore::appendHexNumber):
        (WebCore::Color::serialized):

2011-02-15  Jarred Nicholls  <jarred@sencha.com>

        Reviewed by Alexey Proskuryakov.

        XMLHttpRequest::abort() doesn't clear response data
        https://bugs.webkit.org/show_bug.cgi?id=54118

        Properly clear all buffer data on abort, so no memory hangs around unnecessarily.

        No new tests because there is no observable effect except for less memory used.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::abort):

2011-02-15  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        Rename Color::name() to Color::nameForRenderTreeAsText()
        https://bugs.webkit.org/show_bug.cgi?id=54464

        Color::name() returns the color as either #RRGGBB or #RRGGBBAA.
        Since the latter is not a valid CSS color, it can't be re-parsed
        by WebKit, and should only be used in DRT dumps.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::extractTextStyles):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * platform/graphics/Color.cpp:
        (WebCore::Color::nameForRenderTreeAsText):
        * platform/graphics/Color.h:
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::dumpProperties):
        * platform/graphics/filters/FEFlood.cpp:
        (WebCore::FEFlood::externalRepresentation):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::writeRenderSVGTextBox):
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::cssText):

2011-02-15  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Andreas Kling.

        [Qt] Typo fix.

        No new tests needed.

        * WebCore.pro: add missing ASCII to header name.

2011-02-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: test whether inspector gets populated with databases and storages upon opening.
        https://bugs.webkit.org/show_bug.cgi?id=54469

        Tests: http/tests/inspector-enabled/database-open.html
               http/tests/inspector-enabled/dom-storage-open.html

        * inspector/front-end/DOMStorage.js:
        * inspector/front-end/Database.js:
        (WebInspector.DatabaseDispatcher.prototype.addDatabase):

2011-02-15  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        Share the helper functions used by Latin-1 and UTF-8 text codecs
        https://bugs.webkit.org/show_bug.cgi?id=54446

        Move MachineWord, UCharByteFiller and the other helper functions
        into TextCodecASCIIFastPath.h where they can be used by both
        TextCodecUTF8 and TextCodecLatin1.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/text/TextCodecASCIIFastPath.h: Added.
        (WebCore::isAllASCII):
        (WebCore::copyASCIIMachineWord):
        (WebCore::isAlignedToMachineWord):
        (WebCore::alignToMachineWord):
        * platform/text/TextCodecLatin1.cpp:
        (WebCore::TextCodecLatin1::decode):
        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::decode):

2011-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by Kent Tamura.

        Code style issue in WebCore/dom/InputElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=54428

        Remove 2 extra spaces in InputElement.cpp line 221.

        Code style fix, No new tests.

        * dom/InputElement.cpp:
        (WebCore::InputElement::handleBeforeTextInsertedEvent):

2011-02-15  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GStreamer] Video player sets system volume to 100%
        https://bugs.webkit.org/show_bug.cgi?id=54140

        Don't explicitely set volume at startup and use the
        GstStreamVolume interface with cubic volume scale when
        updating/retrieving the volume value. This gives a much better
        user-experience.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

2011-02-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch script-src for Content Security Policy
        https://bugs.webkit.org/show_bug.cgi?id=54381

        This patch provides a sketch of the script-src directive.  We still do
        not parse the value of the directive, and the wiring into the rest of
        WebCore is incorrect, but those are things we can fix in future
        patches.  For the momemnt, this patch lets us test what we're doing.

        Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirective::CSPDirective):
        (WebCore::CSPDirective::allows):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
        (WebCore::ContentSecurityPolicy::parse):
        (WebCore::ContentSecurityPolicy::emitDirective):
        * page/ContentSecurityPolicy.h:

2011-02-15  Antti Koivisto  <antti@apple.com>

        Reviewed by Andreas Kling.

        svg/custom/use-css-no-effect-on-shadow-tree.svg produces empty image on Chromium Linux after r58556
        https://bugs.webkit.org/show_bug.cgi?id=54460
        
        Don't use fast path for SVG. There are some additional rules for shadow trees that are not
        implemented on fast path.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkSelector):

2011-02-15  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 1.

        Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
        thus unnecessary duplications can be removed from project files.

        No new tests needed.

        * CodeGenerators.pri: Copied from Source/WebCore/WebCore.pri.
        Don't add non-source generated files to SOURCES.
        * DerivedSources.pro: Change WebCore.pri to CodeGenerators.pri.
        * WebCore.pri: Move code generation rules to CodeGenerators.pri.
        * WebCore.pro: Move common options to WebCore.pri.

2011-02-15  Charlie Reis  <creis@chromium.org>

        Reviewed by Mihai Parparita.

        Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy
        https://bugs.webkit.org/show_bug.cgi?id=54219

        Ensures we do not start a new navigation while we are in the process of
        stopping a navigation.  Also adds a manual test, since the crash can
        only be reproduced using the back button and not history.back().

        * loader/FrameLoader.cpp:
        * manual-tests/navigation-during-onload-triggered-by-back.html: Added.
        * manual-tests/resources/navigation-during-onload-container.html: Added.

2011-02-15  Bill Budge  <bbudge@chromium.org>

        Reviewed by David Levin.

        SubresourceLoader should expose finish time
        https://bugs.webkit.org/show_bug.cgi?id=54287

        No tests needed, exposes no new functionality

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didFinishLoading):
        * loader/DocumentThreadableLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didFinishLoading):
        * loader/SubresourceLoaderClient.h:
        (WebCore::SubresourceLoaderClient::didFinishLoading):
        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::didFinishLoading):
        * loader/cache/CachedResourceRequest.h:
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didFinishLoading):
        * loader/icon/IconLoader.h:

2011-02-15  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        Enable fast path selector checking for child and subselector combinators
        https://bugs.webkit.org/show_bug.cgi?id=54360

        * css/CSSStyleSelector.cpp:
        (WebCore::isFastCheckableSelector):
        (WebCore::fastCheckSingleSelector):
        (WebCore::checkClassValue):
        (WebCore::checkIdValue):
        (WebCore::checkTagValue):
        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):

2011-02-15  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: console auto-scroll is broken when there are both scrollers.
        https://bugs.webkit.org/show_bug.cgi?id=54273

        * inspector/front-end/utilities.js:
        (Element.prototype.isScrolledToBottom): use clientHeight instead of offsetHeight to determine
        whether the element is scrolled to the bottom.

2011-02-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells
        https://bugs.webkit.org/show_bug.cgi?id=53910

        Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip.

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::drawNodeHighlight):

2011-02-15  Dirk Schulze  <krit@webkit.org>

        Rubber-stamped by Nikolas Zimmermann.

        SVG animation doesn't support attribute value 'inherit'
        https://bugs.webkit.org/show_bug.cgi?id=54410

        Accidently replaced start value RegularPropertyValue for m_fromPropertyValueType
        and m_toPropertyValueType by CurrentColorValue before landing. Check for property
        value type 'inherit' on color validation was missing.

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):

2011-02-15  Adam Roben  <aroben@apple.com>

        Windows build fix after r78533

        * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax.

2011-02-15  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Antti Koivisto.

        SharedBuffer::buffer() does not do what you think.
        https://bugs.webkit.org/show_bug.cgi?id=54420

        No new tests.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::resourceContentBase64):
        * platform/SharedBuffer.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):

2011-02-15  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG animation doesn't support attribute value 'inherit'
        https://bugs.webkit.org/show_bug.cgi?id=54410

        SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines
        if the attribute of the target element is an animatable CSS Property and computes the style during the
        animation.

        This fixes the following tests on the W3C test suite:
        * animate-elem-84-t.svg
        * animate-elem-85-t.svg

        Tests: svg/animations/animate-currentColor.html
               svg/animations/animate-inherit-css-property.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::adjustForCurrentColor):
        (WebCore::adjustForInheritance):
        (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor'
        during the animation, get the computed style of the property since the values could be animated themselves.
        (WebCore::inheritsFromProperty):
        (WebCore::attributeValueIsCurrentColor):
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the
        string 'inherit' or 'currentColor' and if the attribute supports one of these values.
        (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and
        the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement.
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency.
        * svg/SVGAnimationElement.h:
        * svg/SVGStyledElement.cpp: 
        (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable.
        * svg/SVGStyledElement.h:
        * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine
        if the target element is stylable and the attribute is an animatable CSS property.
        (WebCore::SMILTimeContainer::baseValueFor):

2011-02-15  Antti Koivisto  <antti@apple.com>

        Reviewed by Andreas Kling.

        r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html
        https://bugs.webkit.org/show_bug.cgi?id=54418
        
        Check for zero buffer length.

        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::decode):

2011-02-15  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix.

        * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct.

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

        Reviewed by Ryosuke Niwa.

        Refactoring: Extract TextCheckerClient from EditorClient
        https://bugs.webkit.org/show_bug.cgi?id=53213
        
        Created new abstract class TextCheckerClient. The class has
        spellcheck related API which is split.
        This is the first step for sharing spell-checking codebase
        between ports. A standalone TextCheckerClient implementation
        should be done in future changes.

        No new tests. No behavioral change.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetSpelling):
        * editing/Editor.cpp: Replacing some client() call with textChecker().
        (WebCore::Editor::textChecker): Added.
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::Editor::markMisspellingsAfterTypingToWord):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::correctionPanelTimerFired):
        * editing/Editor.h:
        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::SpellChecker):
        * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker().
        (WebCore::TextCheckingHelper::findFirstMisspelling):
        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
        (WebCore::TextCheckingHelper::findFirstBadGrammar):
        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
        * loader/EmptyClients.h: Added EmptyTextCheckerClient.
        (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument):
        (WebCore::EmptyTextCheckerClient::learnWord):
        (WebCore::EmptyTextCheckerClient::checkSpellingOfString):
        (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord):
        (WebCore::EmptyTextCheckerClient::checkGrammarOfString):
        (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
        (WebCore::EmptyTextCheckerClient::getGuessesForWord):
        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
        (WebCore::EmptyEditorClient::textChecker):
        * page/EditorClient.h: Extracted TextCheckerClient.
        * page/Page.h:
        * platform/text/TextCheckerClient.h: Added.
        (WebCore::TextCheckerClient::~TextCheckerClient):

2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Adam Barth.

        Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
        https://bugs.webkit.org/show_bug.cgi?id=52417

        Added two callback functions, canCopyCut and canPaste to EditorClient. These functions
        returns true iff the current frame should be able to copy/cut and paste respectively.
        They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard.

        These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled
        per frame and thus per origin rather than per page.

        No new tests are added since this is a WebKit/WebCore interface change.

        * editing/EditorCommand.cpp:
        (WebCore::supportedCopyCut): Calls canCopyCut.
        (WebCore::supportedPaste): Calls canPaste.
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::canCopyCut): Added.
        (WebCore::EmptyEditorClient::canPaste): Added.
        * page/EditorClient.h:

2011-02-14  Jeremy Orlow  <jorlow@chromium.org>

        efl build fix

        * CMakeLists.txt:

2011-02-11  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Finish up implementing the new event model in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=54331

        We shouldn't have our own event subclasses. Instead, we
        should just fire Event's with the proper type and bubble
        settings. All the attributes on the events before should
        just be on the request. IDBRequest should throw if they're
        accessed before the success event fires.

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Event.cpp:
        * dom/Event.h:
        * page/DOMWindow.idl:
        * storage/IDBAbortEvent.h: Removed.
        * storage/IDBCompleteEvent.cpp: Removed.
        * storage/IDBCompleteEvent.h: Removed.
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::~IDBDatabase):
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBErrorEvent.cpp: Removed.
        * storage/IDBErrorEvent.h: Removed.
        * storage/IDBErrorEvent.idl: Removed.
        * storage/IDBEvent.h: Removed.
        * storage/IDBEvent.idl: Removed.
        * storage/IDBEventDispatcher.cpp:
        (WebCore::IDBEventDispatcher::dispatch):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::result):
        (WebCore::IDBRequest::errorCode):
        (WebCore::IDBRequest::webkitErrorMessage):
        (WebCore::IDBRequest::source):
        (WebCore::IDBRequest::transaction):
        (WebCore::IDBRequest::readyState):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::onError):
        (WebCore::createSuccessEvent):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBRequest.h:
        * storage/IDBRequest.idl:
        * storage/IDBSuccessEvent.cpp: Removed.
        * storage/IDBSuccessEvent.h: Removed.
        * storage/IDBSuccessEvent.idl: Removed.
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        (WebCore::IDBTransaction::dispatchEvent):

2011-02-14  Enrica Casucci  <enrica@apple.com>

        Copy/paste from a WebKit window to a TextEdit window loses fonts.
        <rdar://problem/8623090>
        https://bugs.webkit.org/show_bug.cgi?id=54416
        
        Reviewed by Dan Bernstein.
        
        We don't have the complete solution that fixes this problem for WebKit2 yet.
        This patch fixes the regression in WebKit.

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text,
        for WebKit use the original API to create the NSAttributedString.

2011-02-14  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Strikethrough disappears when posting a message on odnoklassniki.ru
        https://bugs.webkit.org/show_bug.cgi?id=53475

        Changing the behavior of the strikethrough execCommand when styleWithCSS
        is false. We formerly created <s> tags, which was different than both IE
        and FF and caused problems with some rich text editors that would strip
        out unexpected tags such as <s>.

        Test: editing/execCommand/strikethrough-uses-strike-tag.html

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

2011-02-14  Pratik Solanki  <psolanki@apple.com>

        Remove dead code in FormDataStreamCFNet.cpp
        https://bugs.webkit.org/show_bug.cgi?id=54401

        Reviewed by Darin Adler.

        The static functions in this file are no longer reachable. We added a conditional branch to
        use new CFNetwork functions in r30329 and later made that code path permanent in r41517
        which made these functions unreachable.

        * platform/network/cf/FormDataStreamCFNet.cpp:

2011-02-14  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        GraphicsContext: Add clip(IntRect) overload for Qt
        https://bugs.webkit.org/show_bug.cgi?id=54365

        Qt has special code paths for clipping to integer rectangles.
        Add a GraphicsContext::clip() overload to allow us to take
        advantage of the optimized code.

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

2011-02-14  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Add built-in decoder for UTF-8 for improved performance
        https://bugs.webkit.org/show_bug.cgi?id=53898

        Covered by existing tests; not adding new tests at this time.

        This patch now handles errors in the same way the existing codecs do,
        and so passes our tests. The first version failed some tests because
        of incorrect error handling. The second version was missing one line
        of code that made it decode incomplete sequences at the end of the
        buffer twice.

        * platform/text/TextCodecICU.cpp:
        (WebCore::create): Renamed from newTextCodecICU, made a static member
        function, and added a call to adoptPtr.
        (WebCore::TextCodecICU::registerEncodingNames): Renamed from
        registerExtendedEncodingNames since this class is no longer used for
        base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
        (WebCore::TextCodecICU::registerCodecs): Renamed.
        (WebCore::fallbackForGBK): Renamed to conform to our current style.

        * platform/text/TextCodecICU.h: Updated for above changes. Changed
        indentation. Made most functions private, including virtual function
        overrides. Marked ICUConverterWrapper noncopyable.

        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
        that were formerly added by TextCodecICU.
        (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
        bytes F5-FF instead of failing.
        (WebCore::decodeNonASCIISequence): Tweaked coding style.
        (WebCore::appendCharacter): Added. Makes it easier to share code between
        the partial-character handling and main loop.
        (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
        where there is a partial sequence. Fixed partial sequence handling so that
        goto is no longer needed, since compilers sometimes make poor code when
        goto is involved. Added a loop for partial sequences since we consume only
        one byte when a partial sequence is invalid. Fixed logic in main decoding
        loop so goto is not needed. Used early-exit style in both loops so the main
        flow is not nested inside if statements. Added correct error handling for
        flush when a partial sequence remains, which involved wrapping the function
        in yet another loop.

        * platform/text/TextCodecUTF8.h: Made virtual function overrides private.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
        calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
        to be included here.
        (WebCore::extendTextCodecMaps): Updated for the name change of the
        TextCodecICU functions.

2011-02-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add basic parser for Content Security Policy
        https://bugs.webkit.org/show_bug.cgi?id=54379

        The parser in this patch is very basic.  It just segments the CSP
        header into directives.  The exactly syntax will likely change a bit as
        we discuss the details in public-web-security, but this parser will
        allow us to make progress.

        Sadly, this patch does not contain any tests.  That's because CSP
        policies do not have any observable effects yet.  Hopefully we'll get
        enough sketched out in the next couple patches to begin writing tests.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirective::CSPDirective):
        (WebCore::CSPDirective::name):
        (WebCore::CSPDirective::value):
        (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::parse):
        * page/ContentSecurityPolicy.h:

2011-02-14  Andrew Wason  <rectalogic@rectalogic.com>

        Reviewed by Kenneth Russell.

        [Qt] WebKit fails to compile for Qt when WebGL enabled
        https://bugs.webkit.org/show_bug.cgi?id=53431

        No new tests.

        * WebCore.pro:
          Add source and header files and include directory to Qt project.
        * html/canvas/WebGLRenderingContext.cpp:
          File uses 'emit' which is a Qt keyword - #undef emit.
        * platform/graphics/gpu/qt: Added.
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added.
          Partial implementation of DrawingBuffer for Qt.
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::~DrawingBuffer):
        (WebCore::DrawingBuffer::didReset):
        (WebCore::DrawingBuffer::platformLayer):
        (WebCore::DrawingBuffer::platformColorBuffer):
        * platform/graphics/qt/Extensions3DQt.cpp:
          Noop implementation for pure virtual methods added to Extensions3D.h
        (WebCore::Extensions3DQt::blitFramebuffer):
        (WebCore::Extensions3DQt::renderbufferStorageMultisample):
        * platform/graphics/qt/Extensions3DQt.h:
          Declare new methods added to Extensions3D.h
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
          Remove method implementations no longer in GraphicsContext3D.h.
          Change m_syntheticErrors to use unsigned int to match new
          GC3Denum type.
        (WebCore::GraphicsContext3D::create):
         Change return type to match GraphicsContext3D.h
        (WebCore::GraphicsContext3D::lineWidth):
         Change argument type to GC3Dfloat to match GraphicsContext3D.h
        (WebCore::GraphicsContext3D::getUniformLocation):
         Change return type to GC3Dfloat to match GraphicsContext3D.h
        (WebCore::GraphicsContext3D::getExtensions):
         Need to call get() on OwnPtr.
        (WebCore::GraphicsContext3D::getImageData):
         Rename enum values to match declarations in GraphicsContext3D.h

2011-02-14  Tony Chang  <tony@chromium.org>

        Reviewed by Dimitri Glazkov.

        <select> elements don't honor border:0px in chromium-linux
        https://bugs.webkit.org/show_bug.cgi?id=51152

        No new tests, covered by existing pixel results (fast/forms/basic-selects.html
        convers lots of cases).

        * css/themeChromiumLinux.css:
        (select):
        * platform/chromium/PlatformBridge.h:
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::paintButton):
        (WebCore::RenderThemeChromiumLinux::paintMenuList):
          match border logic in RenderThemeChromiumWin.cpp:
          http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463

2011-02-14  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix rendering of ISO-8859-8 when dir="rtl".
        https://bugs.webkit.org/show_bug.cgi?id=52128

        Test: fast/text/international/iso-8859-8.html

        * platform/text/BidiResolver.h: Add VisualDirectionOverride enum.
        (WebCore::::createBidiRunsForLine): For lines with visual direction override,
        create bidi runs without resolving bidi levels (one run per render object), 
        set bidi level as 0 or 1 depending on LTR or RTL override, 
        and reverse runs for RTL override.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as
        BidiRun's bidi level without special handling of VisualDirectionOverride.
        (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride 
        to createBidiRunsForLine().

2011-02-14  Alexis Menard  <alexis.menard@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Crash on application exit after constructing and destroying a QWebView twice
        https://bugs.webkit.org/show_bug.cgi?id=54000

        Check the value is valid before use it.

        * platform/qt/SharedTimerQt.cpp:
        (WebCore::SharedTimerQt::~SharedTimerQt):

2011-02-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel
        https://bugs.webkit.org/show_bug.cgi?id=33220

        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):

2011-02-14  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Modify LayerTilerChromium to use TilingData.
        https://bugs.webkit.org/show_bug.cgi?id=54143

        Most of the previous data in LayerTilerChromium is now calculated
        from TilingData.  TilingData was modified to allow for a dynamic
        tile size and page size.  LayerTilerChromium also gets its own
        shader with a texture transform to handle drawing from a texture
        that is larger than a tile.

        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::tilerSharedValues):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::create):
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::setTileSize):
        (WebCore::LayerTilerChromium::reset):
        (WebCore::LayerTilerChromium::contentRectToTileIndices):
        (WebCore::LayerTilerChromium::tileIndex):
        (WebCore::LayerTilerChromium::tileContentRect):
        (WebCore::LayerTilerChromium::tileLayerRect):
        (WebCore::LayerTilerChromium::layerSize):
        (WebCore::LayerTilerChromium::layerTileSize):
        (WebCore::LayerTilerChromium::invalidateEntireLayer):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::resizeLayer):
        (WebCore::LayerTilerChromium::growLayerToContain):
        (WebCore::LayerTilerChromium::drawTexturedQuad):
        (WebCore::LayerTilerChromium::SharedValues::SharedValues):
        (WebCore::LayerTilerChromium::SharedValues::~SharedValues):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram):
        (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation):
        (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation):
        (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation):
        (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation):
        (WebCore::LayerTilerChromium::SharedValues::initialized):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::computeNumTiles):
        (WebCore::TilingData::TilingData):
        (WebCore::TilingData::setTotalSize):
        (WebCore::TilingData::setMaxTextureSize):
        (WebCore::TilingData::tileSizeX):
        (WebCore::TilingData::tileSizeY):
        (WebCore::TilingData::textureOffset):
        (WebCore::TilingData::recomputeNumTiles):
        * platform/graphics/gpu/TilingData.h:

2011-02-14  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization
        https://bugs.webkit.org/show_bug.cgi?id=54388

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.set readOnly):
        (WebInspector.TextEditorChunkedPanel):
        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
        (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates):
        (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates):
        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
        (WebInspector.TextEditorMainPanel):
        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
        (WebInspector.TextEditorMainPanel.prototype._paintLine):
        (WebInspector.TextEditorMainPanel.prototype.textChanged):
        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return):
        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
        (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
        (WebInspector.TextEditorMainChunk.prototype.set expanded):

2011-02-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: use call frame column to determine execution line in source frame.
        https://bugs.webkit.org/show_bug.cgi?id=54001

        - Make call frame line and column zero based
        - Set execution line in source frame based on call frame line:column
        - Determine currently hit breakpoint based on call frame line:column

        * bindings/js/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
        * bindings/js/JavaScriptCallFrame.h:
        (WebCore::JavaScriptCallFrame::create):
        (WebCore::JavaScriptCallFrame::line):
        (WebCore::JavaScriptCallFrame::column):
        (WebCore::JavaScriptCallFrame::update):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
        * bindings/v8/DebuggerScript.js:
        ():
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.continueToLocation):
        (WebInspector.DebuggerModel.prototype._pausedScript):
        (WebInspector.DebuggerModel.prototype._breakpointForCallFrame):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
        (WebInspector.SourceFrame.prototype.setExecutionLocation):
        (WebInspector.SourceFrame.prototype.clearExecutionLocation):
        (WebInspector.SourceFrame.prototype._setExecutionLocation):
        (WebInspector.SourceFrame.prototype._breakpointAdded):
        (WebInspector.SourceFrame.prototype._continueToLine):
        (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber):

2011-02-14  Christian Dywan  <christian@lanedo.com>

        Reviewed by Gustavo Noronha Silva.

        Regression: Back, Forward, Reload hidden in context menu
        https://bugs.webkit.org/show_bug.cgi?id=54393

        * page/ContextMenuController.cpp: Always show Back, Forward,
            Reload and Stop context menu items for the GTK+ port.

2011-02-14  Johnny Ding  <jnd@chromium.org>

        Reviewed by Andreas Kling.

        Move the finiteness check into common code.

        Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html

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

2011-02-14  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Kent Tamura.

        Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded()
        https://bugs.webkit.org/show_bug.cgi?id=54377

        Rearranged the condition blocks, removed superfluous conditions:
        .) if-statements where it's already clear that a search field is being generated
        .) testing for spin-buttons on field types that can never have them.

        createInnerBlockStyle(): only search fields create an inner block, and
        these can never have spin buttons.

        No new tests. (Refactoring - covered by existing tests)

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):

2011-02-10  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: refactoring, extract SourceMapping from SourceFrameContent.
        https://bugs.webkit.org/show_bug.cgi?id=54195

        Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript.
        Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details.

        * inspector/front-end/ResourceView.js:
        (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.locationToPosition):
        (WebInspector.ScriptFormatter.positionToLocation):
        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
        (WebInspector.ScriptFormatter.prototype.formatContent):
        (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
        (WebInspector.SourceMappingForFormattedScript):
        (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation):
        (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation):
        (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation):
        (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._createTextViewer):
        (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint):
        (WebInspector.SourceFrame.prototype.setExecutionLine):
        (WebInspector.SourceFrame.prototype.clearExecutionLine):
        (WebInspector.SourceFrame.prototype._breakpointAdded):
        (WebInspector.SourceFrame.prototype.formatSource.didFormat):
        (WebInspector.SourceFrame.prototype.formatSource):
        (WebInspector.SourceFrame.prototype._continueToLine):
        (WebInspector.SourceFrame.prototype._setBreakpoint):
        (WebInspector.SourceFrame.prototype._findBreakpoint):
        (WebInspector.SourceFrameContentProvider.prototype.requestContent):
        * inspector/front-end/SourceFrameContent.js:
        (WebInspector.SourceFrameContent):
        (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation):
        (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber):
        (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber):
        (WebInspector.SourceMapping):
        (WebInspector.SourceMapping.prototype.fromScriptLocation):
        (WebInspector.SourceMapping.prototype.toScriptLocation):
        (WebInspector.IdenticalSourceMapping):
        (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation):
        (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation):
        * inspector/front-end/utilities.js:
        (String.prototype.lineEndings):

2011-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector.
        https://bugs.webkit.org/show_bug.cgi?id=54277

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::populateScriptObjects):
        (WebCore::InspectorAgent::stopUserInitiatedProfiling):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::showPanel):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::showAndEnableDebugger):
        (WebCore::InspectorController::stopUserInitiatedProfiling):

2011-02-14  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Andreas Kling.

        css style="max-width:none" works wrong
        https://bugs.webkit.org/show_bug.cgi?id=53743

        Fix a bug that "max-width:none" works wrong.
        See also: http://trac.webkit.org/changeset/13462

        Test: fast/css/max-width-none.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): For max-width of none,
        set it to Length(undefinedLength, Fixed), which is the correct
        value.

2011-02-14  Antti Koivisto  <antti@apple.com>

        Reviewed by Andreas Kling.

        REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg
        https://bugs.webkit.org/show_bug.cgi?id=54344
        
        Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::recalcStyle):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:

2011-02-14  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kent Tamura.

        [Chromium] Fix wrong popup position for RTL(again)
        https://bugs.webkit.org/show_bug.cgi?id=54375

        Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position.

        No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset().
        (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect().
        (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value.
        (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect().
        * platform/chromium/PopupMenuChromium.h: Change the function name and parameters.

2011-02-14  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed, rolling out r78451.
        http://trac.webkit.org/changeset/78451
        https://bugs.webkit.org/show_bug.cgi?id=53898

        It is causing crashes in some bots

        * platform/text/TextCodecICU.cpp:
        (WebCore::newTextCodecICU):
        (WebCore::TextCodecICU::registerBaseEncodingNames):
        (WebCore::TextCodecICU::registerBaseCodecs):
        (WebCore::TextCodecICU::registerExtendedEncodingNames):
        (WebCore::TextCodecICU::registerExtendedCodecs):
        (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
        (WebCore::getGbkEscape):
        (WebCore::urlEscapedEntityCallback):
        (WebCore::gbkCallbackEscape):
        (WebCore::gbkUrlEscapedEntityCallack):
        (WebCore::gbkCallbackSubstitute):
        * platform/text/TextCodecICU.h:
        (WebCore::ICUConverterWrapper::ICUConverterWrapper):
        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::registerEncodingNames):
        (WebCore::nonASCIISequenceLength):
        (WebCore::decodeNonASCIISequence):
        (WebCore::TextCodecUTF8::decode):
        * platform/text/TextCodecUTF8.h:
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):

2011-02-13  Antti Koivisto  <antti@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=54376
        Make sorting of matched rules faster
        
        - use std::sort
        - cache specificity, it is slow to compute
        - inline compare function

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::specificity):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::compareRules):
        (WebCore::CSSStyleSelector::sortMatchedRules):
        (WebCore::RuleData::RuleData):
        (WebCore::CSSStyleSelector::matchPageRules):
        * css/CSSStyleSelector.h:

2011-02-12  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Add built-in decoder for UTF-8 for improved performance
        https://bugs.webkit.org/show_bug.cgi?id=53898

        Covered by existing tests; not adding new tests at this time.

        This patch now handles errors in the same way the existing codecs do,
        and so passes our tests. The previous version failed some tests because
        of incorrect error handling.

        * platform/text/TextCodecICU.cpp:
        (WebCore::create): Renamed from newTextCodecICU, made a static member
        function, and added a call to adoptPtr.
        (WebCore::TextCodecICU::registerEncodingNames): Renamed from
        registerExtendedEncodingNames since this class is no longer used for
        base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
        (WebCore::TextCodecICU::registerCodecs): Renamed.
        (WebCore::fallbackForGBK): Renamed to conform to our current style.

        * platform/text/TextCodecICU.h: Updated for above changes. Changed
        indentation. Made most functions private, including virtual function
        overrides. Marked ICUConverterWrapper noncopyable.

        * platform/text/TextCodecUTF8.cpp:
        (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
        that were formerly added by TextCodecICU.
        (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
        bytes F5-FF instead of failing.
        (WebCore::decodeNonASCIISequence): Tweaked coding style.
        (WebCore::appendCharacter): Added. Makes it easier to share code between
        the partial-character handling and main loop.
        (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
        where there is a partial sequence. Fixed partial sequence handling so that
        goto is no longer needed, since compilers sometimes make poor code when
        goto is involved. Added a loop for partial sequences since we consume only
        one byte when a partial sequence is invalid. Fixed logic in main decoding
        loop so goto is not needed. Used early-exit style in both loops so the main
        flow is not nested inside if statements. Added correct error handling for
        flush when a partial sequence remains, which involved wrapping the function
        in yet another loop.

        * platform/text/TextCodecUTF8.h: Made virtual function overrides private.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
        calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
        to be included here.
        (WebCore::extendTextCodecMaps): Updated for the name change of the
        TextCodecICU functions.

2011-02-13  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.

        * platform/network/mac/AuthenticationMac.mm:
        (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
        (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):

2011-02-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Andreas Kling.

        Repeating gradients drawn incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=53502
        
        The 'forward-fill' logic for repeating gradients used the wrong
        starting stop index (0 rather than the original first index), which
        resulted in incorrect gradients if backwards-fill had already been
        applied.

        Test: fast/gradients/css3-repeating-end-fill.html

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

2011-02-13  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Andreas Kling.

        Unused variable result in RenderBlock::addOverflowFromFloats()
        https://bugs.webkit.org/show_bug.cgi?id=54363

        Remove the unused variable.

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

2011-02-13  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Anders Carlsson.

        WebCore fails to build with Clang's -Woverloaded-virtual
        https://bugs.webkit.org/show_bug.cgi?id=54367

        * loader/PingLoader.h:
        (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
        in the base class.

2011-02-13  Nico Weber  <thakis@chromium.org>

        Reviewed by Anders Carlsson.

        RenderBR::width() tries but fails to override RenderText::width()
        https://bugs.webkit.org/show_bug.cgi?id=54301

        The superclass method's signature changed, e.g. in
        http://trac.webkit.org/changeset/57215, but the subclass was not
        updated.

        * rendering/RenderBR.h:
        (WebCore::RenderBR::width):

2011-02-13  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        Canvas: 2d.fillStyle.parse.system.html fails
        https://bugs.webkit.org/show_bug.cgi?id=39168

        Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
        and Jan Erik Hanssen <jhanssen@sencha.com>

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor): Changed the function to better match our
        early return policy. Also we now return false when we don't parse the color.
        This is needed for createFromString to fallback to using parseSystemColor.

        (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
        the system colors.

        * css/CSSParser.h: Added the new parseSystemColor method.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
        (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.

        * html/canvas/CanvasStyle.cpp:
        (WebCore::parseColor):
        (WebCore::parseColorOrCurrentColor):
        (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
        and fall back to parseSystemColor if it did not work.

        * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.

2011-02-13  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Adam Barth.

        Add a compile-time option to completely disable WebArchive support.
        https://bugs.webkit.org/show_bug.cgi?id=52712

        Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.

        ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used
        in Safari for functionality such as "Save Image As" and Image copy & paste independent of
        WebArchive support.

        Ports Affected:
            WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt.
            This patch preserves this behavior except that it also disables support in the Chromium port.

        No behavior changes so no new tests.

        * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends.
        * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port.
        * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef.
        (WebCore::DocumentLoader::commitLoad):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::archiveResourceForURL):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::finishedLoadingDocument):
        * loader/FrameLoader.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::start):
        * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale.
        (WebCore::archiveMIMETypes):
        * page/Settings.cpp:
        * page/Settings.h:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedNonImageMimeTypes):

2011-02-13  Aparna Nandyal  <aparna.nand@wipro.com>

        Reviewed by Andreas Kling.

        [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
        https://bugs.webkit.org/show_bug.cgi?id=53320

        The encoding that was done is corrected in the fix.  
        Replaced the KURL encoding function with QUrl API.

        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asURL):

2011-02-13  Leo Yang  <leo.yang.c@gmail.com>

        Reviewed by Andreas Kling.

        Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
        https://bugs.webkit.org/show_bug.cgi?id=54351

        We were calling containingBlock() twice if the left is not auto. We only need to call it
        once because we can use 'cb' variable in the following line.

        No functionality change, no new tests.

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

2011-02-13  Jarred Nicholls  <jarred@sencha.com>

        Reviewed by Simon Fraser.

        getComputedStyle returns wrong value for margin-right
        https://bugs.webkit.org/show_bug.cgi?id=13343
        
        Matching IE, Firefox, and Opera behavior by returning the computed margin
        values as specified, rather than the used/auto values (calculated via RenderBox).
        Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable.
        Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE
        returns the specified percentage.

        Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html
               fast/css/getComputedStyle/getComputedStyle-margin-length.html
               fast/css/getComputedStyle/getComputedStyle-margin-percentage.html

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

2011-02-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        crypto.getRandomValues should throw TYPE_MISMATCH_ERR
        https://bugs.webkit.org/show_bug.cgi?id=54346

        As requested by Sam.

        * page/Crypto.cpp:
        (WebCore::Crypto::getRandomValues):

2011-02-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=54349
        Inline some accessors in PrintContext

        No change in behavior, so no tests.

        * WebCore.exp.in:
        * page/PrintContext.cpp:
        * page/PrintContext.h:
        (WebCore::PrintContext::pageCount):
        (WebCore::PrintContext::pageRect):
        Inline pageCount() and pageRect() to match pageRects().

2011-02-13  Sam Weinig  <sam@webkit.org>

        Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back
        in with fixes to make it work with render layers.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::contentsSize):
        (WebCore::RenderLayer::visibleHeight):
        (WebCore::RenderLayer::visibleWidth):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::visibleHeight):
        (WebCore::RenderListBox::visibleWidth):
        * rendering/RenderListBox.h:

2011-02-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Some Scrollbar functions assume an attached ScrollableArea but can be called without one
        https://bugs.webkit.org/show_bug.cgi?id=54262

        Make sure that all calls to the scrollable area are null checked.

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::autoscrollPressedPart):
        (WebCore::Scrollbar::moveThumb):
        (WebCore::Scrollbar::mouseMoved):

2011-02-13  Sam Weinig  <sam@webkit.org>

        Roll out r78424. It broke a bunch of tests.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::contentsSize):
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:

2011-02-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
        <rdar://problem/8984760> 

        When going down the smooth scroll path, constrained scrolls (such as those from a
        Mighty Mouse) were being correctly constrained at the ScrollView level, but the 
        duplicate values being stored by the animator were not being constrained correctly.

        In order to implement the constraint at this level, more of the ScrollableArea's API
        needed to be filled in for RenderLayer and RenderListBox.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay
        consistent and get the desired behavior.

        (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
        Ensure that the scroll animators view of the current scroll position is the
        same as the scrollable areas by correctly clamping the value.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::contentsSize): Correct implementation
        to use the scroll size, not the visible size.
        (WebCore::RenderLayer::visibleHeight):
        (WebCore::RenderLayer::visibleWidth):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::visibleHeight):
        (WebCore::RenderListBox::visibleWidth):
        * rendering/RenderListBox.h:
        Add implementations for visibleHeight/visibleWidth.

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

        Reviewed by Sam Weinig.

        crypto.getRandomValues should support all integer array types
        https://bugs.webkit.org/show_bug.cgi?id=54342

        As discussed on whatwg, we should support all the integer array types.

        Test: security/crypto-random-values-types.html

        * page/Crypto.cpp:
        (WebCore::Crypto::getRandomValues):

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

        Reviewed by Mark Rowe.

        Use /dev/urandom as the OSRandomSource on OS(DARWIN)
        https://bugs.webkit.org/show_bug.cgi?id=54279

        Update the ifdef.  OS(UNIX) includes OS(DARWIN), so this change is
        should be a NOP.

        * config.h:

2011-02-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Allow turning off multisampling through web preference settings
        https://bugs.webkit.org/show_bug.cgi?id=54321

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so.
        * page/Settings.cpp: Add a flag for multisampling preference.
        (WebCore::Settings::Settings):
        (WebCore::Settings::setOpenGLMultisamplingEnabled):
        * page/Settings.h: Ditto.
        (WebCore::Settings::openGLMultisamplingEnabled):

2011-02-12  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        Deploy EditingStyle in applyBlockStyle and applyInlineStyle
        https://bugs.webkit.org/show_bug.cgi?id=53911

        Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle.
        Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle.
        Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node*
        so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction.

        No new tests are added since this is a refactoring.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle.
        (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*.
        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection
        from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction.
        (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*.
        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead.
        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null.
        (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null.
        * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes.
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument.
        (WebCore::EditingStyle::init): Supports PropertiesToInclude.
        (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle.
        * editing/EditingStyle.h:
        (WebCore::EditingStyle::create): Supports PropertiesToInclude.

2011-02-12  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Jeremy Orlow.

        Implement IDBObjectStore::clear
        https://bugs.webkit.org/show_bug.cgi?id=54193

        Test: storage/indexeddb/objectstore-clear.html

        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::clear):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::clear):
        (WebCore::doDelete):
        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:

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

        Another attempt to fix the EFL build.  Looks like we're missing one
        more file.

        * CMakeLists.txt:

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

        Attempt to fix the EFL build.  Apparently the CMake build had no
        concept of ArrayBuffers.

        * CMakeLists.txt:

2011-02-12  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed build fix.

        * dom/Range.cpp:
        (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
        (WebCore::Range::processContents):
        (WebCore::Range::processContentsBetweenOffsets):

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

        CPP files belong in SOURCES not in HEADERS.  There are more errors like
        this for other disabled features, but I'm not fixing them in this
        patch.

        * WebCore.pro:

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

        Apparently lines in .pro files need to be \-terminated.

        * WebCore.pro:

2011-02-11  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Extract a function to process contents for one node from Range::processContents
        https://bugs.webkit.org/show_bug.cgi?id=54282

        Extracted Range::processContentsBetweenOffsets, which process contents of a node
        between two offsets. This function is used for the simple case where the start
        and the end containers are of the same node, and to process start and end containers
        in the complex case.

        When the function takes a non-null fragment (simple case), it appends the processed
        contents to the fragment; character data and processing instruction's contents are copied
        between the offsets, and descendants are copied for node of other types (not node itself).

        When the fragment is null (complex case), the function copies contents of character data,
        processing instruction, and node of other types (including node itself).

        No new tests are added since this is a refactoring.

        * dom/Range.cpp:
        (WebCore::highestAncestorUnderCommonRoot): Added.
        (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
        processContentsBetweenOffsets.
        (WebCore::Range::processContentsBetweenOffsets): Added.
        * dom/Range.h:

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

        Attempt to fix the Qt Windows build.

        * WebCore.pro:

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

        Reviewed by Kenneth Russell.

        Enable ArrayBuffers by default
        https://bugs.webkit.org/show_bug.cgi?id=54310

        As discussed on webkit-dev, ArrayBuffers are used by a bunch of
        different APIs, implemented by Firefox, and appear to be stable.
        Keeping them conditional is a large mantainance burden than it's worth.

        * DerivedSources.cpp:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
        * bindings/js/JSArrayBufferCustom.cpp:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDataViewCustom.cpp:
        * bindings/js/JSFloat32ArrayCustom.cpp:
        * bindings/js/JSInt16ArrayCustom.cpp:
        * bindings/js/JSInt32ArrayCustom.cpp:
        * bindings/js/JSInt8ArrayCustom.cpp:
        * bindings/js/JSUint16ArrayCustom.cpp:
        * bindings/js/JSUint32ArrayCustom.cpp:
        * bindings/js/JSUint8ArrayCustom.cpp:
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        * bindings/v8/custom/V8DataViewCustom.cpp:
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        * html/canvas/ArrayBuffer.cpp:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.cpp:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/DataView.cpp:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.cpp:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.cpp:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.cpp:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.cpp:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.cpp:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.cpp:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.cpp:
        * html/canvas/Uint8Array.idl:
        * page/Crypto.cpp:
        (WebCore::Crypto::getRandomValues):
        * page/Crypto.h:
        * page/Crypto.idl:
        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:

2011-02-11  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Background image positioning on RTL text
        https://bugs.webkit.org/show_bug.cgi?id=32862

        When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.

        Tests: fast/inline/inline-box-background-long-image.html
               fast/inline/inline-box-background-repeat-x.html
               fast/inline/inline-box-background-repeat-y.html
               fast/inline/inline-box-background.html

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

2011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r78044.
        http://trac.webkit.org/changeset/78044
        https://bugs.webkit.org/show_bug.cgi?id=54318

        Broke Safari extensions (Requested by eseidel on #webkit).

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

2011-02-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for <rdar://problem/8976456> Scrollbars for overflow
        areas never appear for WKScrollbarPainter scrollers

        Call ScrollableArea::didAddVerticalScrollbar() and 
        ScrollableArea::willRemoveVerticalScrollbar() when
        appropriate for RenderLayers.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):

2011-02-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        KURL should remove default port numbers when cannonicalizing urls (to match every other browser)
        https://bugs.webkit.org/show_bug.cgi?id=54090

        * platform/KURL.cpp:
        (WebCore::isDefaultPortForScheme):
        (WebCore::KURL::parse):

2011-02-11  Mike Reed  <reed@google.com>

        Reviewed by James Robinson.

        Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
        is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp

        No new tests. All existing canvas layouttests exercise this code path

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):

2011-02-11  Adam Klein  <adamk@chromium.org>

        Reviewed by Darin Adler.

        Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=54304

        This avoids potential crashes in HashMap, as WTF's StringHash doesn't
        accept empty Strings.

        * platform/SchemeRegistry.cpp:
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
        (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):

2011-02-11  Adam Klein  <adamk@chromium.org>

        Reviewed by Darin Fisher.

        [fileapi] Add support for filesystem: URI handling
        https://bugs.webkit.org/show_bug.cgi?id=53529

        There are two major parts to this patch: one is to add an
        implementation of Entry.toURI to the FileSystem API.
        The other is to implement security origin checking for this
        new scheme.

        All changes are guarded by the FILE_SYSTEM feature. An accompanying
        Chromium change, to support loading of filesystem: URIs, has recently
        been submitted as Chromium r74082.

        Spec:
          http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2
        Proposed URI format, and discussion of security origin issues:
          http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html

        Tests: fast/filesystem/directory-entry-to-uri.html
               fast/filesystem/file-entry-to-uri.html
               fast/filesystem/filesystem-uri-origin.html
               http/tests/security/filesystem-iframe-from-remote.html

        * fileapi/Entry.cpp:
        (WebCore::Entry::toURI):
        * fileapi/Entry.h:
        * fileapi/Entry.idl:
        - Added toURI method to the IDL, omitting the MIME type argument
          specified in the spec as it will soon be removed.
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        - crack the filesystem: URI to get at the origin of the site
        (WebCore::SecurityOrigin::canDisplay):
        - canDisplay for filesystem: URIs is equivalent to canRequest
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/AsyncFileSystem.h:
        (WebCore::AsyncFileSystem::type):
        - Exposed filesystem type to allow toURI to use it as part of the
          path.
        (WebCore::AsyncFileSystem::AsyncFileSystem):
        * platform/SchemeRegistry.cpp:
        (WebCore::canDisplayOnlyIfCanRequestSchemes):
        (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
        (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
        - Generalized canDisplayOnlyIfCanRequest as it applies to both
          filesystem: and blob: URIs.
        * platform/SchemeRegistry.h:

2011-02-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/8961061> CrashTracer: [USER] 
        1 crash at com.apple.WebCore: 
        -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62

        Must check for null _animator.
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):

2011-02-11  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
        https://bugs.webkit.org/show_bug.cgi?id=54158

        No new tests since audio API is not yet implemented.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        (WebCore::JSAudioContext::createBuffer):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::createBufferCallback):
        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::createBusFromInMemoryAudioFile):
        * webaudio/AudioContext.idl:

2011-02-11  Mike Reed  <reed@google.com>

        Reviewed by James Robinson.

        Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing
        the address returned by getPixels() (as the device may not be backed by a CPU bitmap)
        https://bugs.webkit.org/show_bug.cgi?id=54224

        No new tests. Existing canvas tests exercise this...
        fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):

2011-02-11  Andrew Wason  <rectalogic@rectalogic.com>

        Reviewed by David Levin.

        Files missing ENABLE_VIDEO #ifdef
        https://bugs.webkit.org/show_bug.cgi?id=53390

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
          Wrap methods and declarations that use HTMLVideoElement
          with #if ENABLE(VIDEO).

2011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r78331.
        http://trac.webkit.org/changeset/78331
        https://bugs.webkit.org/show_bug.cgi?id=54295

        This patch broke 11 tests in GTK bots (Requested by svillar on
        #webkit).

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

2011-02-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GDOM] Video element needs proper wrapping
        https://bugs.webkit.org/show_bug.cgi?id=54231

        Use the same strategy as the one used for the audio tag to wrap
        video as well. No layout tests because this only adds API.

        * bindings/gobject/GNUmakefile.am:
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
        (WebKit::createVideoWrapper):
        (WebKit::createHTMLElementWrapper):

2011-02-11  Dirk Schulze  <krit@webkit.org>

        Reviewed by Andreas Kling.

        SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
        https://bugs.webkit.org/show_bug.cgi?id=54259

        Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
        avoid overloading a virtual function.

        No change of functionality. Just fixing a build warning, so no new tests.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap):
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMissingGlyphElement.cpp:
        (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):

2011-02-11  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view
        https://bugs.webkit.org/show_bug.cgi?id=54089

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype.resize):
        (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
        (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
        (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
        (WebInspector.Drawer.prototype._animateDrawerHeight):
        (WebInspector.Drawer.prototype._statusBarDragging):
        * inspector/front-end/inspector.js:
        (WebInspector.animateStyle):
        (WebInspector.animateStyle.forceComplete):
        (WebInspector.animateStyle.cancel):
        (WebInspector.showSourceLine):

2011-02-10  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Make DocumentWriter a member of DocumentLoader
        instead of FrameLoader.
        https://bugs.webkit.org/show_bug.cgi?id=50489

        Refactor, no new tests.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::explicitClose):
        (WebCore::Document::lastModified):
        (WebCore::Document::initSecurityContext):
        (WebCore::Document::updateURLForPushOrReplaceState):
        * dom/Document.h:
        (WebCore::Document::setDocumentLoader):
        (WebCore::Document::loader):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::createDocumentStructure):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::commitData):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::setFrame):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::writer):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/DocumentWriter.h:
        (WebCore::DocumentWriter::setFrame):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::notifier):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-02-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
        https://bugs.webkit.org/show_bug.cgi?id=54227

        * dom/Document.cpp:
        (WebCore::Document::finishedParsing):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        (WebCore::InspectorAgent::setFrontend):
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
        (WebCore::InspectorAgent::didCommitLoad):
        (WebCore::InspectorAgent::domContentLoadedEventFired):
        (WebCore::InspectorAgent::loadEventFired):
        (WebCore::InspectorAgent::startTimelineProfiler):
        (WebCore::InspectorAgent::stopTimelineProfiler):
        * inspector/InspectorAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::startListening):
        (WebCore::InspectorDOMAgent::stopListening):
        (WebCore::InspectorDOMAgent::mainDOMContentLoaded):
        (WebCore::InspectorDOMAgent::loadEventFired):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
        * inspector/InspectorDOMStorageAgent.h:
        (WebCore::InspectorDOMStorageAgent::create):
        * inspector/InspectorDOMStorageResource.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
        (WebCore::InspectorDatabaseAgent::executeSQL):
        (WebCore::InspectorDatabaseAgent::selectDatabase):
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        * inspector/InspectorDatabaseAgent.h:
        (WebCore::InspectorDatabaseAgent::FrontendProvider::create):
        (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider):
        (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
        (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend):
        (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
        (WebCore::InspectorDatabaseAgent::create):
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorDatabaseResource.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
        (WebCore::InspectorInstrumentation::loadEventFired):
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        (WebCore::InspectorState::mute):
        (WebCore::InspectorState::updateCookie):
        * inspector/InspectorState.h:
        (WebCore::InspectorState::~InspectorState):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::restore):
        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::didCommitLoad):
        (WebCore::InspectorTimelineAgent::setFrontend):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::create):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):

2011-02-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: command line API $0 regressed.
        https://bugs.webkit.org/show_bug.cgi?id=54283

        * inspector/InjectedScriptSource.js:

2011-02-11  Janne Koskinen  <janne.p.koskinen@digia.com>

        Reviewed by Andreas Kling.

        [Qt][S60] Vertical borders of buttons and frames are misaligned
        https://bugs.webkit.org/show_bug.cgi?id=51169

        Force anti-aliasing for lines and rects when using OpenVG backend on Symbian.
        OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates
        without anti-aliasing. Patch idea by Laszlo Agocs.

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

2011-02-11  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] events missing when a document is (re)loaded
        https://bugs.webkit.org/show_bug.cgi?id=25831

        Make sure webArea returns a proper name and that a signal
        'state-change::defunct' is emitted when detaching the wrapper.

        Test: platform/gtk/accessibility/document-reload-events.html

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name): Returns the current document's title
        as fallback mechanism for webArea objects.
        (webkit_accessible_detach): Emit 'state-change::defunct' function
        as soon as the wrapper is detached from the related core object.

2011-02-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: command line's API inspect() is broken.
        https://bugs.webkit.org/show_bug.cgi?id=54275

        Test: inspector/command-line-api.html

        * inspector/InjectedScriptSource.js:

2011-02-11  Adam Barth  <abarth@webkit.org>

        Turns out window.crypto is supposed to be readonly.

        * page/DOMWindow.idl:

2011-02-11  Adam Barth  <abarth@webkit.org>

        Actually add Crypto.cpp to the Windows build.  I'm terrible.

        * WebCore.vcproj/WebCore.vcproj:

2011-02-11  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Windows build.  Apparently we don't support
        conditional attributes on functions.  This patch makes the whole Crypto
        interface conditional on ArrayBuffer support.

        * page/DOMWindow.idl:
        * page/Crypto.cpp:
        * page/Crypto.h:
        * page/Crypto.idl:

2011-02-10  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Hyatt.

        Enable ancestor identifier filtering for tree building
        https://bugs.webkit.org/show_bug.cgi?id=54241
        
        Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
        element stack as needed.
        
        This roughly halves the remaining time in style matching over a typical page load.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::pushParentStackFrame):
        (WebCore::CSSStyleSelector::popParentStackFrame):
        (WebCore::CSSStyleSelector::pushParent):
        (WebCore::CSSStyleSelector::popParent):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
        * dom/Document.h:
        (WebCore::Document::styleSelectorIfExists):
        * dom/Element.cpp:
        (WebCore::Element::beginParsingChildren):
        (WebCore::Element::finishParsingChildren):
        * dom/Element.h:

2011-02-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        WebKit should have a cryptographic RNG
        https://bugs.webkit.org/show_bug.cgi?id=22049

        Add crypto.getRandomValues.  Yes, all these diffs are required to
        expose a single function to the DOM.

        Test: security/crypto-random-values.html

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * config.h:
        * page/Crypto.cpp: Added.
        (WebCore::Crypto::Crypto):
        (WebCore::Crypto::getRandomValues):
        * page/Crypto.h: Added.
        (WebCore::Crypto::create):
        * page/Crypto.idl: Added.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::crypto):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalCrypto):
        * page/DOMWindow.idl:

2011-02-11  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix.

        [GTK] Build break with 2.18.3
        https://bugs.webkit.org/show_bug.cgi?id=54057

        * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h

2011-02-11  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Adam Barth.

        Templatize KURLGooglePrivate::init
        https://bugs.webkit.org/show_bug.cgi?id=53749

        No new tests. Refactoring.

        * platform/KURLGoogle.cpp:
        (WebCore::KURLGooglePrivate::init):
        * platform/KURLGooglePrivate.h:

2011-02-10  Andy Estes  <aestes@apple.com>

        Reviewed by Eric Seidel.

        Convert ContainerNode::firstElementChild() to a free function.
        https://bugs.webkit.org/show_bug.cgi?id=54269

        No new tests. No change in behavior.
        
        It seemed incorrect to have a method on ContainerNode that had the
        concept of an Element but couldn't return an Element*, but a method on
        Element could not be called by holders of ContainerNodes or other
        non-Element ContainerNode subclasses. A free function can both return
        an Element* and be called by anyone with a ContainerNode*.

        * dom/ContainerNode.h:
        (WebCore::ContainerNode::lastChild):
        (WebCore::Node::lastChild):
        * dom/Document.cpp:
        (WebCore::Document::cacheDocumentElement):
        * dom/Element.cpp:
        (WebCore::Element::firstElementChild):
        * dom/Element.h:
        (WebCore::firstElementChild):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):

2011-02-10  Mads Ager  <ager@chromium.org>

        Reviewed by Nate Chapin.

        [V8] Don't crash on exception getting event handler function
        https://bugs.webkit.org/show_bug.cgi?id=54216

        Check for exceptions when attempting to get the handleEvent property
        of an event-handler object.

        Test: fast/dom/exception-getting-event-handler.html

        * bindings/v8/V8EventListener.cpp:
        (WebCore::V8EventListener::getListenerFunction):

2011-02-10  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by James Robinson.

        [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
        https://bugs.webkit.org/show_bug.cgi?id=53857

        globalAlpha is not applied to fillPath() and fillRect().

        Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called.
        (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor.
        (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor.

2011-02-10  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        Remove an unneeded argument from HTMLDocument::create().
        https://bugs.webkit.org/show_bug.cgi?id=54268
        
        Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for
        fragment parsing, there isn't a need to explicitly specify a baseURL
        when constructing an HTMLDocument. We can remove the unneeded argument.
        
        Also fix some style issues in Document.h and HTMLDocument.h caught by
        check-webkit-style.

        No new tests. No change in behavior.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::create):

2011-02-10  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Cached JavaScript Parser Data Being Left in Memory Cache
        https://bugs.webkit.org/show_bug.cgi?id=54245

        Added logic in CachedScript to clear SourceProviderCache data in
        destroyDecodedData().  Added and changed CachedScript timeout to
        act similar to CachedImage.  Changed didAddClient to call super
        class method instead of duplicating the logic in the derived
        classes.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::didAddClient):
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::didAddClient):
        (WebCore::CachedScript::allClientsRemoved):
        (WebCore::CachedScript::script):
        (WebCore::CachedScript::destroyDecodedData):
        * loader/cache/CachedScript.h:

2011-02-10  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by David Levin.

        Fix style in KURLGooglePrivate
        https://bugs.webkit.org/show_bug.cgi?id=54228

        Replace occurrences of NULL with 0, '\0' or null (as applicable),
        to appease check-webkit-style.

        No new tests. This is a style fix.

        * platform/KURLGoogle.cpp:
        * platform/KURLGooglePrivate.h:

2011-02-10  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
        https://bugs.webkit.org/show_bug.cgi?id=48719
        
        The HTML5 fragment parsing algorithm specifies that a new Document
        should be created to serve as the temporary parent of fragment nodes
        during parsing. Document creation is expensive and accounts for ~38% of
        the Peacekeeper DOM performance regression. Avoid the cost of creating
        a dummy document by using the already-created DocumentFragment as the
        root node during fragment parsing.
        
        With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
        is ~24%.

        Test: fast/parser/fragment-parser-doctype.html

        * dom/ContainerNode.h:
        (WebCore::ContainerNode::firstElementChild): Add a method that returns
        the first element-typed child from a ContainerNode.
        * dom/Document.cpp:
        (WebCore::Document::cacheDocumentElement): Call
        ContainerNode::firstElementChild() to retrieve and cache the document
        element.
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
        root ContainerNode.
        (WebCore::HTMLConstructionSite::detach): Clear the reference to the
        root ContainerNode.
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        Attach the new element to the root ContainerNode.
        (WebCore::HTMLConstructionSite::insertDoctype): Ditto.
        (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto.
        * html/parser/HTMLConstructionSite.h: Store a pointer to a
        ContainerNode that will be used as the root node for document parsing.
        This node might or might not be the same as m_document.
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the
        HTMLConstructionSite with the correct root ContainerNode based on
        whether or not we're parsing a fragment.
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        Remove m_dummyDocumentForFragmentParsing.
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the
        fragment has a context element, store only the children of the root
        element (HTML5 Section 10.4, Step 7).
        * html/parser/HTMLTreeBuilder.h:

2011-02-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Oliver Hunt.

        Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
        in WebProcess at com.apple.AppKit: 
        -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154

        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):

2011-02-09  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        IndexedDB event targets need to ensure their wrappers aren't garbage collected
        https://bugs.webkit.org/show_bug.cgi?id=54144

        hasActivityPending should return true as long as it's possible that we'll
        fire more event listeners on our event targets. It is still possible for
        user generated events to run into problems, but I'm not sure how to address
        that yet (or how big of a deal it is).

        There's really no way to test this deterministically. Testing by hand makes
        it seem like this patch works as expected though.

        * storage/IDBCursorBackendImpl.cpp:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::~IDBDatabase):
        (WebCore::IDBDatabase::hasPendingActivity):
        (WebCore::IDBDatabase::stop):
        * storage/IDBDatabase.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::hasPendingActivity):
        (WebCore::IDBRequest::dispatchEvent):
        (WebCore::IDBRequest::enqueueEvent):
        * storage/IDBRequest.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::finished):
        (WebCore::IDBTransaction::hasPendingActivity):
        (WebCore::IDBTransaction::dispatchEvent):
        (WebCore::IDBTransaction::canSuspend):
        (WebCore::IDBTransaction::contextDestroyed):
        (WebCore::IDBTransaction::enqueueEvent):
        * storage/IDBTransaction.h:

2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] create pkg-config files for mingw
        https://bugs.webkit.org/show_bug.cgi?id=54238

        (mingw is mostly the same as unix)

        This change was applied in the Qt repository (qt/src/3rdparty/webkit),
        so we should do the same here in QtWebKit.

        Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
        Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
        45fe2dddc3a0677b9ec9fce09f07cd4129e37afa

        * WebCore.pro:

2011-02-10  Andreas Kling  <kling@webkit.org>

        Reviewed by Antti Koivisto.

        RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
        https://bugs.webkit.org/show_bug.cgi?id=54246

        * rendering/style/RenderStyle.h:

2011-02-10  Dirk Schulze  <krit@webkit.org>

        Reviewed by Andreas Kling.

        SVG animation avoid unnecessary adjust for currentColor
        https://bugs.webkit.org/show_bug.cgi?id=54243

        At the moment we try to adjust every animation value for currentColor - independent of the animation type.
        Since the value is a string and the target element may needs to get called by getElementById, this could
        be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back
        as a string and parse it to Color afterwards again.
        With the patch we just adjust an animation value, if we use color animation. The color won't get saved and
        parsed as a string again.

        No change of functionality, no new tests.

        * svg/SVGAnimateElement.cpp:
        (WebCore::adjustForCurrentColor):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        (WebCore::SVGAnimationElement::startedActiveInterval):

2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Remove the use of deprecated qFindChildren()
        https://bugs.webkit.org/show_bug.cgi?id=54232

        This was applied on the Qt repository and affects QtWebKit there.
        (13833beb641289c45faed337848d37280195aadc)

        The side effect of this change is that we won't be able to build
        QtWebKit with MSVC 6, as it doesn't support member template functions
        (not sure if that's possible today anyway).

        Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
        review reported as being from the mailing list.

        The changes are result of the following commands:

            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild
            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild
            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild
            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild
            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild

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

2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Rename build target from "embedded" to "qpa"
        https://bugs.webkit.org/show_bug.cgi?id=54233

        This flag is used by Qt's configure script to enable a QPA build
        ("QPA is a window system agnostic implementation of Qt" --
        previously known as lighthouse).

        On the Qt repository, this was changed by two commits:

        13a0b4935900093607f2b3b7688e1452d22770fd
        (from embedded to embedded_lite)

        9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
        (from embedded_lite to qpa)

        * WebCore.pro:

2011-02-10  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Incorporate algorithm for processing paths into GPU-renderable triangle meshes
        https://bugs.webkit.org/show_bug.cgi?id=45521

        Adding an implementation of Loop and Blinn's GPU accelerated path
        rendering algorithm from GPU Gems 3. This implementation pays
        particular attention to the efficiency of the curve subdivision
        phase needed for correct rendering. It utilizes the OpenGL utility
        library tessellator for triangulation of the interior of the
        shape. The regions handled by Loop and Blinn's algorithm are
        handled by the local triangulator previously incorporated.

        No tests yet; pixel tests will eventually be used to verify this
        algorithm and prevent regressions.

        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added.
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::next):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::add):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::end):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide):
        (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide):
        (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate):
        (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor):
        (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor):
        (WebCore::LoopBlinnPathProcessor::process):
        (WebCore::LoopBlinnPathProcessor::buildContours):
        (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY):
        (WebCore::LoopBlinnPathProcessor::determineSidesToFill):
        (WebCore::LoopBlinnPathProcessor::determineOrientation):
        (WebCore::SweepData::SweepEvent::SweepEvent):
        (WebCore::SweepData::SweepEvent::setup):
        (WebCore::SweepData::SweepEvent::x):
        (WebCore::SweepData::SweepEvent::entry):
        (WebCore::SweepData::SweepEvent::interval):
        (WebCore::SweepData::SweepEvent::operator<):
        (WebCore::SweepData::trianglesOverlap):
        (WebCore::LoopBlinnPathProcessor::subdivideCurves):
        (WebCore::LoopBlinnPathProcessor::conditionallySubdivide):
        (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
        (WebCore::TessellationState::vertexCallback):
        (WebCore::TessellationState::combineCallback):
        (WebCore::TessellationState::edgeFlagCallback):
        (WebCore::LoopBlinnPathProcessor::tessellateInterior):
        * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added.

2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Remove the use of deprecated qVariant*
        https://bugs.webkit.org/show_bug.cgi?id=54229

        This was applied on the Qt repository and affects QtWebKit there.
        (633f3f45e5420663cf4ceadea79e62fea44cd2eb)

        The side effect of this change is that we won't be able to build
        QtWebKit with MSVC 6, as it doesn't support member template functions
        (not sure if it's possible today anyway).

        Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
        review reported as being from the mailing list.

        The changes are result of the following commands:

            git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
            git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
            git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
            git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
            git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
            git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::commitLoad):

2011-02-10  Nico Weber  <thakis@chromium.org>

        Reviewed by Darin Adler.

        Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
        https://bugs.webkit.org/show_bug.cgi?id=54221

        The method name conflicts with ContainerNode::getRect() so rename it to
        computeRect(). Rename getPath() to computePath() for consistency as
        well.

        No intended functionality change, covered by existing tests.

        * accessibility/AccessibilityImageMapLink.cpp:
        (WebCore::AccessibilityImageMapLink::elementRect):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::computePath):
        (WebCore::HTMLAreaElement::computeRect):
        * html/HTMLAreaElement.h:
        * page/SpatialNavigation.cpp:
        (WebCore::virtualRectForAreaElementAndDirection):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintFocusRing):

2011-02-10  Alexis Menard  <alexis.menard@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Default focus ring is too wide
        https://bugs.webkit.org/show_bug.cgi?id=51854

        We now respect the outline property and html.css defines the outline of the focus
        ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses
        it as the pen size. We should ignore the size and keep a default one. I also
        reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia,
        CG Win, Haiku, WinCE ports also ignore the width.

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

2011-02-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
        https://bugs.webkit.org/show_bug.cgi?id=52090

        Call didSendData as body data is uploaded to the server. This is necessary
        for XHR upload events to function properly.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members.
        One to track the total amount of body data and one to track the total amount of
        body data sent so far.
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::wroteBodyDataCallback): Added.
        (WebCore::addFormElementsToSoupMessage): Split this out into a helper function.
        Will now now sum the total amount of body data.
        (WebCore::startHttp): Attach a wrote-body-data signal handler.

2011-02-10  Bill Budge  <bbudge@chromium.org>

        Reviewed by David Levin.

        Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader.
        https://bugs.webkit.org/show_bug.cgi?id=53925

        * platform/network/chromium/ResourceRequest.cpp:
        (WebCore::ResourceRequest::doPlatformCopyData):
        (WebCore::ResourceRequest::doPlatformAdopt):
        * platform/network/chromium/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::downloadToFile):
        (WebCore::ResourceRequest::setDownloadToFile):
        * platform/network/chromium/ResourceResponse.cpp:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::downloadFilePath):
        (WebCore::ResourceResponse::setDownloadFilePath):

2011-02-10  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimateElement needs information about the animated attribute type
        https://bugs.webkit.org/show_bug.cgi?id=53442

        For animations, we need to know the SVG property type for a XML attribute. A global static mapping between
        attribute name and a type is not possible, since one attribute name can be bound to different property types:
        x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports
        the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between
        the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static
        HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function
        that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons.

        No change of functionality, so no new test cases.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::attributeToPropertyTypeMap):
        (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
        * svg/SVGAElement.h:
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap):
        (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::determinePropertyType):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::attributeToPropertyTypeMap):
        (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::attributeToPropertyTypeMap):
        (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGClipPathElement.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap):
        (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::attributeToPropertyTypeMap):
        (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap):
        * svg/SVGCursorElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeToPropertyTypeMap):
        (WebCore::SVGElement::animatedPropertyTypeForAttribute):
        * svg/SVGElement.h:
        (WebCore::SVGElement::fillAttributeToPropertyTypeMap):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::attributeToPropertyTypeMap):
        (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
        * svg/SVGEllipseElement.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap):
        (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::attributeToPropertyTypeMap):
        (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap):
        (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap):
        (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::attributeToPropertyTypeMap):
        (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap):
        (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::attributeToPropertyTypeMap):
        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::attributeToPropertyTypeMap):
        (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
        * svg/SVGFontElement.h:
        (WebCore::SVGFontElement::rendererIsNeeded):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap):
        (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::attributeToPropertyTypeMap):
        (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
        * svg/SVGGlyphElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap):
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::attributeToPropertyTypeMap):
        (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::attributeToPropertyTypeMap):
        (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap):
        (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::attributeToPropertyTypeMap):
        (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::attributeToPropertyTypeMap):
        (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::attributeToPropertyTypeMap):
        (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMaskElement.h:
        * svg/SVGMissingGlyphElement.cpp:
        (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap):
        (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
        * svg/SVGMissingGlyphElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::attributeToPropertyTypeMap):
        (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::attributeToPropertyTypeMap):
        (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
        * svg/SVGPatternElement.h:
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::attributeToPropertyTypeMap):
        (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
        * svg/SVGPolyElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap):
        (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::attributeToPropertyTypeMap):
        (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::attributeToPropertyTypeMap):
        (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap):
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::attributeToPropertyTypeMap):
        (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap):
        * svg/SVGScriptElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::attributeToPropertyTypeMap):
        (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::cssPropertyToTypeMap):
        (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty):
        (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::attributeToPropertyTypeMap):
        (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
        * svg/SVGSwitchElement.h:
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::attributeToPropertyTypeMap):
        (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::attributeToPropertyTypeMap):
        (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::attributeToPropertyTypeMap):
        (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTSpanElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::attributeToPropertyTypeMap):
        (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::attributeToPropertyTypeMap):
        (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::attributeToPropertyTypeMap):
        (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
        * svg/SVGTitleElement.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::attributeToPropertyTypeMap):
        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::attributeToPropertyTypeMap):
        (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
        * svg/SVGViewElement.h:

2011-02-10  Alexis Menard  <alexis.menard@nokia.com>

        Reviewed by Andreas Kling.

        Fix a Warning after removing FileSystem support for the inspector.

        * WebCore.pro:

2011-02-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Anders Carlsson.

        AX: AX needs to stop using WebCoreViewFactory
        https://bugs.webkit.org/show_bug.cgi?id=54153

        WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
        to get off of it and use WebCoreSystemInterface, like other clients.

        * WebCore.exp.in:
        * accessibility/AXObjectCache.h:
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        * accessibility/mac/AccessibilityObjectWrapper.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
        (CFAutoreleaseHelper):
        (AXObjectIsTextMarker):
        (AXObjectIsTextMarkerRange):
        (AXTextMarkerRange):
        (AXTextMarkerRangeStart):
        (AXTextMarkerRangeEnd):
        (textMarkerForVisiblePosition):
        (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
        (visiblePositionForTextMarker):
        (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
        (visiblePositionForStartOfTextMarkerRange):
        (visiblePositionForEndOfTextMarkerRange):
        (textMarkerRangeFromMarkers):
        (AXAttributeStringSetElement):
        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
        (textMarkerRangeFromVisiblePositions):
        (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
        * editing/mac/SelectionControllerMac.mm:
        (WebCore::accessibilityConvertScreenRect):
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-02-10  Alexis Menard  <alexis.menard@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
        https://bugs.webkit.org/show_bug.cgi?id=54201

        Add files for the fullscreen video playback handling. It also fix
        a missing header.

        * WebCore.pro:

2011-02-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Remove FileSystem support from the inspector.
        https://bugs.webkit.org/show_bug.cgi?id=50695

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.idl:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorFileSystemAgent.cpp: Removed.
        * inspector/InspectorFileSystemAgent.h: Removed.
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
        (WebCore::InspectorInstrumentation::willSendRequestImpl):
        (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::scriptImportedImpl):
        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
        * inspector/front-end/FileSystemView.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-02-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r78219.
        http://trac.webkit.org/changeset/78219
        https://bugs.webkit.org/show_bug.cgi?id=54215

        breaks editing/style/iframe-onload-crash.html on GTK 64-bit
        Debug (Requested by philn-tp on #webkit).

        * dom/Document.h:
        * dom/DocumentFragment.h:
        * dom/Element.h:
        * dom/Node.h:
        * dom/Text.h:
        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent):
        (WebCore::canHaveChildrenForEditing):
        * editing/htmlediting.h:
        * html/HTMLBRElement.h:
        * html/HTMLButtonElement.h:
        * html/HTMLDataGridElement.h:
        * html/HTMLFormControlElement.h:
        * html/HTMLFrameElementBase.h:
        * html/HTMLHRElement.h:
        * html/HTMLImageElement.h:
        * html/HTMLMeterElement.h:
        * html/HTMLOutputElement.h:
        * html/HTMLPlugInElement.h:
        * html/HTMLProgressElement.h:
        * wml/WMLBRElement.h:
        * wml/WMLDoElement.h:
        * wml/WMLImageElement.h:
        * wml/WMLInputElement.h:
        * wml/WMLSelectElement.h:

2011-02-10  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.

        [Qt][V8] Fix the build.

        No new tests needed.

        * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
        * loader/cache/CachedScript.h: do not use extra qualification for base class enum.

2011-02-10  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input
        https://bugs.webkit.org/show_bug.cgi?id=54205

        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions):
        (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
        * inspector/front-end/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.forProperty):
        * inspector/front-end/StylesSidebarPane.js:
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete):

2011-02-10  Renata Hodovan  <reni@webkit.org>

        Reviewed by Dirk Schulze.

        SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
        https://bugs.webkit.org/show_bug.cgi?id=54186

        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.

        Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html
               svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html
               svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html
               svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html
               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html
               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html
               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html
               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html

        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
        * svg/SVGFESpecularLightingElement.h:

2011-02-10  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Error messages are not displayed for the last line in a script
        https://bugs.webkit.org/show_bug.cgi?id=54204

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.addMessage):
        (WebInspector.SourceFrame.prototype._addMessageToSource):
        (WebInspector.SourceFrame.prototype._createConditionElement):

2011-02-10  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Make canHaveChildrenForEditing more efficient
        https://bugs.webkit.org/show_bug.cgi?id=53564

        Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
        canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
        node for a position.

        As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
        and any elements except:

        HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
              meter, object, output, progress, and select.

        WML: br, do, img, input, and select.

        No new tests are added since this change cannot be tested directly.

        * dom/Document.h:
        (WebCore::Document::canContainRangeEndPoint): Added; returns false.
        * dom/DocumentFragment.h:
        (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
        * dom/Element.h:
        (WebCore::Element::canContainRangeEndPoint): Ditto.
        * dom/Node.h:
        (WebCore::Node::canContainRangeEndPoint): Added; returns false.
        * dom/Text.h:
        (WebCore::Text::canContainRangeEndPoint): Added; returns true.
        * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
        * editing/htmlediting.h:
        (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
        (WebCore::canHaveChildrenForEditing): Ditto.
        * html/HTMLBRElement.h:
        (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
        * html/HTMLButtonElement.h:
        (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto.
        * html/HTMLDataGridElement.h:
        (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
        * html/HTMLFrameElementBase.h:
        (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
        * html/HTMLHRElement.h:
        (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto.
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
        * html/HTMLMeterElement.h:
        (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
        * html/HTMLOutputElement.h:
        (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
        * html/HTMLProgressElement.h:
        (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
        * wml/WMLBRElement.h:
        (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto.
        * wml/WMLDoElement.h:
        (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto.
        * wml/WMLImageElement.h:
        (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto.
        * wml/WMLInputElement.h:
        (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto.
        * wml/WMLSelectElement.h:
        (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto.

2011-02-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: define interface per domain in Inspector.idl.
        https://bugs.webkit.org/show_bug.cgi?id=54135

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:

2011-02-10  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left
        https://bugs.webkit.org/show_bug.cgi?id=54098

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer):
        (WebInspector.TextViewer.prototype._updatePanelOffsets):
        (WebInspector.TextViewer.prototype._syncScroll):
        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
        (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
        (WebInspector.TextEditorChunkedPanel.prototype.resize):
        (WebInspector.TextEditorGutterPanel):
        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
        (WebInspector.TextEditorGutterChunk.prototype.get height):
        (WebInspector.TextEditorMainChunk.prototype.get height):
        * inspector/front-end/textViewer.css:
        (.webkit-line-content):

2011-02-10  takano takumi  <takano@apple.com>

        Reviewed by Dan Bernstein.

        A full-width character rotated leftward 90 degrees in text-combine
        https://bugs.webkit.org/show_bug.cgi?id=54169

        * rendering/RenderCombineText.cpp:
        (WebCore::RenderCombineText::combineText):
        - Fixed by resetting font's orientation to horizontal when we decided to make combined text.
        Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm.

2011-02-10  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=50306
        <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload()
        uses an initialized result value (breaks form submission with clang-built WebKit)

        No new test, because I can't reproduce the observable effect with my gcc build.

        * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
        empty path check - an empty path was causing an exception in Foundation.

2011-02-09  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Network & Resource panels make multiple requests for images with no content
        https://bugs.webkit.org/show_bug.cgi?id=54085

        - Added success parameter to resourceContent
        - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors

        * inspector/Inspector.idl:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::resourceData):
        (WebCore::InspectorResourceAgent::resourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.requestContent):
        (WebInspector.Resource.prototype._contentURL):

2011-02-10  Renata Hodovan  <reni@webkit.org>

        Reviewed by Dirk Schulze.

        Move the light source implementations into their own files.
        https://bugs.webkit.org/show_bug.cgi?id=53996

        Splitting LightSource.cpp into 3 files.

        No new tests are added since this is a refactoring.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/DistantLightSource.cpp: Added.
        (WebCore::DistantLightSource::initPaintingData):
        (WebCore::DistantLightSource::updatePaintingData):
        (WebCore::DistantLightSource::setAzimuth):
        (WebCore::DistantLightSource::setElevation):
        (WebCore::DistantLightSource::externalRepresentation):
        * platform/graphics/filters/LightSource.cpp:
        * platform/graphics/filters/PointLightSource.cpp: Added.
        (WebCore::PointLightSource::initPaintingData):
        (WebCore::PointLightSource::updatePaintingData):
        (WebCore::PointLightSource::setX):
        (WebCore::PointLightSource::setY):
        (WebCore::PointLightSource::setZ):
        (WebCore::operator<<):
        (WebCore::PointLightSource::externalRepresentation):
        * platform/graphics/filters/SpotLightSource.cpp: Added.
        (WebCore::SpotLightSource::initPaintingData):
        (WebCore::SpotLightSource::updatePaintingData):
        (WebCore::SpotLightSource::setX):
        (WebCore::SpotLightSource::setY):
        (WebCore::SpotLightSource::setZ):
        (WebCore::SpotLightSource::setPointsAtX):
        (WebCore::SpotLightSource::setPointsAtY):
        (WebCore::SpotLightSource::setPointsAtZ):
        (WebCore::SpotLightSource::setSpecularExponent):
        (WebCore::SpotLightSource::setLimitingConeAngle):
        (WebCore::operator<<):
        (WebCore::SpotLightSource::externalRepresentation):

2011-02-10  Avi Drissman  <avi@google.com>

        Reviewed by Darin Fisher.

        <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
        https://bugs.webkit.org/show_bug.cgi?id=50969

        Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::updateFromElement):
        * platform/chromium/PopupMenuChromium.h:

2011-02-10  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Update the semantics of put()
        https://bugs.webkit.org/show_bug.cgi?id=54102

        Update the semantics of put: For object stores with auto increment,
        it should be allowed to provide an explicit key, or an in-line key,
        overriding the key generator mechanism.

        This reflects the spec changes suggested here:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976

        Extracting key-selection logic into its own function
        to make it a bit easier on the eyes.

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):

2011-02-09  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=54103
        Implement fast path for matching simple selectors
        
        Implement a fast path for single and descendant selectors consisting
        of id, class and tag selectors only.
        
        Selectors like this are marked on style selector initialization. When 
        encountered during style matching they are resolved using a fast path.
        
        Since selectors like this are very common this speeds up style matching
        quite a bit (up to 50% on some sites according to Shark).

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::hasFastCheckableSelector):
        (WebCore::RuleData::hasMultipartSelector):
        (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash):
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::CSSStyleSelector::checkSelector):
        (WebCore::selectorTagMatches):
        (WebCore::isFastCheckableSelector):
        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
        (WebCore::RuleData::RuleData):
        * css/CSSStyleSelector.h:

2011-02-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        REGRESSION (r77101) box-shadow sometimes renders incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=54160
        
        Fix an issue when ShadowBlur had a cached image buffer
        that was larger than that of the current shadow being drawn,
        and the current shadow was partially clipped out.
        
        In that situation endShadowLayer() would clip to the image
        buffer, using the size of the buffer (as it must), but failed
        to take into account the fact that we'd only cleared and painted
        into a smaller section of the buffer. So we need to additionally
        constrain the clip to cover only the valid part of the buffer.

        Test: fast/box-shadow/shadow-buffer-partial.html

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::endShadowLayer):

2011-02-09  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej Stachowiak.

        Fix for <rdar://problem/8977051> CrashTracer: 8 crashes 
        in WebProcess at com.apple.WebCore: 
        -[ScrollbarPartAnimation setCurrentProgress:] + 364

        The ScrollbarPartAnimation must be sent by reference!
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):

2011-02-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
        https://bugs.webkit.org/show_bug.cgi?id=54053

        The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside
        RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming
        the position variable "s" is not null.

        Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint,
        and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange.

        Test: fast/forms/file-input-hit-test.html

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::toNormalizedRange):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::positionForPoint):
        * rendering/RenderFileUploadControl.h:

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

        Reviewed by Beth Dakin.

        Overlay scrollbars crash used with a RenderListBox.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::layout):
        (WebCore::RenderListBox::contentsSize):
        (WebCore::RenderListBox::currentMousePosition):
        (WebCore::RenderListBox::setHasVerticalScrollbar):
        * rendering/RenderListBox.h:
        Implement enough of the ScrollableArea interface to get things generally
        working.

2011-02-09  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        Fix for <rdar://problem/8966868> ScrollbarPainterDelegate 
        must return a layer if layer-backed to avoid crashing

        New virtual function scrollbarWillRenderIntoCompositingLayer()
        on ScrollableArea.
        * page/FrameView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer):
        * rendering/RenderListBox.h:

        Clean up unnecessary method declarations and call 
        scrollbarWillRenderIntoCompositingLayer() to deterine if 
        we need to return a layer.
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterDelegate layer]):

2011-02-09  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Replace static_cast<HTMLElement*> with toHTMLElement
        https://bugs.webkit.org/show_bug.cgi?id=54117

        No new tests since no new functionality was introduced.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::addChildren):
        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::addChildren):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::accessibleNameForNode):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name):
        (webkit_accessible_get_description):
        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::createWrapper):
        (WebKit::kit):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::body):
        * dom/Element.cpp:
        (WebCore::Element::deprecatedCreateContextualFragment):
        * dom/Range.cpp:
        (WebCore::Range::createContextualFragment):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::shouldSplitTextElement):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/DeleteButtonController.cpp:
        (WebCore::enclosingDeletableElement):
        (WebCore::DeleteButtonController::show):
        * editing/Editor.cpp:
        (WebCore::Editor::setBaseWritingDirection):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::mergeWithNeighboringLists):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
        (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
        * editing/SelectionController.cpp:
        (WebCore::scanForForm):
        (WebCore::SelectionController::currentForm):
        * editing/htmlediting.cpp:
        (WebCore::enclosingList):
        (WebCore::enclosingListChild):
        (WebCore::embeddedSublist):
        (WebCore::appendedSublist):
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendElement):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch):
        (WebCore::HTMLCollection::updateNameCache):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setOuterHTML):
        (WebCore::HTMLElement::shadowAncestorOwnerForm):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formElementIndex):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setOption):
        (WebCore::HTMLSelectElement::setLength):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::createPart):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createSubtreeIfNeeded):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):

2011-02-09  Mike Reed  <reed@google.com>

        Reviewed by Kenneth Russell.

        Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this
        handles the case when the device is backed by the GPU.
        Patch developed by bsalomon@google.com

        No new tests. Existing canvas tests suffice
        e.g. LayoutTests/canvas/philip/... 

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

2011-02-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        document.close shouldn't affect non-script-created parsers
        https://bugs.webkit.org/show_bug.cgi?id=53689

        Tests: fast/frames/document-write-in-iframe-onload-3.html
               fast/parser/iframe-onload-document-close-with-external-script-2.html
               fast/parser/iframe-onload-document-close-with-external-script-3.html
               fast/parser/iframe-onload-document-close-with-external-script.html
               fast/parser/setTimeout-open.html

        Move our implementation of document.close closer to the spec by
        introducing the notion of a script-created parser.  This area of our
        code is somewhat hairy.  It might take a few more iterations before we
        fully come up to spec.

        * dom/Document.cpp:
        (WebCore::Document::setContent):
        (WebCore::Document::open):
        (WebCore::Document::cancelParsing):
        (WebCore::Document::close):
            - Over time, this method should converge to the spec.
        (WebCore::Document::explicitClose):
            - I'm not in love with this name.  Somehow we want to differentiate
              between Document closing itself and the document.close DOM
              method.
        (WebCore::Document::removePendingSheet):
        * dom/Document.h:
        * dom/ScriptableDocumentParser.cpp:
        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
        * dom/ScriptableDocumentParser.h:
        (WebCore::ScriptableDocumentParser::setWasCreatedByScript):
        (WebCore::ScriptableDocumentParser::wasCreatedByScript):
            - General nonsense to keep track of whether the parser was created
              by script.
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::hasInsertionPoint):
            - I'm not sure whether this part of the change is 100% correct.  I
              think our notion of the EOF character might be subtly different
              from the notion in the spec.
        * html/parser/HTMLInputStream.h:
        (WebCore::HTMLInputStream::hasInsertionPoint):
            - Remove FIXME because we're fixing that!

2011-02-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by James Robinson.

        [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer
        https://bugs.webkit.org/show_bug.cgi?id=54132
 
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::resizeLayer):

2011-02-09  Xiyuan Xia  <xiyuan@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Use #f7f7f7 for select popup background on chromium/linux
        https://bugs.webkit.org/show_bug.cgi?id=54115

        No new tests since no behavior change.

        * css/themeChromiumLinux.css:
        (select[size="1"] option):

2011-02-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console
        https://bugs.webkit.org/show_bug.cgi?id=41187

        Wire up a basic HTML parse error message.  There's a lot of room for
        improvement in this area, but this is a start.

        No tests!  See https://bugs.webkit.org/show_bug.cgi?id=54134

        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::parseError):
        * html/parser/HTMLTreeBuilder.h:

2011-02-09  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kenneth Russell.

        [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas.
        https://bugs.webkit.org/show_bug.cgi?id=53757

          This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
        (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.


2011-02-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix scaling and thread safety of FFTFrameFFTW
        https://bugs.webkit.org/show_bug.cgi?id=54045

        No new tests since audio API is not yet implemented.

        * platform/audio/FFTFrame.h:
        * platform/audio/fftw/FFTFrameFFTW.cpp:
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::initialize):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):
        (WebCore::FFTFrame::fftwPlanForSize):
        * platform/audio/mac/FFTFrameMac.cpp:
        (WebCore::FFTFrame::initialize):
        * platform/audio/mkl/FFTFrameMKL.cpp:
        (WebCore::FFTFrame::initialize):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::AudioContext):

2011-02-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object
        https://bugs.webkit.org/show_bug.cgi?id=54126

        This is a Mac-only accessibility API concept and doesn't belong in the core AX object.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::node):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):

2011-02-09  Nebojsa Ciric  <cira@chromium.org>

        Reviewed by Darin Fisher.

        Implements Locale object of JavaScript internationalization API proposal, as an
        v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h})
        and in this patch we just provide flags, tests and build rules for chromium port.
        https://bugs.webkit.org/show_bug.cgi?id=49414

        Test: fast/js/i18n-bindings-locale.html

        * WebCore.gyp/WebCore.gyp:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled):
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext):

2011-02-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget
        https://bugs.webkit.org/show_bug.cgi?id=52065

        * dom/Node.cpp:
        (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost
            boundary of shadow DOM.
        (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow.

2011-02-09  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Add convenience method toHTMLElement(Node*)
        https://bugs.webkit.org/show_bug.cgi?id=54105

        No new tests since no new functionality introduced.

        * html/HTMLElement.h:
        (WebCore::toHTMLElement):

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

        Reviewed by Dan Bernstein.

        Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding
        <rdar://problem/7615997>
        https://bugs.webkit.org/show_bug.cgi?id=54054

        Take the overhang into account when calculating position for elements with position: fixed.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollXForFixedPosition):
        (WebCore::ScrollView::scrollYForFixedPosition):
        (WebCore::ScrollView::scrollOffsetForFixedPosition):
        * platform/ScrollView.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        (WebCore::RenderView::mapAbsoluteToLocalPoint):
        (WebCore::RenderView::computeRectForRepaint):

2011-02-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dirk Schulze.

        Enhance ShadowBlur to tile inset box shadows
        https://bugs.webkit.org/show_bug.cgi?id=51567
        
        Add a tiling code path to ShadowBlur for rendering inset
        box-shadows.

        Test: fast/box-shadow/inset-box-shadows.html
        
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::computeSliceSizesFromRadii): Compute the slice sizes
        for the eight-piece shadow template.
        (WebCore::ShadowBlur::templateSize): Compute the size of the template,
        given the slice sizes.
        (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty
        (which probably means we're clipped out). Call templateSize() and use
        the result to decide whether to tile.
        (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows.
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved.
        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code
        path for inset shadows.
        (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template
        buffer, paint the non-blurred area of the destination, and then call drawLayerPieces()
        to paint the eight-piece template image.
        (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now
        shares the blurring code via blurAndColorShadowBuffer(), and the tiled template
        drawing via drawLayerPieces().
        (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the
        shadow template to the destination.
        (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image
        buffer, and colorize them using the CompositeSourceIn operation.
        * platform/graphics/ShadowBlur.h:

2011-02-09  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Adam Barth.

        Disable script elements when a CSP header is present
        https://bugs.webkit.org/show_bug.cgi?id=53867

        Tests: http/tests/security/contentSecurityPolicy/no-policy.html
               http/tests/security/contentSecurityPolicy/script-src-in-iframe.html
               http/tests/security/contentSecurityPolicy/script-src-none.html
               http/tests/security/contentSecurityPolicy/script-src-redirect.html

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::requestPendingScript):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
        * page/ContentSecurityPolicy.h:

2011-02-09  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r78047.

        ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS),
        so they shouldn't cause problems with correct preprocessor defines.

        * CMakeLists.txt:

2011-02-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: InspectorAgent should know nothing about InspectorController instance.

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

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        (WebCore::InspectorAgent::disconnectFrontend):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):

2011-02-09  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: source frame scroll position is not restored.
        https://bugs.webkit.org/show_bug.cgi?id=54101

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.show):
        (WebInspector.SourceFrame.prototype.hide):
        (WebInspector.SourceFrame.prototype.get scrollTop):
        (WebInspector.SourceFrame.prototype.set scrollTop):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.get scrollTop):
        (WebInspector.TextViewer.prototype.set scrollTop):
        (WebInspector.TextViewer.prototype.get scrollLeft):
        (WebInspector.TextViewer.prototype.set scrollLeft):

2011-02-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: follow up on InspectorAgent split -
        removing unnecessary methods from InspectorController.
        https://bugs.webkit.org/show_bug.cgi?id=54093

        * WebCore.exp.in:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::stopUserInitiatedProfiling):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enabled):
        (WebCore::InspectorAgent::showConsole):
        * inspector/InspectorAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::didClearWindowObjectInWorld):
        (WebCore::InspectorController::showConsole):
        (WebCore::InspectorController::enabled):
        (WebCore::InspectorController::inspectedPage):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontendClientLocal.cpp:

2011-02-07  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=53513

        The PlatformCAAnimation::create() function which took a pointer to another
        PlatformCAAnimation was supposed to make a copy of that passed object.
        But it was doing completely the wrong thing on Mac and was leaking an object
        to boot. And the notion of copying an object using a static creation function
        is wrong in the first place. So I changed it to a member copy() function
        which would create a new PlatformCAAnimation which was a copy of 'this' and
        return it. I changed the implementation on both Mac and Win to match.

        This problem was not caught by DRT, even there is a specific test for it.
        That test just verifies that the higher level logic is working 
        properly, which it is. There's no practical way to find out if the
        layer is currently animating. There is no logic which probes that
        deeply into the layer mechanics.
        
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

2011-02-09  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix.

        [EFL] Remove double definition of ContextMenu.
        https://bugs.webkit.org/show_bug.cgi?id=50762

        When building with SHARED_CORE enabled, the symbols of ContextMenu
        were both in webkit and webcore. This removes them from webcore and
        shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented
        in EFL port.

        No new tests because no new functionality.

        * CMakeLists.txt:

2011-02-09  Adam Roben  <aroben@apple.com>

        Windows Production build fix

        * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against
        WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we
        pick up the _debug variant when appropriate.

2011-02-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Hostnames should cannonicalize to lowercase (to match every other browser)
        https://bugs.webkit.org/show_bug.cgi?id=54084

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

2011-02-09  Peter Varga  <pvarga@webkit.org>


        Reviewed by Gavin Barraclough.

        Replace PCRE with Yarr in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=53496

        No new tests needed.

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * ForwardingHeaders/pcre/pcre.h: Removed.
        * ForwardingHeaders/yarr/Yarr.h: Added.
        * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
        * ForwardingHeaders/yarr/YarrPattern.h: Added.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::Private::create):
        (WebCore::RegularExpression::Private::Private):
        (WebCore::RegularExpression::Private::compile):
        (WebCore::RegularExpression::match):

2011-02-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [EFL] Add dummy functions for HTML5 Video's control UI
        https://bugs.webkit.org/show_bug.cgi?id=53906

        In WebKit EFL, there are no implementations for HTML5 control UI.
        First, dummy functions are added.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
        (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
        (WebCore::RenderThemeEfl::paintMediaMuteButton):
        (WebCore::RenderThemeEfl::paintMediaPlayButton):
        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
        (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
        (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
        * platform/efl/RenderThemeEfl.h:

2011-02-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make WebKit's fragment cannonicalization match other browsers
        https://bugs.webkit.org/show_bug.cgi?id=53850

        This doesn't make us match perfectly, but it brings us closer.

        * platform/KURL.cpp:
        (WebCore::appendEscapingBadChars):
        (WebCore::escapeAndAppendFragment):
        (WebCore::KURL::parse):

2011-02-09  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Cursors should skip deleted entries
        https://bugs.webkit.org/show_bug.cgi?id=53690

        Add test to check that the cursor skips deleted entries.

        Test: storage/indexeddb/cursor-skip-deleted.html

        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::currentRowExists):
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        * storage/IDBCursorBackendImpl.h:

2011-02-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: script formatter should not create a worker for each script.
        https://bugs.webkit.org/show_bug.cgi?id=54010

        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter):
        (WebInspector.ScriptFormatter.prototype._formatScript):
        (WebInspector.ScriptFormatter.prototype._handleMessage):
        (WebInspector.ScriptFormatter.prototype._handleError):

2011-02-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: sync uglifyjs parser files.
        https://bugs.webkit.org/show_bug.cgi?id=54003

        * inspector/front-end/UglifyJS/parse-js.js:
        * inspector/front-end/UglifyJS/process.js:

2011-02-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
        https://bugs.webkit.org/show_bug.cgi?id=53196

        The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy,
        and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy
        before making the modification and not removing non-inheritable properties.

        Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large
        by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles
        and selectionStartCSSPropertyValue.

        Test: editing/style/query-typing-style.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles.
        (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that
        CSS values from xx-small through -webkit-xxx-large are not accounted.
        * editing/ApplyStyleCommand.h:
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue.
        (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style.
        No longer calls removeNonEditingProperties on the copied typing style so that background-color property
        is included when merged into the style.

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

        Reviewed by Maciej Stachowiak.

        REGRESSION (r76831): Subframes are printed blank
        <rdar://problem/8945867>

        * page/FrameView.cpp:
        (WebCore::FrameView::paintOverhangAreas):
        Don't paint overhangs when printing.

2011-02-07  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
        https://bugs.webkit.org/show_bug.cgi?id=53975

        The third change in the series of overhauling IndexedDB's event model to match
        the spec (at least the version in our heads and bugs).

        Test: storage/indexeddb/transaction-event-propagation.html

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * dom/Event.cpp:
        (WebCore::Event::isIDBAbortEvent):
        (WebCore::Event::isIDBCompleteEvent):
        * dom/Event.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toIDBDatabase):
        * dom/EventTarget.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::create):
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::scriptExecutionContext):
        (WebCore::IDBDatabase::eventTargetData):
        (WebCore::IDBDatabase::ensureEventTargetData):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::toIDBDatabase):
        (WebCore::IDBDatabase::refEventTarget):
        (WebCore::IDBDatabase::derefEventTarget):
        * storage/IDBDatabase.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::backend):
        (WebCore::IDBTransaction::db):
        (WebCore::IDBTransaction::objectStore):
        (WebCore::IDBTransaction::scriptExecutionContext):
        (WebCore::IDBTransaction::dispatchEvent):
        (WebCore::IDBTransaction::enqueueEvent):
        * storage/IDBTransaction.h:
        (WebCore::IDBTransaction::dispatchEvent):

2011-02-08  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add cache for GPU-accelerated path processing results
        https://bugs.webkit.org/show_bug.cgi?id=45519

        Adding a cache which holds the results of processing a path into
        interior and exterior triangle meshes, according to the path
        rendering algorithm from GPU Gems 3. No tests yet; will be tested
        in conjunction with later code.

        * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added.
        (WebCore::LoopBlinnPathCache::LoopBlinnPathCache):
        (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache):
        (WebCore::LoopBlinnPathCache::addVertex):
        (WebCore::LoopBlinnPathCache::clear):
        (WebCore::LoopBlinnPathCache::addInteriorVertex):
        (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices):
        (WebCore::LoopBlinnPathCache::interiorEdgeVertices):
        (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex):
        * platform/graphics/gpu/LoopBlinnPathCache.h: Added.
        (WebCore::LoopBlinnPathCache::numberOfVertices):
        (WebCore::LoopBlinnPathCache::vertices):
        (WebCore::LoopBlinnPathCache::texcoords):
        (WebCore::LoopBlinnPathCache::numberOfInteriorVertices):
        (WebCore::LoopBlinnPathCache::interiorVertices):

2011-02-08  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Rename GraphicsContext3D::WebGLEnumType
        https://bugs.webkit.org/show_bug.cgi?id=45708

        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::getAttachedShader):
        * html/canvas/WebGLProgram.h:
        * platform/graphics/GraphicsContext3D.h:

2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r77980.
        http://trac.webkit.org/changeset/77980
        https://bugs.webkit.org/show_bug.cgi?id=54043

        "Crashes on Windows and Linux..." (Requested by leviw on
        #webkit).

        * WebCore.exp.in:
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::startOfStyleRange):
        (WebCore::endOfStyleRange):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (objectAndOffsetUnignored):
        * dom/Position.cpp:
        (WebCore::Position::upstream):
        (WebCore::Position::downstream):
        * dom/Range.cpp:
        (WebCore::Range::editingStartPosition):
        * editing/Editor.cpp:
        (WebCore::Editor::canDeleteRange):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
        (WebCore::SelectionController::setSelectedRange):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::VisiblePosition):
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::canonicalPosition):
        (WebCore::VisiblePosition::characterAfter):
        (WebCore::VisiblePosition::localCaretRect):
        (WebCore::makeRange):
        (WebCore::startVisiblePosition):
        (WebCore::endVisiblePosition):
        (WebCore::setStart):
        (WebCore::setEnd):
        (WebCore::isFirstVisiblePositionInNode):
        (WebCore::isLastVisiblePositionInNode):
        * editing/VisiblePosition.h:
        * editing/htmlediting.cpp:
        (WebCore::firstInSpecialElement):
        (WebCore::lastInSpecialElement):
        (WebCore::visiblePositionBeforeNode):
        (WebCore::visiblePositionAfterNode):
        * editing/visible_units.cpp:
        (WebCore::startPositionForLine):
        (WebCore::endPositionForLine):
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        (WebCore::endOfBlock):
        (WebCore::startOfDocument):
        (WebCore::endOfDocument):
        (WebCore::logicalStartPositionForLine):
        (WebCore::logicalEndPositionForLine):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapse):
        (WebCore::DOMSelection::setBaseAndExtent):
        (WebCore::DOMSelection::setPosition):
        (WebCore::DOMSelection::extend):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createVisiblePosition):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::visiblePositionForIndex):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::selectSubString):

2011-02-08  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        VisibleSelection::setWithoutValidation() should allow caret selection.
        https://bugs.webkit.org/show_bug.cgi?id=53943

        Test: editing/undo/undo-paste-when-caret-is-not-in-range.html

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::setWithoutValidation):

2011-02-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Remove the last remnants of the Mozilla theme drawing code
        https://bugs.webkit.org/show_bug.cgi?id=54035

        Remove all Mozilla theme drawing code.

        No new tests. This change only removes dead code.

        * GNUmakefile.am: Remove Mozilla files from the source list.
        * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods
        and add m_colormap to hold the current colormap of the widgets.
        * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code.
        (WebCore::RenderThemeGtk::platformInit): Ditto.
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
        (WebCore::RenderThemeGtk::gtkContainer): Ditto.
        * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto.
        * platform/gtk/WidgetRenderingContext.h: Ditto.
        * platform/gtk/gtk2drawing.c: Removed.
        * platform/gtk/gtkdrawing.h: Removed.

2011-02-08  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antti Koivisto.

        Crash when logging into gmail.com with frame flattening turned on.
        https://bugs.webkit.org/show_bug.cgi?id=52449

        Frame flattening algorithm requires that layout always starts from the main frame, since layout of
        subframes impacts the layout of their parents. 
        There are places in the code that call view->layout() not on the main frame.
        Instead of changing all the callsites, I changed FrameView::layout()
        to force layout from the main frame if frame flattening is enabled.
        In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
        Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), 
        because calling the from layout() leads to a crash in pages that have a selection in an iframe.

        Tests: fast/frames/flattening/iframe-flattening-crash.html
               fast/frames/flattening/iframe-flattening-selection-crash.html

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

2011-02-08  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
        a supported contentEditable mode.
        https://bugs.webkit.org/show_bug.cgi?id=54041

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
        attribute to 'plaintext-only' should not throw an exception.

2011-02-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        RenderRubyRun::m_beingDestroyed is redundant
        https://bugs.webkit.org/show_bug.cgi?id=54042

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
        (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). 
        * rendering/RenderRubyRun.h:

2011-02-08  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Ryosuke Niwa.

        Stop instantiating legacy editing Positions in VisiblePosition
        https://bugs.webkit.org/show_bug.cgi?id=52919

        Changing VisiblePosition completely away from legacy positions.

        No new tests since this is functionaly equivalent.

        * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
        adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
        outside of WebCore, they should be parent anchored.
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::startOfStyleRange):
        (WebCore::endOfStyleRange):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (objectAndOffsetUnignored):
        * dom/Position.cpp:
        (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
        (WebCore::Position::downstream): ditto
        * dom/Range.cpp:
        (WebCore::Range::editingStartPosition):
        * editing/Editor.cpp:
        (WebCore::Editor::canDeleteRange):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
        (WebCore::SelectionController::setSelectedRange):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::canonicalPosition):
        (WebCore::VisiblePosition::characterAfter):
        (WebCore::VisiblePosition::localCaretRect):
        (WebCore::makeRange):
        (WebCore::startVisiblePosition):
        (WebCore::endVisiblePosition):
        (WebCore::setStart):
        (WebCore::setEnd):
        (WebCore::isFirstVisiblePositionInNode):
        (WebCore::isLastVisiblePositionInNode):
        * editing/VisiblePosition.h:
        (WebCore::VisiblePosition::VisiblePosition):
        * editing/htmlediting.cpp:
        (WebCore::firstInSpecialElement):
        (WebCore::lastInSpecialElement):
        (WebCore::visiblePositionBeforeNode):
        (WebCore::visiblePositionAfterNode):
        * editing/visible_units.cpp:
        (WebCore::startPositionForLine):
        (WebCore::endPositionForLine):
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        (WebCore::endOfBlock):
        (WebCore::startOfDocument):
        (WebCore::endOfDocument):
        (WebCore::logicalStartPositionForLine):
        (WebCore::logicalEndPositionForLine):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapse):
        (WebCore::DOMSelection::setBaseAndExtent):
        (WebCore::DOMSelection::setPosition):
        (WebCore::DOMSelection::extend):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createVisiblePosition):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::visiblePositionForIndex):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::selectSubString):

2011-02-08  Michael Saboff  <msaboff@apple.com>

        JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
        https://bugs.webkit.org/show_bug.cgi?id=53716

        Changed ASSERT to be an if for the case where the RuntimeObject was
        GC'ed before RootObject::invalidate is called.  In that case there is 
        no need to remove the RuntimeObject from the RootObject.  The isValid()
        call will be false in this case, but the RuntimeObject has already
        been removed from the RootObject.  Added similar defensive code
        in RootObject::removeRuntimeObject().

        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::willDestroyRuntimeObject):
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::removeRuntimeObject):

2011-02-08  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/8953365> CrashTracer: 14 
        crashes in WebProcess at com.apple.WebCore: 
        -[ScrollKnobAnimation setCurrentProgress:] + 258

        This crash seems to happen when the animation is running
        and a window is closed. If the ScrollAnimator is destroyed,
        delegate calls for the animation can still run, so we have 
        to make sure we inform the delegates when the ScrollAnimator 
        is gone, and then we have to null-check it before we do 
        anything with it.

        Remove scrollbarPainterDelegate() since it's not used anymore.
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        
        Add null-checks for _animator
        (-[ScrollbarPartAnimation setCurrentProgress:]):
        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
        
        New function to inform the delegates that the ScrollAnimator
        is being destroyed.
        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):

2011-02-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove orphan code from old parser
        https://bugs.webkit.org/show_bug.cgi?id=53984

        This code appears to be unused.

        * html/HTMLParserErrorCodes.cpp:
        * html/HTMLParserErrorCodes.h:
        * html/HTMLParserQuirks.h:
        * loader/EmptyClients.h:
        * page/ChromeClient.h:

2011-02-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

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

        Replace gtk2drawing.c scrollbar rendering with our own version. This
        is the last use of the Mozilla theme drawing code.

        No new tests. This should not change the rendering of the default
        theme.

        * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
        * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
        * platform/gtk/RenderThemeGtk2.cpp:  Initialize and add getters for scrollbar widgets.
        (WebCore::RenderThemeGtk::platformInit): Ditto.
        (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
        (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
        * platform/gtk/ScrollbarThemeGtk.cpp: 
        (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
        window background if we are repainting a button or the thumb. In that
        case also repaint the track rect.
        * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
        (WebCore::getWidgetForScrollbar): Ditto.
        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
        (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
        also adjusts a widget allocation according to the paint rect. This is
        necessary to properly draw scrollbar buttons.
        * platform/gtk/WidgetRenderingContext.h: Ditto.

2011-02-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Inset shadow with large offset renders incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=53882
        
        Fix an issue with inset shadows, when the shadow offset
        was larger than the box size. In this case we'd fail to
        fill the box with the shadow color.

        Test: fast/box-shadow/inset-shadow-large-offset.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::areaCastingShadowInHole): Return a rect that covers the area
        which contributes to the inset shadow.
        
        (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
        to compute the outerRect.

2011-02-08  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
        https://bugs.webkit.org/show_bug.cgi?id=54017

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

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

        Reviewed by Darin Adler.

        Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
        https://bugs.webkit.org/show_bug.cgi?id=53190

        This is the second part of refactoring the HTMLMediaElement to use new
        shadow DOM. The changes are mainly mechanical, except for needing to
        add a new method to RenderTheme, which indicates whether or not status
        display is being used by it. Previously, we relied on existence of a cached
        pseudo style.

        Refactoring, covered by existing tests.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Ditto.
        * html/shadow/MediaControls.cpp:
        (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
        (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
            MediaControlCurrentTimeDisplayElement.
        (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
                MediaControlTimeRemainingDisplayElement.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
            standard style resolution.
        (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
        (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
            that is no longer necessary.
        (WebCore::MediaControlElement::styleForElement): Changed to use the standard
            style resolution.
        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
        (WebCore::MediaControlPanelElement::create): Added.
        (WebCore::MediaControlPanelElement::displayType): Added.
        (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
            Removed PseudoId constructor arg.
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
            Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
        (WebCore::MediaControlTimelineContainerElement::displayType): Added.
        (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
            Removed PseudoId constructor arg.
        (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
        (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
            Removed PseudoId constructor arg.
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
            use the newly-plumbed usesMediaControlStatusDisplay helper.
        (WebCore::MediaControlStatusDisplayElement::displayType): Added.
        (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
            Removed PseudoId constructor arg.
        (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
        (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
        (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
        (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
        (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
        (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
        (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
        (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
        * rendering/MediaControlElements.h: Added/changed defs accordingly.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
        * rendering/RenderThemeMac.h: Added def.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
        * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.

2011-02-08  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix pop-up button text not rendered correctly according to its direction
        in <option>.
        https://bugs.webkit.org/show_bug.cgi?id=53642
 
        In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi 
        changes, set it needs layout.

        Test: fast/text/international/pop-up-button-text-alignment-and-direction.html

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle):

2011-02-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed build fix for Qt-minimal.

        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::hasFrontend):

2011-02-02  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.

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

        All the Inspector API for WebCore has two parts.
        The first one is InspectorInstrumentation for WebCore.
        The second is InspectorController for WebKit.
        InspectorAgent was produced by renaming original InspectorController.
        This patch extracts WebKit related methods from InspectorAgent to InspectorController.

        * WebCore.exp.in:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::~InspectorAgent):
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        (WebCore::InspectorAgent::inspect):
        (WebCore::InspectorAgent::handleMousePress):
        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
        (WebCore::InspectorAgent::setFrontend):
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::resourceAgent):
        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
        (WebCore::InspectorAgent::populateScriptObjects):
        (WebCore::InspectorAgent::pushDataCollectedOffline):
        (WebCore::InspectorAgent::restoreProfiler):
        (WebCore::InspectorAgent::startTimelineProfiler):
        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
        (WebCore::InspectorAgent::didOpenDatabase):
        (WebCore::InspectorAgent::didUseDOMStorage):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enableDebugger):
        (WebCore::InspectorAgent::enabled):
        * inspector/InspectorAgent.h:
        (WebCore::InspectorAgent::frontend):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::setInspectorFrontendClient):
        (WebCore::InspectorController::hasInspectorFrontendClient):
        (WebCore::InspectorController::didClearWindowObjectInWorld):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::disconnectFrontendImpl):
        (WebCore::InspectorController::show):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::evaluateForTestInFrontend):
        (WebCore::InspectorController::drawNodeHighlight):
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::enabled):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::frontendLoaded):
        (WebCore::InspectorController::timelineProfilerEnabled):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::profilerEnabled):
        (WebCore::InspectorController::debuggerEnabled):
        (WebCore::InspectorController::showAndEnableDebugger):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
        (WebCore::InspectorController::setInspectorExtensionAPI):
        (WebCore::InspectorController::resume):
        (WebCore::InspectorController::hideHighlight):
        (WebCore::InspectorController::dispatchMessageFromFrontend):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorClient):
        (WebCore::InspectorController::inspectedPage):
        (WebCore::InspectorController::hasFrontend):
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setExtensionAPI):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::hasFrontend):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

2011-02-08  George Wright  <gwright@rim.com>

        Reviewed by Adam Barth.

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

        Ensure that we pack the colour byte order correctly for Skia using
        Skia's SkPackARGB32 function.

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::setRGBA):

2011-02-08  George Wright  <gwright@rim.com>

        Reviewed by Darin Adler.

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

        Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
        pass the full image dimensions.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImageBuffer):

2011-02-08  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Add missing includes and forward declarations for DownloadBundle
        https://bugs.webkit.org/show_bug.cgi?id=53881

        * platform/network/cf/DownloadBundle.h:
        * platform/network/win/DownloadBundleWin.cpp:
        (WebCore::DownloadBundle::appendResumeData):

2011-02-08  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Add missing include in WKCAImageQueue
        https://bugs.webkit.org/show_bug.cgi?id=53890

        * platform/graphics/win/WKCAImageQueue.cpp:

2011-02-08  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Add missing includes and forward declarations for CFNetwork
        https://bugs.webkit.org/show_bug.cgi?id=53883

        * platform/network/cf/DNSCFNet.cpp:
        * platform/network/cf/LoaderRunLoopCF.cpp:
        * platform/network/cf/LoaderRunLoopCF.h:
        * platform/network/cf/ProxyServerCFNet.cpp:
        * platform/network/cf/SocketStreamHandle.h:
        * platform/network/cf/SocketStreamHandleCFNet.cpp:

2011-02-08  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r77870.

        * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.

2011-02-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: open network resource url in new tab upon double click.
        https://bugs.webkit.org/show_bug.cgi?id=53930

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

2011-02-08  Yonathan Randolph  <yonathan@gmail.com>

        Reviewed by Pavel Feldman.

        Web Inspector: $x: any node should work in optional context parameter.
        https://bugs.webkit.org/show_bug.cgi?id=50138

        * inspector/InjectedScriptSource.js:

2011-02-08  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r77870.

        Remove the global namespace prefix from GlobalLock/GlobalUnlock.

        * platform/win/ClipboardUtilitiesWin.cpp:

2011-02-08  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: re-apply r77924.

        Test: inspector/console-api-on-call-frame.html

        * inspector/InjectedScriptSource.js:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):

2011-02-08  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        REGRESSION(r77312): Unbreak TiledBackingStore.

        Due to an off-by-one error, we were no longer rendering the
        rightmost column and bottom row of tiles.

        Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::invalidate):
        (WebCore::TiledBackingStore::updateTileBuffers):
        (WebCore::TiledBackingStore::paint):
        (WebCore::TiledBackingStore::createTiles):

2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r77924.
        http://trac.webkit.org/changeset/77924
        https://bugs.webkit.org/show_bug.cgi?id=53997

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

        * inspector/InjectedScriptSource.js:
        (.):
        ():

2011-02-08  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
        https://bugs.webkit.org/show_bug.cgi?id=53789
         - perform UserAgent override via InspectorInstrumentation
         - move adding extra request headers to InspectorResourceAgent
         - simplified things in InspectorState

        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::applyUserAgentOverride):
        * inspector/InspectorAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
        (WebCore::InspectorInstrumentation::willSendRequestImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::applyUserAgentOverride):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::setExtraHeaders):
        (WebCore::InspectorResourceAgent::willSendRequest):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        (WebCore::InspectorState::restoreFromInspectorCookie):
        (WebCore::InspectorState::updateCookie):
        (WebCore::InspectorState::setValue):
        (WebCore::InspectorState::getBoolean):
        (WebCore::InspectorState::getString):
        (WebCore::InspectorState::getLong):
        (WebCore::InspectorState::getObject):
        * inspector/InspectorState.h:
        (WebCore::InspectorState::setObject):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::userAgent):

2011-02-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not hide scope variables with command line api.
        https://bugs.webkit.org/show_bug.cgi?id=53497

        Test: inspector/console-api-on-call-frame.html

        * inspector/InjectedScriptSource.js:

2011-02-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
        https://bugs.webkit.org/show_bug.cgi?id=53914

        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::reloadPage):
        * inspector/InspectorAgent.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onReload):
        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2011-02-08  Antti Koivisto  <antti@apple.com>

        Reviewed by Cameron Zwarich.

        Skip over sibling selectors when collecting descendant selector hashes 
        https://bugs.webkit.org/show_bug.cgi?id=53987
        
        Skip instead of bailing out. This will allow optimizing some sibling selector cases.

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::RuleData):
        (WebCore::RuleData::collectIdentifierHashes):
        (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
        * css/CSSStyleSelector.h:

2011-02-07  Cris Neckar  <cdn@chromium.org>

        Reviewed by Jian Li.

        Fix null deref in DOMURL
        https://bugs.webkit.org/show_bug.cgi?id=53811

        Test: fast/files/domurl-script-execution-context-crash.html

        * html/DOMURL.cpp:
        (WebCore::DOMURL::DOMURL):

2011-02-07  Mark Rowe  <mrowe@apple.com>

        Fix the 32-bit build.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.

2011-02-07  Xiyuan Xia  <xiyuan@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Select popup box does not align with select button when appearance is not "menulist".
        https://bugs.webkit.org/show_bug.cgi?id=53942

        Added manual test select_webkit_appearance_off_popup_alignment.html.

        * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):

2011-02-07  Aparna Nandyal  <aparna.nand@wipro.com>

        Reviewed by Andreas Kling.

        [Qt] - Context menu needs "Copy" as well when the selected text is a link.
        https://bugs.webkit.org/show_bug.cgi?id=40983

        Added copy option for Qt platform if selection is a link. 
        Added a test in tst_qwebpage.cpp. 

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::populate):

2011-02-07  Mike Reed  <reed@google.com>

        Reviewed by Kenneth Russell.

        Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
        when drawing <canvas>. Disabled by default.

        No new tests. existing canvas layouttests apply

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::GetGlobalGrContext):
        (WebCore::PlatformContextSkia::isPrinting):
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
        (WebCore::PlatformContextSkia::syncSoftwareCanvas):

2011-02-07  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Darin Fisher.

        Removing unused code from PopupMenuChromium.
        https://bugs.webkit.org/show_bug.cgi?id=53866

       * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):
        (WebCore::PopupMenuChromium::show):
        * platform/chromium/PopupMenuChromium.h:

2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Andreas Kling.

        HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
        https://bugs.webkit.org/show_bug.cgi?id=53791

        Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().

        Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html

        * html/HTMLOutputElement.cpp:
        (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
        childrenChanged().

2011-02-07  Benjamin Poulain  <ikipou@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
        https://bugs.webkit.org/show_bug.cgi?id=52289

        Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
        in the same thread as the QNetworkAccessManager.

        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
        (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
        (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
        * platform/network/qt/QtNAMThreadSafeProxy.h:
        * platform/qt/CookieJarQt.cpp:
        (WebCore::cookiesEnabled):

2011-02-07  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by Kenneth Russell.

        Hook up WebGraphicsContext3D::setContextLostCallback.
        https://bugs.webkit.org/show_bug.cgi?id=53722

        Test: fast/canvas/webgl/context-lost.html, comment out the line with
        extension.loseContext() and kill the GPU process "Lose context"
        message shows up.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
        (WebCore::WebGLRenderingContextLostCallback::onContextLost):
        (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::setContextLostCallback): stub
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::setContextLostCallback): stub

2011-02-07  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        Add missing PaintInfo include in RenderThemeWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=53885

        * rendering/RenderThemeWin.cpp:

2011-02-07  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
        https://bugs.webkit.org/show_bug.cgi?id=52974

        Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        (WebCore::ContextMenuController::populate):
        (WebCore::ContextMenuController::checkOrEnableIfNeeded):
        * platform/ContextMenuItem.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
        * platform/LocalizedStrings.h:

2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Kent Tamura.

        HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
        https://bugs.webkit.org/show_bug.cgi?id=53970

        Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
        return the right value.

        Test: fast/dom/HTMLObjectElement/form/nested-form-element.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::virtualForm): Added.
        * html/HTMLObjectElement.h: Added virtualForm().

2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Leopard build fix.

        * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
        * platform/mac/DragImageMac.mm:
        (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.

2011-02-07  Enrica Casucci  <enrica@apple.com>

        Reviewed by Sam Weinig.

        Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874

        When moving code from WebKit to WebCore we needed to move some additional
        functions previously in NSStringExtras.
        
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/DragImageMac.mm:
        (WebCore::fontFromNSFont):
        (WebCore::canUseFastRenderer):
        (WebCore::widthWithFont):
        (WebCore::webkit_CGCeiling):
        (WebCore::drawAtPoint):
        (WebCore::drawDoubledAtPoint):
        (WebCore::createDragImageForLink):

2011-02-07  Lucas Forschler  <lforschler@apple.com>

        Reviewed by Geoff Garen.

        Tr #2, Fix the Leopard 32bit debug build.
        
        No new tests required.

        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityAllInOne.cpp:

2011-02-07  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for <rdar://problem/8946961> Fix repaint problems
        with WKScrollbarPainter scrollers while resizing the window

        Remove setPainterForPainterController() and 
        removePainterFromPainterController() since they aren't
        used anymore.
        * platform/mac/ScrollAnimatorMac.h:
        
        Return early if they alpha hasn't changed.
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        
        If we're in a live resize, restore alpha to 1.
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):

2011-02-07  Beth Dakin  <bdakin@apple.com>

        Reviewed by Eric Seidel.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
        USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
        Platform.h instead

        Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
        than the silly, old in-file #define.

        * platform/mac/ScrollbarThemeMac.mm:
        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::scrollbarThickness):
        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        (WebCore::ScrollbarThemeMac::paint):

2011-02-07  Enrica Casucci  <enrica@apple.com>

        Reviewed Adam Roben and Darin Adler.

        WebKit2: drag and drop support on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=52775
        <rdar://problem/8514409>

        * loader/EmptyClients.h: Removed createDragImageFromLink.
        * page/DragClient.h: Ditto.
        * page/DragController.cpp:
        (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
        * platform/DragImage.h:
        * platform/mac/DragImageMac.mm:
        (WebCore::createDragImageForLink): Moved from DragClient.
        * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
        to de-serialize the drag data from the map into an IDataObject.
        (WebCore::getWebLocData):
        (WebCore::texthtmlFormat):
        (WebCore::createGlobalData):
        (WebCore::getFullCFHTML):
        (WebCore::urlWFormat):
        (WebCore::urlFormat):
        (WebCore::filenameWFormat):
        (WebCore::filenameFormat):
        (WebCore::htmlFormat):
        (WebCore::smartPasteFormat):
        (WebCore::getURL):
        (WebCore::getPlainText):
        (WebCore::getTextHTML):
        (WebCore::ClipboardDataItem::ClipboardDataItem):
        (WebCore::getStringData):
        (WebCore::getUtf8Data):
        (WebCore::getCFData):
        (WebCore::setUCharData):
        (WebCore::setCharData):
        (WebCore::setCFData):
        (WebCore::getClipboardMap):
        (WebCore::getClipboardData):
        (WebCore::setClipboardData):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
        to a platform specific file in WebCore. It makes a lot more sense here, since
        the drag image is always created in WebCore for all the other content types
        except for links.
        (WebCore::dragLabelFont):
        (WebCore::createDragImageForLink):
        * platform/win/WCDataObject.cpp: Added new way to
        construct a WCDataObject from a DragDataMap.
        (WebCore::WCDataObject::createInstance):
        (WebCore::WCDataObject::clearData):
        * platform/win/WCDataObject.h:

2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r77848.
        http://trac.webkit.org/changeset/77848
        https://bugs.webkit.org/show_bug.cgi?id=53963

        caused 6 test failures (Requested by othermaciej on #webkit).

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):

2011-02-04  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add shaders for GPU accelerated path rendering
        https://bugs.webkit.org/show_bug.cgi?id=45520

        Refactored SolidFillShader and TexShader to call new
        generateVertex() and generateFragment() methods on base Shader
        class, and added support for the Loop/Blinn shaders. Refactored
        Loop/Blinn shader classes to derive from Shader.

        Tested these changes with several of the IE9 Testdrive demos with
        accelerated 2D canvas enabled, as well as a full layout test run
        with --platform chromium-gpu.

        * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
        (WebCore::LoopBlinnShader::LoopBlinnShader):
        (WebCore::LoopBlinnShader::use):
        * platform/graphics/gpu/LoopBlinnShader.h: Added.
        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
        (WebCore::LoopBlinnSolidFillShader::create):
        (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
        (WebCore::LoopBlinnSolidFillShader::use):
        * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
        * platform/graphics/gpu/Shader.cpp:
        (WebCore::Shader::affineTo4x4):
        (WebCore::Shader::loadShader):
        (WebCore::Shader::loadProgram):
        (WebCore::Shader::generateVertex):
        (WebCore::Shader::generateFragment):
        * platform/graphics/gpu/Shader.h:
        * platform/graphics/gpu/SolidFillShader.cpp:
        (WebCore::SolidFillShader::create):
        * platform/graphics/gpu/TexShader.cpp:
        (WebCore::TexShader::TexShader):
        (WebCore::TexShader::create):

2011-02-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
        https://bugs.webkit.org/show_bug.cgi?id=53480

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
        offset into m_characters, not into the run’s characters.
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.

2011-02-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add bundle API to get the background color of a frame
        <rdar://problem/8962670>
        https://bugs.webkit.org/show_bug.cgi?id=53952

        * WebCore.exp.in: Add export.

2011-02-07  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Assertion failure in ~JSGlobalObject when loading apple.com HTML5
        transitions demo page
        https://bugs.webkit.org/show_bug.cgi?id=53853

        This was a long-standing bookkeeping bug uncovered by some heap refactoring.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
        reporting extra cost to the JavaScriptCore heap, since all use of
        JavaScriptCore is supposed to be guarded by JSLock.

2011-02-07  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
        bots
        https://bugs.webkit.org/show_bug.cgi?id=53104

        Covered by the existing tests.

        * fileapi/FileStreamProxy.cpp:
        (WebCore::FileStreamProxy::startOnFileThread):
        * platform/network/BlobRegistryImpl.cpp:
        (WebCore::BlobRegistryImpl::createResourceHandle):
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::BlobResourceHandle):
        (WebCore::BlobResourceHandle::cancel):
        (WebCore::delayedStartBlobResourceHandle):
        (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
        till the delay function is called.
        (WebCore::BlobResourceHandle::doStart):
        (WebCore::doNotifyFinish):
        (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
        standalone function to prevent the handle from being disposed immediately
        by the client which will make the calls in the stack that're still bound
        to the handle suffer.
        * platform/network/BlobResourceHandle.h:
        * platform/network/ResourceHandle.h: Change cancel() to virtual so that
        BlobResourceHandle::cancel will be called when we abort a FileReader.

2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r77845.
        http://trac.webkit.org/changeset/77845
        https://bugs.webkit.org/show_bug.cgi?id=53946

        build failure (Requested by lforschler_ on #webkit).

        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityAllInOne.cpp:

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

        https://bugs.webkit.org/show_bug.cgi?id=53939
        fast/css/text-overflow-ellipsis.html failure after r77818/77819

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Add back the "utf8" synonym for "UTF-8".

2011-02-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        Remove an unnecessary extra computeLogicalWidth() from line layout.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):

2011-02-07  Lucas Forschler  <lforschler@apple.com>

        Reviewed by Geoffrey Garen.

        Fix Leopard Intel Debug Build.
        <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
        This could potentially break windows, since I had to change #include <filename> to #include "filename"
        
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityAllInOne.cpp:

2011-02-07  Sam Weinig  <sam@webkit.org>

        Fix build.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):

2011-02-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Add mechanism to inform the ScrollAnimator when Scrollbars are added 
        and removed.

        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::didAddVerticalScrollbar):
        (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
        Make virtual to allow platform specific overrides.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setHasHorizontalScrollbar):
        (WebCore::ScrollView::setHasVerticalScrollbar):
        Call new ScrollableArea functions.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::didAddVerticalScrollbar):
        (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
        (WebCore::ScrollableArea::didAddHorizontalScrollbar):
        (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
        * platform/ScrollableArea.h:
        Pipe to ScrollAnimator.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
        (WebCore::ScrollbarThemeMac::painterForScrollbar):
        Move painter delegate registration to the new didAdd/willRemove functions.

2011-02-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Missing text match markers with accelerated content
        https://bugs.webkit.org/show_bug.cgi?id=53934

        When doing the fake paint that recomputes the text match rects, we need to
        flatten compositing layers, otherwise the rects won't be updated until the next paint call.

        (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
        window before asking for the text match rects).

        * editing/Editor.cpp:
        (WebCore::Editor::countMatchesForText):

2011-02-07  Antti Koivisto  <antti@apple.com>

        Reviewed by Andreas Kling.

        REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
        https://bugs.webkit.org/show_bug.cgi?id=53900
        
        Ignore link elements in shadow trees.

        * dom/Element.cpp:
        (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
                
            Some asserts to catch cases like this.

        (WebCore::Element::attach):
        (WebCore::Element::recalcStyle):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::insertedIntoDocument):
        (WebCore::HTMLLinkElement::removedFromDocument):
        * html/HTMLLinkElement.h:

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

        Turn UTF-8 decoder off for now so we can look into failing tests
        without leaving the tree red.

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
        earlier change so this can handle UTF-8.
        (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
        (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
        (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
        * platform/text/TextCodecICU.h: Ditto.
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps): Ditto.
        (WebCore::extendTextCodecMaps): Ditto.
        * platform/text/brew/TextCodecBrew.cpp:
        (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
        (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
        (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
        (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
        * platform/text/brew/TextCodecBrew.h: Ditto.
        * platform/text/gtk/TextCodecGtk.cpp:
        (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
        (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
        (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
        (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
        (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
        * platform/text/wince/TextCodecWinCE.h: Ditto.

2011-02-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Maciej Stachowiak.

        Don't exclude overlay scrollers from the page overlay bounds
        https://bugs.webkit.org/show_bug.cgi?id=53924

        Export ScrollbarTheme::nativeTheme.

        * WebCore.exp.in:

2011-02-07  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Crash in glDrawArrays with NaCl crystal model
        https://bugs.webkit.org/show_bug.cgi?id=52831

        * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
        (WebCore::WebGLRenderingContext::initVertexAttrib0):
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
        * html/canvas/WebGLRenderingContext.h:

2011-02-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
        https://bugs.webkit.org/show_bug.cgi?id=53842

        Test: platform/mac/accessibility/aria-sort.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::sortDirection):
        * accessibility/AccessibilityObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

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

        Reviewed by Antti Koivisto.

        Add built-in decoder for UTF-8 for improved performance
        https://bugs.webkit.org/show_bug.cgi?id=53898

        Correct behavior is covered by existing tests.

        * Android.mk: Added TextCodecUTF8.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
        since that's now handled by the built-in UTF-8 codec.
        (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
        the word "extended" since all codecs from ICU are now extended.
        (WebCore::TextCodecICU::registerCodecs): Ditto.
        * platform/text/TextCodecICU.h: Ditto.

        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
        error handling.

        * platform/text/TextCodecUTF8.cpp: Added.
        * platform/text/TextCodecUTF8.h: Added.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
        removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
        (WebCore::extendTextCodecMaps): Updated names for
        TextCodecICU and TextCodecWinCE.

        * platform/text/brew/TextCodecBrew.cpp:
        (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
        the word "extended" since all codecs from Brew are now extended.
        (WebCore::TextCodecBrew::registerCodecs): Ditto.
        * platform/text/brew/TextCodecBrew.h: Ditto.

        * platform/text/gtk/TextCodecGtk.cpp:
        (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
        registration of UTF-8. It's questionable whether the other codecs
        here are really basic. If we think they qualify, then we should
        register them on other platforms, not just GTK.
        (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.

        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::getCodePage): Removed special case for UTF-8 since we
        no longer use this codec for UTF-8.
        (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
        the word "extended" since all codecs from WinCE are now extended.
        (WebCore::TextCodecWinCE::registerCodecs): Ditto.
        * platform/text/wince/TextCodecWinCE.h: Ditto.

2011-02-07  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] atk_text_get_caret_offset fails for list items
        https://bugs.webkit.org/show_bug.cgi?id=53436

        Consider list item markers when calculating the offset.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_caret_offset): Adjust the offset
        with the item marker's length for list items.
        (webkit_accessible_text_set_caret_offset): Replace usage of
        g_utf8_strlen() by calling to markerText.length().

2011-02-07  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Fix LayoutTests/media/restore-from-page-cache.html
        https://bugs.webkit.org/show_bug.cgi?id=53621

        Changed the networkState to MediaPlayer::Loaded when 
        MediaPlayerPrivateQt has enough data.

        Test: media/restore-from-page-cache.html

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

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: implement beautification of scripts inlined in html documents.
        https://bugs.webkit.org/show_bug.cgi?id=52706

        To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
        finally paste them back to html.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
        (WebInspector.ScriptFormatter.prototype.formatContent):
        (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
        (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
        (WebInspector.ScriptFormatter.prototype._formatChunks):
        (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
        (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
        (WebInspector.ScriptFormatter.prototype._formatScript):
        * inspector/front-end/ScriptFormatterWorker.js:
        (onmessage):
        (buildMapping):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
        * inspector/front-end/SourceFrameContent.js: Added.
        (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
        (WebInspector.SourceFrameContent.prototype.get scriptRanges):
        (WebInspector.SourceFrameContent.prototype.locationToPosition):
        (WebInspector.SourceFrameContent.prototype.positionToLocation):
        (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
        (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
        (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
        (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
        (WebInspector):
        (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
        (WebInspector.FormattedSourceFrameContent.prototype.get text):
        (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
        (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
        (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-02-07  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: "Reveal in elements panel" does not always work.
        https://bugs.webkit.org/show_bug.cgi?id=53775

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        * inspector/front-end/ContextMenu.js:
        (WebInspector.ContextMenu.prototype.show):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
        * inspector/front-end/inspector.js:
        (WebInspector.cancelSearch):

2011-02-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Relative .. in URL paths shouldn't skip adjacent / characters
        https://bugs.webkit.org/show_bug.cgi?id=53907

        Our new behavior matches Firefox, Chrome, and IE.

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

2011-02-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Antti Koivisto.

        WebKitTestRunner does not block remote resources or complain about them
        https://bugs.webkit.org/show_bug.cgi?id=42139
        <rdar://problem/8183942>

        * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
        WebCore.
        * WebCore.exp.in: Export a handful of KURL symbols.

2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
        https://bugs.webkit.org/show_bug.cgi?id=52867

        * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
        * bindings/v8/NPV8Object.cpp:
        (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
        v8::Handle<v8::Value>*.
        (_NPN_Invoke): Calls createValueListFromVariantArgs.
        (_NPN_InvokeDefault): createValueListFromVariantArgs.
        (_NPN_Construct): createValueListFromVariantArgs.
        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
        (WebCore::ScriptFunctionCall::construct): Ditto.
        (WebCore::ScriptCallback::call):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::createNewContext): Ditto.
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectInvokeImpl): Ditto
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
        (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
        * platform/Length.cpp:
        (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
        (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
        * platform/Length.h: Prototype changes.
        * platform/graphics/ANGLEWebKitBridge.cpp:
        (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::getDirtyRects): Ditto.
        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::glyphsToAdvances): Ditto.
        (WebCore::canRender): Ditto.
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::updateSubRect): Ditto.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
        * platform/graphics/wince/SharedBitmap.cpp:
        (WebCore::SharedBitmap::to16bit): Ditto.
        * platform/win/ContextMenuWin.cpp:
        (WebCore::ContextMenu::getContextMenuItems): Ditto.
        * platform/win/LoggingWin.cpp:
        (WebCore::initializeWithUserDefault): Ditto.
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::fetchInfo): Ditto.

2011-02-06  Kent Tamura  <tkent@chromium.org>

        Unreviewed.

        * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.

2011-02-03  Dominic Cooney  <dominicc@google.com>

        Reviewed by Dimitri Glazkov.

        Convert <keygen> option elements to a shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=51379

        Covered by existing tests e.g. fast/html/keygen.html,
        html5lib/runner.html, etc.

        * css/html.css:
        (form): Cleanup.
        (keygen, select): Border radii should match so focus ring looks good.
        (keygen::-webkit-keygen-select): No margin on the shadow element.
        (select): Hoisting border radius to keygen, select rule.
        * dom/SelectElement.cpp:
        (WebCore::toSelectElement): keygen is no longer a select element.
        * html/HTMLKeygenElement.cpp: Implements keygen shadow.
        (WebCore::KeygenSelectElement::create):
        (WebCore::KeygenSelectElement::shadowPseudoId):
        (WebCore::KeygenSelectElement::KeygenSelectElement):
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        (WebCore::HTMLKeygenElement::parseMappedAttribute):
        (WebCore::HTMLKeygenElement::appendFormData):
        (WebCore::HTMLKeygenElement::formControlType):
        (WebCore::HTMLKeygenElement::reset):
        (WebCore::HTMLKeygenElement::selectShadow):
        * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
        (WebCore::HTMLKeygenElement::canStartSelection):
        (WebCore::HTMLKeygenElement::isEnumeratable):
        (WebCore::HTMLKeygenElement::isResettable):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.

2011-02-06  Benjamin Poulain  <ikipou@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix coding style errors in ClipboardQt.h
        https://bugs.webkit.org/show_bug.cgi?id=43520

        Fix coding style: order of header and indentation.

        * platform/qt/ClipboardQt.h:
        (WebCore::ClipboardQt::create):
        (WebCore::ClipboardQt::clipboardData):
        (WebCore::ClipboardQt::invalidateWritableData):

2011-02-06  Antti Koivisto  <antti@apple.com>

        Reviewed by Maciej Stachowiak.

        Use bloom filter for descendant selector filtering
        https://bugs.webkit.org/show_bug.cgi?id=53880
        
        Bloom filter is faster than a hash set in this kind of use.
        
        Shark thinks this speeds up style matching by ~30% on sites
        with lots of descendant selectors.

        * ForwardingHeaders/wtf/BloomFilter.h: Added.
        * css/CSSStyleSelector.cpp:
        (WebCore::collectElementIdentifierHashes):
        (WebCore::CSSStyleSelector::pushParent):
        (WebCore::CSSStyleSelector::popParent):
        (WebCore::CSSStyleSelector::fastRejectSelector):
        (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
        * css/CSSStyleSelector.h:

2011-02-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Antti Koivisto.

        media/video-document-types.html sometimes crashes the WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=53884

        No new tests. Already covered by media/video-document-types.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
        when cancelling the load.

2011-02-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Use WCHAR instead of TCHAR
        https://bugs.webkit.org/show_bug.cgi?id=53863

        We always use the UNICODE versions of windows functions, so
        the usage of TCHAR makes no sense and mixing them is bad style.

        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFiles):
        * platform/graphics/win/QTMovie.cpp:
        * platform/graphics/win/QTMovieGWorld.cpp:
        (QTMovieGWorld::fullscreenWndProc):
        (QTMovieGWorld::enterFullscreen):
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
        * platform/graphics/win/SimpleFontDataWin.cpp:
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        * platform/win/BString.cpp:
        * platform/win/ClipboardWin.cpp:
        (WebCore::filesystemPathFromUrlOrTitle):
        (WebCore::createGlobalHDropContent):
        (WebCore::createGlobalImageFileDescriptor):
        * platform/win/ContextMenuWin.cpp:
        * platform/win/CursorWin.cpp:
        (WebCore::loadSharedCursor):
        * platform/win/FileChooserWin.cpp:
        (WebCore::FileChooser::basenameForWidth):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::popupClassName):
        (WebCore::PopupMenuWin::show):
        * platform/win/PopupMenuWin.h:

2011-02-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Replace FLT_MAX with std::numeric_limits
        https://bugs.webkit.org/show_bug.cgi?id=53861

        Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.

        * html/NumberInputType.cpp:
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseToDoubleForNumberType):
        * platform/brew/SystemTimeBrew.cpp:
        (WebCore::userIdleTime):
        * platform/efl/SystemTimeEfl.cpp:
        (WebCore::userIdleTime):
        * platform/efl/TemporaryLinkStubs.cpp:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setupAnimation):
        * platform/win/SystemTimeWin.cpp:
        (WebCore::userIdleTime):
        * platform/wx/SystemTimeWx.cpp:
        (WebCore::userIdleTime):

2011-02-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Add dependencies for Visual Studio projects
        https://bugs.webkit.org/show_bug.cgi?id=53773

        Add a JavaScriptCore dependecy to WebCore, so CMake can 
        generate the correct build order for the solution.

        * CMakeLists.txt:

2011-02-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Unify ENABLE_SVG sections
        https://bugs.webkit.org/show_bug.cgi?id=53778

        * CMakeLists.txt:

2011-02-06  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        Refactor Font::normalizeSpaces() to avoid an extra String copy.
        https://bugs.webkit.org/show_bug.cgi?id=53871

        Have normalizeSpaces() take UChar*,length arguments instead of a
        String, since all call sites were creating temporaries from these
        components anyway.

        Font::normalizeSpaces() now always makes 1 String copy,
        instead of 1 in the best case and 2 in the worst case.

        * platform/graphics/Font.cpp:
        (WebCore::Font::normalizeSpaces):
        * platform/graphics/Font.h:
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        (WebCore::Font::floatWidthForSimpleText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForSimpleText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::selectionRectForComplexText):
        * svg/SVGFont.cpp:
        (WebCore::SVGTextRunWalker::walk):

2011-02-06  Andreas Kling  <kling@webkit.org>

        Reviewed by Dirk Schulze.

        Fix potential buffer overrun in SVGTextRunWalker::walk()
        https://bugs.webkit.org/show_bug.cgi?id=53870

        A new String was created from a UChar* with a 'length' argument
        that could be greater than the number of UChars available.

        * svg/SVGFont.cpp:
        (WebCore::SVGTextRunWalker::walk):

2011-02-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove unused parameter related to XSSAuditor
        https://bugs.webkit.org/show_bug.cgi?id=53862

        * WebCore.exp.in:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeScript):
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * bindings/ScriptControllerBase.h:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInWorld):
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::executeScriptInWorld):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/v8/ScriptController.h:

2011-02-05  Adam Barth  <abarth@webkit.org>

        Fix Qt build.

        * WebCore.pro:

2011-02-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Delete XSSAuditor
        https://bugs.webkit.org/show_bug.cgi?id=53859

        The job of the XSSAuditor is now done by the XSSFilter.  In the future,
        we might rename XSSFilter to XSSAuditor.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * bindings/ScriptControllerBase.h:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::evaluateInWorld):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::evaluate):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * dom/Document.cpp:
        (WebCore::Document::implicitOpen):
        (WebCore::Document::processBaseElement):
        * dom/ScriptableDocumentParser.cpp:
        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
        * dom/ScriptableDocumentParser.h:
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestObject):
        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
        * page/XSSAuditor.cpp: Removed.
        * page/XSSAuditor.h: Removed.

2011-02-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Need a way to resize and scroll the page at the same time
        https://bugs.webkit.org/show_bug.cgi?id=53814
        <rdar://problem/8498008>

        Export a function needed by WebKit2.

        * WebCore.exp.in:

2011-02-05  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Use Document::encoding() instead of DocumentWriter::encoding()
        https://bugs.webkit.org/show_bug.cgi?id=53398

        This change makes the code more readable, when a subresource
        inherits the character encoding of the document.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::scriptCharset):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestPreload):
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::encodingFromAcceptCharset):

2011-02-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Introduce URLString to represent a canonicalized URL represented by a string
        https://bugs.webkit.org/show_bug.cgi?id=53847

        Instead of using String all over the codebase to represent a URL,
        instead we should have a type to represent a canonicalized URL in the
        form of a string.  This patch introduces that type.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/KURL.cpp:
        (WebCore::KURL::KURL):
        * platform/KURL.h:
        (WebCore::KURL::urlString):

2011-02-05  Robert Hogan  <robert@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Style widgets not rendering
        https://bugs.webkit.org/show_bug.cgi?id=53849

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too

2011-02-05  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Adam Barth.

        Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
        https://bugs.webkit.org/show_bug.cgi?id=53685

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.h:
        (WebCore::Document::contentSecurityPolicy):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        * page/ContentSecurityPolicy.h:

2011-02-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Safari should lowercase schemes in cannonicalized urls to match every other browser
        https://bugs.webkit.org/show_bug.cgi?id=53848

        We're clearly the odd man out here.  See results from every browser at:
        https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt

        * platform/KURL.cpp:
        (WebCore::KURL::parse):
         - Just lowercase the scheme when copying.

2011-02-05  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Hyatt.

        Optimize matching of descendant selectors
        https://bugs.webkit.org/show_bug.cgi?id=49876
        <rdar://problem/8772822>
        
        During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
        Use the filter to quickly reject descendant and child selectors when doing style matching.

        This speeds up style recalculations 3-6x on many major web sites.

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::RuleData):
        (WebCore::RuleData::descendantSelectorIdentifierHashes):
        (WebCore::collectElementIdentifiers):
        (WebCore::CSSStyleSelector::pushParent):
        (WebCore::CSSStyleSelector::popParent):
        (WebCore::CSSStyleSelector::fastRejectSelector):
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
        * dom/Element.cpp:
        (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
        (WebCore::StyleSelectorParentPusher::push):
        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
        (WebCore::Element::attach):
        (WebCore::Element::recalcStyle):

2011-02-05  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
        when it inherits one from ActiveDOMObject.
        https://bugs.webkit.org/show_bug.cgi?id=53815

        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::NotificationCenter):
        (WebCore::NotificationCenter::checkPermission):
        (WebCore::NotificationCenter::requestPermission):
        (WebCore::NotificationCenter::disconnectFrame):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2011-02-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Crash in WebCore::TextEncoding::decode below XSSFilter::init
        https://bugs.webkit.org/show_bug.cgi?id=53837

        Add missing null check.

        Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::init):

2011-02-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Crashes in ShadowBlur via WebKit2 FindController
        https://bugs.webkit.org/show_bug.cgi?id=53830
        
        Fix a crash cause by re-entering ShadowBlur, and add assertions to
        detect when it happens.
        
        The re-entrancy occurred when drawRectShadowWithTiling() filled
        the interior of the shadow with fillRect() on the context
        which still had the shadow state set. This would make another ShadowBlur
        on the stack and call into the code again, potentially blowing away
        the image buffer.
        
        Fix by turning off shadows in the destination context while we're
        drawing the tiled shadow. The non-tiled code path already did this.

        Not testable because CSS shadows clip out the inside of the rect
        being shadowed, and SVG uses fillPath, even for rects.

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ScratchBuffer::ScratchBuffer):
        (WebCore::ScratchBuffer::getScratchBuffer):
        (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
        (WebCore::ShadowBlur::ShadowBlur):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):

2011-02-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Don't use a fixed size for search field icons
        https://bugs.webkit.org/show_bug.cgi?id=50624

        Use the parent input content box to make sure the icon fits in the
        search field, scaling it down when needed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintGdkPixbuf):
        (WebCore::getIconSizeForPixelSize):
        (WebCore::adjustSearchFieldIconStyle):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
        (WebCore::centerRectVerticallyInParentInputElement):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::paintCapsLockIndicator):
        (WebCore::RenderThemeGtk::paintMediaButton):

2011-02-04  Hironori Bono  <hbono@chromium.org>

        Reviewed by Adam Barth.

        [chromium] JPEG corruption
        https://bugs.webkit.org/show_bug.cgi?id=53250

        Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
        profiles from CMYK to RGB twice and it causes color corruption. This
        change suppresses the color profiles for CMYK JPEGs same as gray-scale
        ones.

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

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

2011-02-04  Xiyuan Xia  <xiyuan@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Option text in select popup does not align with menulist button text
        https://bugs.webkit.org/show_bug.cgi?id=53632

        This makes clientPaddingLeft and  clientPaddingRight return
        the additional m_innerBlock's padding so that the popup item text
        aligns with the menulist button text.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::clientPaddingLeft):
        (WebCore::RenderMenuList::clientPaddingRight):

2011-02-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig and Beth Dakin.

        REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
        <rdar://problem/8962457>

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
        
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
        Make sure to invalidate both scrollbars if overlay scrollers are enabled.

2011-02-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        PluginDocuments don't create widgets for plugins on back/forward
        https://bugs.webkit.org/show_bug.cgi?id=53474

        Long ago, PluginDocument always caused the HTMLEmbedElement to create
        its widget synchronously during a post-layout task.  Recently, however,
        some changes to the HistroyController caused layout on back/forward to
        become slightly more complicated (and added an extra level of recursion
        to layout).  This extra level of recursion triggered the "I've recursed
        too many times" condition in the post-layout task queue, causing the
        FrameView to run the remainder of the tasks asynchronously.
        Unfortunately, that broke PluginDocument because it needs its the
        HTMLEmbedElement's updateWidget task to run synchronously.

        This patch adds a mechanism for "kicking off" the pending post-layout
        tasks synchronously (instead of waiting for the timer to fire).
        PluginDocument then uses that facility to ensure that the
        HTMLEmbedElement's updateWidget task happens.

        Test: plugins/plugin-document-back-forward.html

        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):
        * page/FrameView.cpp:
        (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
        * page/FrameView.h:

2011-02-04  Charlie Reis  <creis@chromium.org>

        Reviewed by Mihai Parparita.

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

        Avoids deleting the current HistoryItem while it is still in use.
        Ensures that provisional items are committed for same document navigations.
        Ensures that error pages are committed on back/forward navigations.
        Also removes unneeded sanity checks used for diagnosing the problem.

        * loader/HistoryController.cpp:
        * loader/HistoryController.h:

2011-02-04  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by David Hyatt.

        Code Changes.

        CSS 2.1 failure: content-*
        https://bugs.webkit.org/show_bug.cgi?id=52126

        Test: fast/css/counters/content-021.html

        * rendering/CounterNode.cpp:
        (showCounterTree):
        Made parameter const because it is supposed to be so.
        * rendering/RenderCounter.cpp:
        (WebCore::previousInPreOrder):
        (WebCore::previousSiblingOrParent):
        (WebCore::parentElement):
        (WebCore::areRenderersElementsSiblings):
        (WebCore::nextInPreOrder):
        Added these local helper functions to help navigate the DOM tree
        enriched with :before and :after pseudo elements.
        (WebCore::planCounter):
        Fixed bug that would create a repeat counter for second and
        subsequent renderers associated with the same DOM element.
        (WebCore::findPlaceForCounter):
        (WebCore::makeCounterNode):
        Changed to use the new tree navigation functions described above
        instead of the Renderer Tree navigation functions.
        (WebCore::RenderCounter::rendererSubtreeAttached):
        (WebCore::RenderCounter::rendererStyleChanged):
        Optimized to not bother about counters until the renderers are
        finally attached.
        (showRendererTree):
        (showNodeTree):
        Debug helper functions used to debug Counter bugs.

2011-02-04  Dan Bernstein  <mitz@apple.com>

        Typo fix.

        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::containsJavaScriptURL):

2011-02-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Make an infinite loop introduced in r77454 finite.

        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::containsJavaScriptURL):

2011-02-04  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Frame accurate seeking isn't always accurate
        https://bugs.webkit.org/show_bug.cgi?id=52697

        Test: media/video-frame-accurate-seek.html

        Make seeking slightly more accurate by rounding instead of truncating
        when converting from seconds-in-float to time/timeScale.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTTime):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
        * platform/graphics/win/QTMovie.cpp:
        (QTMovie::setCurrentTime):

2011-02-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Second IndexedDB events overhaul patch
        https://bugs.webkit.org/show_bug.cgi?id=53813

        If an IDBRequest has a IDBTransaction, it should propogate
        events through it. In order to do this, IDBRequest needs to
        hold a transaction frontend object rather than a backend one.

        Test: storage/indexeddb/request-event-propagation.html

        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::IDBCursor):
        * storage/IDBCursor.h:
        (WebCore::IDBCursor::create):
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setSetVersionTransaction):
        (WebCore::IDBDatabase::createObjectStore):
        (WebCore::IDBDatabase::deleteObjectStore):
        * storage/IDBDatabase.h:
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::IDBIndex):
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        (WebCore::IDBIndex::get):
        (WebCore::IDBIndex::getKey):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::create):
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::get):
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        (WebCore::IDBObjectStore::deleteFunction):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::deleteIndex):
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBRequest.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::objectStore):
        (WebCore::IDBTransaction::contextDestroyed):
        (WebCore::IDBTransaction::enqueueEvent):
        * storage/IDBTransaction.h:
        * storage/IDBTransaction.idl:

2011-02-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        First step towards event propogation within IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=53795

        This is the first step towards implementing
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
        within IndexedDB. I've created a method that knows how
        to capture and bubble (based on Node's dispatchGenericEvent).
        I've then changed IDBRequest to use it.

        The only functional change is that preventDefault now must
        be called in error events to prevent the transaction from
        being aborted. The tests reflect this change and there's one
        specific test to look at this behavior.

        Test: storage/indexeddb/error-causes-abort-by-default.html

        * storage/IDBAbortEvent.cpp:
        (WebCore::IDBAbortEvent::create):
        (WebCore::IDBAbortEvent::IDBAbortEvent):
        * storage/IDBAbortEvent.h:
        * storage/IDBCompleteEvent.cpp:
        (WebCore::IDBCompleteEvent::create):
        (WebCore::IDBCompleteEvent::IDBCompleteEvent):
        * storage/IDBCompleteEvent.h:
        * storage/IDBErrorEvent.cpp:
        (WebCore::IDBErrorEvent::IDBErrorEvent):
        * storage/IDBEvent.cpp:
        (WebCore::IDBEvent::IDBEvent):
        (WebCore::IDBEvent::dispatch):
        * storage/IDBEvent.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBRequest.h:
        * storage/IDBSuccessEvent.cpp:
        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        * storage/IDBTransaction.h:
        (WebCore::IDBTransaction::backend):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):

2011-02-04  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Dmitry Titov.

        Clone WebClipboard to be frame-specific.
        https://bugs.webkit.org/show_bug.cgi?id=53727

        For drop operations, Chrome currently snapshots the data and copies it
        into the renderer process. As we add more supported drag data types, the
        copy will become increasingly expensive. Instead, we'd like to snapshot
        data in the browser to reduce the amount of data copied and to support
        Blob in DataTransferItem. In order to allow this, we associated
        WebClipboard with a frame so it can correctly route its IPCs to the
        corresponding Chromium host.

        No new tests because no new functionality.

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::createReadable):
        * platform/chromium/ChromiumDataObject.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::create):
        * platform/chromium/PlatformBridge.h:
        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::ReadableDataObject::create):
        (WebCore::ReadableDataObject::ReadableDataObject):
        (WebCore::ReadableDataObject::getData):
        (WebCore::ReadableDataObject::urlTitle):
        (WebCore::ReadableDataObject::htmlBaseUrl):
        (WebCore::ReadableDataObject::filenames):
        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
        * platform/chromium/ReadableDataObject.h:

2011-02-04  Jeremy Orlow  <jorlow@chromium.org>

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

        * storage/IDBAbortEvent.cpp:
        (WebCore::IDBAbortEvent::create):
        (WebCore::IDBAbortEvent::IDBAbortEvent):
        * storage/IDBAbortEvent.h:
        * storage/IDBCompleteEvent.cpp:
        (WebCore::IDBCompleteEvent::create):
        (WebCore::IDBCompleteEvent::IDBCompleteEvent):
        * storage/IDBCompleteEvent.h:
        * storage/IDBErrorEvent.cpp:
        (WebCore::IDBErrorEvent::IDBErrorEvent):
        * storage/IDBEvent.cpp:
        (WebCore::IDBEvent::IDBEvent):
        * storage/IDBEvent.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBRequest.h:
        * storage/IDBSuccessEvent.cpp:
        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        * storage/IDBTransaction.h:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):

2011-02-04  Martin Galpin  <martin@66laps.com>

        Reviewed by David Levin.

        CORS origin header not set on GET when a preflight request is required.
        https://bugs.webkit.org/show_bug.cgi?id=50773
        
        Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::preflightSuccess): 
        Explicitly set the request origin after a preflight request succeeds.

2011-02-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        First step towards event propogation within IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=53795

        This is the first step towards implementing
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
        within IndexedDB. I've created a method that knows how
        to capture and bubble (based on Node's dispatchGenericEvent).
        I've then changed IDBRequest to use it.

        The only functional change is that preventDefault now must
        be called in error events to prevent the transaction from
        being aborted. The tests reflect this change and there's one
        specific test to look at this behavior.

        Test: storage/indexeddb/error-causes-abort-by-default.html

        * storage/IDBAbortEvent.cpp:
        (WebCore::IDBAbortEvent::create):
        (WebCore::IDBAbortEvent::IDBAbortEvent):
        * storage/IDBAbortEvent.h:
        * storage/IDBCompleteEvent.cpp:
        (WebCore::IDBCompleteEvent::create):
        (WebCore::IDBCompleteEvent::IDBCompleteEvent):
        * storage/IDBCompleteEvent.h:
        * storage/IDBErrorEvent.cpp:
        (WebCore::IDBErrorEvent::IDBErrorEvent):
        * storage/IDBEvent.cpp:
        (WebCore::IDBEvent::IDBEvent):
        (WebCore::IDBEvent::dispatch):
        * storage/IDBEvent.h:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBRequest.h:
        * storage/IDBSuccessEvent.cpp:
        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        * storage/IDBTransaction.h:
        (WebCore::IDBTransaction::backend):
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::taskTimerFired):

2011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Csaba Osztrogonác.

        [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53674

        * css/mediaControlsQt.css:

2011-02-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler and Dave Hyatt.

        <rdar://problem/8902704> Make ruby text size 50% by default
        https://bugs.webkit.org/show_bug.cgi?id=53723

        * css/html.css:
        (ruby > rt): Changed the font-size from 60% to 50%.

2011-02-04  Antti Koivisto  <antti@apple.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=53610
        Regression: adjacent sibling selector not working as expected
        <rdar://problem/8960033>
        
        https://bugs.webkit.org/show_bug.cgi?id=53574
        REGRESSION (r76012): :last-child:after not working as expected
        <rdar://problem/8948643>
        
        Test for additional conditions in parent style that prevent sharing.

        Tests: fast/selectors/style-sharing-adjacent-selector.html
               fast/selectors/style-sharing-last-child.html

        * css/CSSStyleSelector.cpp:
        (WebCore::parentStylePreventsSharing):
        (WebCore::CSSStyleSelector::locateSharedStyle):

2011-02-04  Mark Mentovai  <mark@chromium.org>

        Reviewed by Dimitri Glazkov.

        Chromium GYP build fix.

        When various settings were moved to webcore_prerequisites in r66364,
        things that should have been direct_dependent_settings were not marked
        as such. GYP 'defines', for example, make no sense on a 'none'-type
        target such as webcore_prerequisites. It appears that it was intended
        for these settings to be pushed to direct dependents, which would make
        direct_dependent_settings correct.

        Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
        http://crbug.com/71537, which at best causes Mac console log spew, and
        at worst may result in Chromium's copy of WebCore using system
        definitions of certain Objective-C classes at runtime, or vice-versa.

        The build now includes a postbuild step to prevent
        http://crbug.com/71537 from regressing again. The build will fail upon
        regression.

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

        * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
          direct_dependent_settings as needed, add the check_objc_rename
          postbuild step.
        * WebCore.gyp/mac/check_objc_rename.sh: Added.

2011-02-04  Robert Hogan  <robert@webkit.org>

        Reviewed by Darin Fisher.

        Move chromium iframe shim code to cross-platform file
        https://bugs.webkit.org/show_bug.cgi?id=52594

        Move Chromium code for identifying and cutting out
        iframe shims from plugins to cross-platform utility file
        IFrameShimSupport.cpp.
        Amend PluginViewQt to use this code to handle shims correctly.

        * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
        * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
        * plugins/IFrameShimSupport.cpp: Added.
        (WebCore::getObjectStack):
        (WebCore::iframeIsAbovePlugin):
        (WebCore::getPluginOcclusions):
        * plugins/IFframeShimSupport.h: Added.
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2011-02-04  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Implement "<option> should implement the dir attribute" for chromium port after r76983.
        https://bugs.webkit.org/show_bug.cgi?id=50969

        Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
        added in r76983.

        * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
        <select> drop-down setting.
        (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
        items in drop-down and pass-in bidi override flag when creating text run.
        * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
        PopupContainerSettings.

2011-02-04  Jeremy Orlow  <jorlow@chromium.org>

        Build fix from merge mistake.

        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::ensureEventTargetData):

2011-02-04  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Darin Adler.

        Remove unneeded function declarations in comments in EditorClient.h
        https://bugs.webkit.org/show_bug.cgi?id=53745

        Removing unused commented out function declarations. No tests since this is just cleanup.

        * page/EditorClient.h:

2011-02-03  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Refactor IDBRequest and IDBTransaction a bit
        https://bugs.webkit.org/show_bug.cgi?id=53565

        There were a lot of subtle issues with the way IDBTransaction
        and IDBRequest used to be written. This cleans a lot of them up
        and largely simplifies the logic. Using EventQueue rather than
        timers is one example of the simplification.

        * bindings/scripts/CodeGeneratorV8.pm:
        * dom/EventQueue.cpp:
        (WebCore::EventQueue::enqueueEvent):
        (WebCore::EventQueue::dispatchEvent):
        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::continueFunction):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::create):
        (WebCore::IDBRequest::IDBRequest):
        (WebCore::IDBRequest::resetReadyState):
        (WebCore::IDBRequest::onError):
        (WebCore::IDBRequest::onSuccess):
        (WebCore::IDBRequest::dispatchEvent):
        (WebCore::IDBRequest::enqueueEvent):
        (WebCore::IDBRequest::eventTargetData):
        (WebCore::IDBRequest::ensureEventTargetData):
        * storage/IDBRequest.h:
        (WebCore::IDBRequest::dispatchEvent):
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::create):
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::objectStore):
        (WebCore::IDBTransaction::abort):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        (WebCore::IDBTransaction::onTimeout):
        (WebCore::IDBTransaction::canSuspend):
        (WebCore::IDBTransaction::stop):
        (WebCore::IDBTransaction::enqueueEvent):
        (WebCore::IDBTransaction::eventTargetData):
        (WebCore::IDBTransaction::ensureEventTargetData):
        * storage/IDBTransaction.h:

2011-02-01  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Remove the timeout event from IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=53521

        Remove timeout and ontimeout from IDBTransaction per the spec.

        * WebCore.gypi:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::setVersion):
        (WebCore::IDBDatabaseBackendImpl::transaction):
        * storage/IDBDatabaseBackendImpl.h:
        * storage/IDBDatabaseBackendInterface.h:
        * storage/IDBTimeoutEvent.cpp: Removed.
        * storage/IDBTimeoutEvent.h: Removed.
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::IDBTransaction):
        (WebCore::IDBTransaction::onAbort):
        (WebCore::IDBTransaction::onComplete):
        * storage/IDBTransaction.h:
        * storage/IDBTransaction.idl:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::create):
        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionCallbacks.h:

2011-02-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: Can't set accessibility overridden attributes on web objects
        https://bugs.webkit.org/show_bug.cgi?id=53725

        accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
        the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
        Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
        attribute only when an AX client asks for it through the AX frameworks.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):

2011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
        https://bugs.webkit.org/show_bug.cgi?id=53691

        Test: fast/repaint/slider-thumb-drag-release.html

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
            that the thumb is repainted.

2011-02-04  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Add "show more" data grid node and waiting message UI components.
        https://bugs.webkit.org/show_bug.cgi?id=53763

        - "show more" data grid node is used for on-demand population of
        data grid contents (similar to DOM tree capability for limiting
        displayed nodes count);

        - waiting message is used for informing user about long lasting
        operations (with a possibility to cancel them).

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/PleaseWaitMessage.js: Added.
        (WebInspector.PleaseWaitMessage):
        * inspector/front-end/ShowMoreDataGridNode.js: Added.
        (WebInspector.ShowMoreDataGridNode):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.data-grid button):
        (.please-wait-msg):
        * inspector/front-end/inspector.html:

2011-02-04  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
        <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused

        Tests:
        fast/forms/textarea-placeholder-visibility-1.html
        fast/forms/textarea-placeholder-visibility-2.html
        fast/forms/input-placeholder-visibility-1.html
        fast/forms/input-placeholder-visibility-2.html
        fast/forms/input-placeholder-visibility-3.html

        * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
        Add a check for shouldShowPlaceholderWhenFocused.
        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
        Whenever the value is updated, we should also update placeholder visibility.
        * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
        Make the default the same as the existing behavior.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
        Show placeholder when appropriate. 

2011-02-04  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: evaluate on hover does not work on a breakpoint.
        https://bugs.webkit.org/show_bug.cgi?id=53768

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._mouseHover):

2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r77625 and r77626.
        http://trac.webkit.org/changeset/77625
        http://trac.webkit.org/changeset/77626
        https://bugs.webkit.org/show_bug.cgi?id=53765

        It broke Windows builds (Requested by Ossy_ on #webkit).

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * ForwardingHeaders/pcre/pcre.h: Added.
        * ForwardingHeaders/yarr/Yarr.h: Removed.
        * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
        * ForwardingHeaders/yarr/YarrPattern.h: Removed.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::Private::regexp):
        (WebCore::RegularExpression::Private::compile):
        (WebCore::RegularExpression::Private::Private):
        (WebCore::RegularExpression::Private::create):
        (WebCore::RegularExpression::Private::~Private):
        (WebCore::RegularExpression::match):

2011-02-04  Peter Varga  <pvarga@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.

        Replace PCRE with Yarr in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=53496

        Speculative windows build fix.

        No new tests needed.

        * platform/text/RegularExpression.cpp:

2011-02-04  Peter Varga  <pvarga@webkit.org>


        Reviewed by Gavin Barraclough.

        Replace PCRE with Yarr in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=53496

        No new tests needed.

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * ForwardingHeaders/pcre/pcre.h: Removed.
        * ForwardingHeaders/yarr/Yarr.h: Added.
        * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
        * ForwardingHeaders/yarr/YarrPattern.h: Added.
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::Private::create):
        (WebCore::RegularExpression::Private::Private):
        (WebCore::RegularExpression::Private::compile):
        (WebCore::RegularExpression::match):

2011-02-04  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Network panel filtering is broken.
        https://bugs.webkit.org/show_bug.cgi?id=53764

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._sortItems):
        (WebInspector.NetworkPanel.prototype._sortByTimeline):
        (WebInspector.NetworkPanel.prototype._filter):
        (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
        (WebInspector.NetworkDataGridNode.prototype.get selectable):
        (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
        (WebInspector.NetworkTotalGridNode.prototype.get selectable):

2011-02-04  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: support overriding user agent strings
        https://bugs.webkit.org/show_bug.cgi?id=51485

        Test: http/tests/inspector/extensions-useragent.html

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::setUserAgentOverride):
        (WebCore::InspectorController::userAgentOverride):
        * inspector/InspectorController.h:
        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onReload):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::userAgent):
        (WebCore::FrameLoader::applyUserAgent):

2011-02-04  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: scripts panel displays wrong file name after reload.
        https://bugs.webkit.org/show_bug.cgi?id=53761

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):

2011-02-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove settings related methods from InspectorClient
        https://bugs.webkit.org/show_bug.cgi?id=53686

        * WebCore.exp.in:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorClient.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
        * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
        provide platform-specific settings accessor.
        (WebCore::InspectorFrontendClientLocal::Settings::Settings):
        (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
        (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
        (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
        * loader/EmptyClients.h:

2011-02-03  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] frame several more JS code invocations into v8::TryCatch
        https://bugs.webkit.org/show_bug.cgi?id=53594

        This patch is preemptive and adjusts v8 bindings code to forthcoming small change
        in v8::ThrowException---currently sometimes exceptions thrown by this method
        do not reach surrounding v8::TryCatch handler (see
        http://code.google.com/p/v8/issues/detail?id=1072 and
        http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
        is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
        one rebaseline as of now.)

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
        * bindings/v8/V8WindowErrorHandler.cpp:
        (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto

2011-02-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
        https://bugs.webkit.org/show_bug.cgi?id=52897
        <rdar://problem/8898294>

        * WebCore.exp.in: Add export now needed by WebKit2

2011-02-03  Victoria Kirst  <vrk@google.com>

        Reviewed by James Robinson.

        Replaces float literals with uniform values in shader code
        so that buggy drivers unable to parse float values in different
        locales will not produce a pink video.

        [chromium] Fix pink video bug with gpu-acceleration enabled
        https://bugs.webkit.org/show_bug.cgi?id=53568

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
        (WebCore::VideoLayerChromium::drawYUV):
        * platform/graphics/chromium/VideoLayerChromium.h:
        (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):

2011-02-03  James Kozianski  <koz@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add navigator.registerProtocolHandler behind a flag.
        https://bugs.webkit.org/show_bug.cgi?id=52609

        This method is described in the HTML5 specification here,
        http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler

        This change is largely cribbed from B. Green's 29651 patches. It is
        behind a flag so as not to break JS feature detection.

        New layout test fast/dom/registerProtocolHandler.html.

        * Configurations/FeatureDefines.xcconfig:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::registerProtocolHandler):
        * page/Chrome.cpp:
        (WebCore::Chrome::registerProtocolHandler):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Navigator.cpp:
        (WebCore::verifyCustomHandlerURL):
        (WebCore::verifyProtocolHandlerScheme):
        (WebCore::Navigator::registerProtocolHandler):
        * page/Navigator.h:
        * page/Navigator.idl:

2011-02-03  Brian Ryner  <bryner@chromium.org>

        Reviewed by Darin Fisher.

        Add a field to the ResourceResponse for tracking the socket address
        of the host that the resource was fetched from.  Patch was originally
        by Paul Marks.
        https://bugs.webkit.org/show_bug.cgi?id=53699

        * platform/network/chromium/ResourceResponse.cpp:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::socketAddress):
        (WebCore::ResourceResponse::setSocketAddress):

2011-02-03  Adam Langley  <agl@chromium.org>

        Reviewed by Adam Barth.

        Plumb mixed script URL to FrameLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=52384

        Regressions covered by http/tests/security/mixedContent/*

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        * loader/FrameLoaderClient.h:

2011-02-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        REGRESSION: Artifacts on box-shadow corners in some cases
        https://bugs.webkit.org/show_bug.cgi?id=53731

        Fix overdrawing artifacts in ShadowBlur's tiling code path,
        which show up in shadows using a color with alpha.
        
        Test: fast/box-shadow/shadow-tiling-artifact.html

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
        that the inner rect that gets filled does not overlap with any
        of the eight tiled areas by having the corner and side dimensions
        be the same for contiguous areas.

2011-02-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
        percent signs in large posted data
        https://bugs.webkit.org/show_bug.cgi?id=53405

        If the input string contains many non-% characters followed by a %
        character that is not a valid URL escape sequence, then the old
        algorithm would only advance the initial search by one character
        (instead of jumping to just after the % character).  That would cause
        the algorithm to take N^2 time (in the number of characters before the
        first % character).  This patch just advances the search past the first
        % character so we can start looking for next % character sooner.

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

2011-02-03  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: click on a breakpoint highlights wrong line in source frame.
        https://bugs.webkit.org/show_bug.cgi?id=53692

        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):

2011-02-03  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Bail out if to string conversion returned empty handle
        https://bugs.webkit.org/show_bug.cgi?id=53687

        This a temporary measure: actually one probably should never get empty handle
        if there was no exception.  The root cause is under investigation.
        The bailout though allows Chromium not to crash---attempt to convert an empty
        v8 hande into WebCore string crashes with invalid memory access.

        See http://code.google.com/p/chromium/issues/detail?id=71544

        There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
        * bindings/v8/V8Binding.h:
        (WebCore::V8ParameterBase::prepareBase): Ditto

2011-02-03  Adam Barth  <abarth@webkit.org>

        Attempt to fix Chromium build.

        * html/parser/XSSFilter.cpp:

2011-02-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rolling out r77562.
        http://trac.webkit.org/changeset/77562
        https://bugs.webkit.org/show_bug.cgi?id=53630

        broke chromium mac build

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/mac/check_objc_rename.sh: Removed.

2011-02-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSS Auditor severely affects loading performance after submitting a large form
        https://bugs.webkit.org/show_bug.cgi?id=49845

        Switch over from the XSSAuditor to the XSSFilter, improving performance
        on this example.

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterToken):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::isEnabled):

2011-02-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rolling out r77567.
        http://trac.webkit.org/changeset/77567
        https://bugs.webkit.org/show_bug.cgi?id=53468

        broke chromium linux svg, canvas tests, possibly win also?

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

2011-02-02  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        Refactoring: <progress> should not use ShadowElement
        https://bugs.webkit.org/show_bug.cgi?id=53583

        - Introduced RenderIndicatorPart and RenderProgressBarValuePart
          to be responsible for bar-part layout,
          which adopted layout logic from ShadowBlockElement.
        - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
        - Remove dependency from RenderProgress to HTMLProgressElement and
          ShadowBlockElement.
        - The shadow tree is no longer removed on detach(). It becomes persistent.
          This is now possible because the ShadowBlockElement dependency is gone.
        - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
          That didn't make sense.

        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
        * html/HTMLProgressElement.h:
        * html/shadow/ProgressBarValueElement.h: Added.
        (WebCore::ProgressBarValueElement::ProgressBarValueElement):
        (WebCore::ProgressBarValueElement::shadowPseudoId):
        (WebCore::ProgressBarValueElement::createRenderer):
        (WebCore::ProgressBarValueElement::create):
        * rendering/RenderIndicator.cpp:
        (WebCore::RenderIndicatorPart::RenderIndicatorPart):
        (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
        (WebCore::RenderIndicatorPart::layout):
        (WebCore::RenderIndicatorPart::styleDidChange):
        * rendering/RenderIndicator.h: Added RenderIndicatorPart class
        (WebCore::RenderIndicatorPart::originalVisibility):
        (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
        (WebCore::RenderIndicatorPart::canHaveChildren):
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgressBarValuePart::preferredFrameRect):
        (WebCore::RenderProgressBarValuePart::shouldBeHidden):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::layoutParts):
        (WebCore::RenderProgress::shouldHaveParts):
        * rendering/RenderProgress.h:
        (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):

2011-02-03  Jia Pu  <jpu@apple.com>

        Reversion should not be marked as misspelled.
        https://bugs.webkit.org/show_bug.cgi?id=53255

        This patch includes fix for reported bug, and also some housekeeping changes.

        To implement desired behavior, we need:
        1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
           that shouldn't be spellchecked and text shouldn't be autocorrected.
        2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
           Otherwise the spell checking code in that function may interfere with autocorrection. This
           is achieved by explicitly applying pending correction when user types space, line break or
           paragraph break.

        Housekeeping code changes include:
        1. Change manual-tests that were broken by relocated WebCore directory.
        2. Use TextIterator in various DocumentMarkerController functions instead of using
           Node::traverseNextNode() directly.
        3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
           DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
        4. Fixes of minor bugs that were exposed previously.

        * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().

        * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.

        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
           consistent with addMarker() function. Allow passing in multiple marker types in one call.
           Added a boolean argument to specify the behavior when removing markers that partially
           overlap the specified range.
        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
           multiple marker types in one call.
        (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
           consistent with addMarker() function. Allow passing in multiple marker types in one call.

        * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
           and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
           removing markers that partially overlap the specified range.

        * editing/Editor.cpp:
        (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
        (WebCore::markerTypesForReplacement): Ditto.
        (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
           setSelection() to make sure there is no pending correction when entering
           markAllMisspellingsAndBadGrammarInRanges().
        (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
           is a top level command to improve efficiency.
        (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
        (WebCore::Editor::insertLineBreak): Ditto.
        (WebCore::Editor::insertParagraphSeparator): Ditto.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
           text carries SpellCheckingExemption marker.
        (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
           from spellchecker is an empty string.
        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
           Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
           efficiency and readability.
        (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
           applying correction, since it's unnecessary. Also, store pre-correction string together with
           the marker for reversion panel to use.
        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
        (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
           where we have access to EditCommand object.

        * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().

        * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
           were broken by relocated WebCore directory.

        * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.

        * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.

        * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.

        * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.

        * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.

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

        * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.

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

        * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.

        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
           were broken by relocated WebCore directory.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.

2011-02-03  Abhishek Arya  <inferno@chromium.org>

        Unreviewed, qt build fix.

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

2011-02-03  Brian Salomon  <bsalomon@google.com>

        Reviewed by James Robinson.

        Handle non-raster backed images in getUnmultipliedImageData()
        https://bugs.webkit.org/show_bug.cgi?id=53468

        No new tests. Existing canvas tests sufficient
        LayoutTests/canvas/philip/...

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):

2011-02-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by James Robinson.

        Enforce more limits on root inline boxes height calculations.
        https://bugs.webkit.org/show_bug.cgi?id=53729

        Test: fast/overflow/overflow-height-float-not-removed-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
        become negative when logicalTop is INT_MAX.
        (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
        is INT_MAX, we should dirty everything. So, we bail out to make
        afterLowest equal to the lastRootBox() or lowestDirstLine.

2011-02-03  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth and Oliver Hunt.

        Worker.importScript() should clean errors for cross origin imports.
        https://bugs.webkit.org/show_bug.cgi?id=52871

        Test: http/tests/workers/worker-importScriptsOnError.html

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
        to determine when to create a clean exception.
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
        if the error needs to be cleaned up.
        (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
        sanitizeScriptError for use by other places.
        * dom/ScriptExecutionContext.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts): Use the reponse url when
        telling the evaluate where the script came fro.
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::responseURL): Expose the url that
        the script was loaded from (which may be different from url() due
        to redirects).
        (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
        * workers/WorkerScriptLoader.h:

2011-02-03  Mark Mentovai  <mark@chromium.org>

        Reviewed by Dimitri Glazkov.

        Chromium GYP build fix.

        When various settings were moved to webcore_prerequisites in r66364,
        things that should have been direct_dependent_settings were not marked
        as such. GYP 'defines', for example, make no sense on a 'none'-type
        target such as webcore_prerequisites. It appears that it was intended
        for these settings to be pushed to direct dependents, which would make
        direct_dependent_settings correct.

        Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
        http://crbug.com/71537, which at best causes Mac console log spew, and
        at worst may result in Chromium's copy of WebCore using system
        definitions of certain Objective-C classes at runtime, or vice-versa.

        The build now includes a postbuild step to prevent
        http://crbug.com/71537 from regressing again. The build will fail upon
        regression.

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

        * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
          direct_dependent_settings as needed, add the check_objc_rename
          postbuild step.
        * WebCore.gyp/mac/check_objc_rename.sh: Added.

2011-02-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make XSSFilter go fast by adding a SuffixTree
        https://bugs.webkit.org/show_bug.cgi?id=53665

        The SuffixTree lets us quickly reject snippets if the POST data is
        large (because we can avoid a linear scan over the POST data).

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::init):
        (WebCore::XSSFilter::isContainedInRequest):
        * html/parser/XSSFilter.h:

2011-02-03  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Alexey Proskuryakov.

        REGRESSION (r77355): Page cache layout tests crash
        https://bugs.webkit.org/show_bug.cgi?id=53648

        Test: fast/events/pagehide-timeout.html
        
        Suspend active DOM objects after all pagehide event handlers have run,
        otherwise it's possible for them to create more objects that weren't
        getting suspended.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):

2011-02-03  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        SerializedScriptValue should not require v8 to create undefined and null values
        https://bugs.webkit.org/show_bug.cgi?id=53730

        Instead of creating a v8 type and passing that into the constructor, just use
        the writer class directly. While I was at it, I cleaned up the code a bit too
        by getting rid of the WireData/StringValue enum as I found that personally
        confusing.

        This is necessary because these methods are called by IndexedDB in the browser
        process where v8 is not spun up.

        No functionality changed and not possible to test.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::nullValue):
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:

2011-02-03  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for <rdar://problem/8944544> Ability to animate track
        for WKPainter scrollers

        Two new WebKitSystemInterface functions.
        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

        Use Scrollbar::convertFromContainingView() to return the right point.
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        
        ScrollKnobAnimation is now ScrollbarPartAnimation. It can
        now be used to animate the knob or the track.
        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPartAnimation setCurrentProgress:]):
        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):

        Scrollbars need invalodating after the overlay state changes. 
        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):

2011-02-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Scroll thumb jumps to top when resizing horizontally.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars): Add call to update
        the scrollbar's offset in the case where we may have created
        a new scrollbar but have not changed the current position.

2011-02-03  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dirk Schulze.

        startAnimations should use a local, RefCounted Vector.
        https://bugs.webkit.org/show_bug.cgi?id=53458

        Test: svg/custom/use-animation-in-fill.html

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::startAnimations):

2011-02-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSSFilter shouldn't bother to analyze pages without "injection"
        characters in the request
        https://bugs.webkit.org/show_bug.cgi?id=53664

        If the request lacks these "injection" characters, then it's unlikely
        that there's a reflective XSS attack happening.  This hueristic lets us
        avoid analyzing the vast majority of responses for XSS.  Of course, the
        hueristic isn't perfect.  Because of this huerstic, we miss out on
        injections into unquoted attributes.  However, it's a trade-off that's
        worked well in the XSSAuditor.

        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::isRequiredForInjection):
        (WebCore::XSSFilter::XSSFilter):
        (WebCore::XSSFilter::init):
        (WebCore::XSSFilter::filterToken):
        (WebCore::XSSFilter::isContainedInRequest):
        * html/parser/XSSFilter.h:

2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Fixing a compositor crash occurring on layers
        without an associated RenderSurface.
        https://bugs.webkit.org/show_bug.cgi?id=53679
        Regression was introduced by in r77425 

        Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
        anymore.

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

2011-02-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
        https://bugs.webkit.org/show_bug.cgi?id=53709

        Covered by rendering of fast/text/emphasis-vertical.html

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
        has.

2011-02-02  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Ryosuke Niwa.

        Moving cursor down in table cycles at the end of a row
        https://bugs.webkit.org/show_bug.cgi?id=50012

        Avoids a caret cycling issue with certain content (e.g. tables) found at the very
        end of a document due to a bug in nextLeafWithSameEditability.

        Test: editing/selection/move-by-line-cycles-in-table.html

        * editing/visible_units.cpp:
        (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
        original leaf node.

2011-02-03  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove dead code related to changes panel.
        https://bugs.webkit.org/show_bug.cgi?id=53688

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ChangesView.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (#error-warning-count):
        (#error-warning-count:hover):
        (#error-count + #warning-count):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2011-02-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add notification of the end of a rubber band.
        <rdar://problem/8940648>

        * WebCore.exp.in:
        Add additional exprots.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
        * page/FrameView.cpp:
        (WebCore::FrameView::didCompleteRubberBand):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::didCompleteRubberBand):
        * platform/ScrollView.h:
        Add hook.

        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::inLiveResize):
        (WebCore::ScrollableArea::maximumScrollPosition):
        (WebCore::ScrollableArea::visibleWidth):
        (WebCore::ScrollableArea::overhangAmount):
        (WebCore::ScrollableArea::didCompleteRubberBand):
        Reorganize and de-virtualize live resize notifications.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        Call the new hook when the rubberband ends.

2011-02-02  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] complex joining characters positioned in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=53637

        Provide the correct font metrics to Harfbuzz related to the font design space.
        There are used in some fonts for GPOS positioning.

        Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::setupFontForScriptRun):
        (WebCore::ComplexTextController::allocHarfbuzzFont):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::emSizeInFontUnits):
        (WebCore::FontPlatformData::operator=):
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        (WebCore::FontPlatformData::FontPlatformData):

2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
        https://bugs.webkit.org/show_bug.cgi?id=53634

        Test: fast/dom/HTMLInputElement/input-slider-update.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
        * html/InputType.cpp:
        (WebCore::InputType::valueChanged): Added empty implementation.
        * html/InputType.h: Added def.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
            bit on the thumb.
        * html/RangeInputType.h: Added def.

2011-02-02  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: do not share source frames between resources panel and scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=53584

        Currently, we show error messages only for resources. This change will allow showing error
        messages in source frame even when resource is not available (eval scripts, inlined scripts).

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.recreateResourceView):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
        (WebInspector.ScriptsPanel.prototype.reset):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):

2011-02-03  Simon Fraser  <simon.fraser@apple.com>

        Fix 32-bit builds.

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::blurLayerImage):

2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
        https://bugs.webkit.org/show_bug.cgi?id=53592

        In JSC there is no limit, thus 'undefined' value is returned.
        For V8, the limit reported by the VM is returned.

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSMemoryInfoCustom.cpp: Added.
        * bindings/js/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::getHeapSize):
        * bindings/js/ScriptGCEvent.h:
        * bindings/v8/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::getHeapSize):
        * bindings/v8/ScriptGCEvent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        * page/MemoryInfo.cpp:
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h:
        (WebCore::MemoryInfo::jsHeapSizeLimit):
        * page/MemoryInfo.idl:

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

        Reviewed by Martin Robinson.

        [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53125

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.

2011-02-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        ShadowBlur radius for CSS shadows is slightly too big
        https://bugs.webkit.org/show_bug.cgi?id=53660
        
        If we follow SVG gaussian blur for CSS shadows, we can end up rendering
        shadows that extend further than the CSS "blur radius", which results
        in the shadows being truncated.
        
        Fix with a small fudge factor to reduce the kernel diameter slightly
        for CSS shadows.
        
        Also more closely follow the algorithm described in the SVG spec
        for computing the kernel size for different diameters, and clean up
        some variable naming relating to the shadow bounds.

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::blurLayerImage):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):

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

        Reviewed by Pavel Feldman.

        Web Inspector: introduce new api for managing JavaScript breakpoints.
        https://bugs.webkit.org/show_bug.cgi?id=53235

        Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
        removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
        Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.

        SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
        JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        (WebCore::InspectorAgent::populateScriptObjects):
        (WebCore::InspectorAgent::restoreDebugger):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enableDebugger):
        * inspector/InspectorAgent.h:
        * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
        (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
        (WebCore::InspectorDebuggerAgent::continueToLocation):
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        (WebCore::InspectorDebuggerAgent::getScriptSource):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        (WebCore::InspectorDebuggerAgent::didPause):
        * inspector/InspectorDebuggerAgent.h:
        (WebCore::InspectorDebuggerAgent::Script::Script):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorValue::asNumber):
        (WebCore::InspectorBasicValue::asNumber):
        (WebCore::InspectorObject::remove):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::getNumber):
        (WebCore::InspectorObject::find):
        * inspector/ScriptBreakpoint.h:
        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.addLocation):
        * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._projectChanged):
        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.sourceLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
        * inspector/front-end/inspector.js:

2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        small text which is scaled to be large renders pixelated
        https://bugs.webkit.org/show_bug.cgi?id=12448

        SVG <text> with font-size smaller or equal to 1 does not paint correctly
        https://bugs.webkit.org/show_bug.cgi?id=14242

        misplaced text in SVG
        https://bugs.webkit.org/show_bug.cgi?id=17053

        Don't render very small (but zoomed) text inside SVG
        https://bugs.webkit.org/show_bug.cgi?id=19393

        Tiny fonts scaled up end up too large in Safari
        https://bugs.webkit.org/show_bug.cgi?id=20192

        Stretched SVG Text has awful glyph spacing 
        https://bugs.webkit.org/show_bug.cgi?id=21774

        REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=49846

        [Gtk] Text height in zoomed SVG is 1px too high
        https://bugs.webkit.org/show_bug.cgi?id=50313

        SVG text smaller than 0.5px not displayed properly
        https://bugs.webkit.org/show_bug.cgi?id=50528

        When rendering text, we're selecting a font with a size, as specified in the markup.
        This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
        element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
        problem becomes apparent.

        Consider following two snippets, which should render exactly the same:
        <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
        <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>

        When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
        which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
        Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)

        To fix this in a cross-platform fashion, we now always compute the final font size on screen,
        remove any scaling from the context, draw the text using the scaled font size, then reapply
        the context scale. This makes the example snippets above render exactly the same and fixes
        numerous of bugs, present since years. As we're now heavily using floating-point font sizes
        internally, depending on the scale of the document, it's very important to use the new
        floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.

        Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
                              svg/hixie/text/003.html (no more pixelation)
                              svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
                              svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
                              svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)

        Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
               svg/text/font-size-below-point-five.svg (reduction from bug 50528)
               svg/text/scaled-font.svg (reduction from bug 12448)
               svg/text/small-fonts-2.svg (reduction from bug 14242)
               svg/text/small-fonts-3.svg (reduction from bug 17053)
               svg/text/small-fonts-in-html5.html (reduction from bug 19393)
               svg/text/small-fonts.svg (reduction from bug 20192))

        * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
        * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
        * rendering/svg/SVGInlineTextBox.h:
        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
        * rendering/svg/SVGTextMetrics.cpp: Ditto.
        * rendering/svg/SVGTextMetrics.h: Ditto.
        * rendering/svg/SVGTextQuery.cpp: Ditto.
        * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
        * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
        * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
        * svg/SVGTextPositioningElement.h: 

2011-02-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: resources panel doesn't show frames after reload.
        https://bugs.webkit.org/show_bug.cgi?id=53430

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype.loadEventFired):
        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.clear):
        * inspector/front-end/inspector.js:
        (WebInspector.loadEventFired):

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

        Reviewed by Pavel Feldman.

        Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
        https://bugs.webkit.org/show_bug.cgi?id=53492

        * inspector/Inspector.idl:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStylesForNode):
        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::getAllStyles):
        (WebCore::InspectorCSSAgent::getStyleSheet):
        (WebCore::InspectorCSSAgent::getStyleSheetText):
        (WebCore::InspectorCSSAgent::setStyleSheetText):
        (WebCore::InspectorCSSAgent::setPropertyText):
        (WebCore::InspectorCSSAgent::toggleProperty):
        (WebCore::InspectorCSSAgent::setRuleSelector):
        (WebCore::InspectorCSSAgent::addRule):
        * inspector/InspectorCSSAgent.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        (WebInspector.CSSStyleModel.prototype._onRevert):
        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setDisabled):
        (WebInspector.CSSStyleSheet.createForId):
        (WebInspector.CSSStyleSheet.prototype.setText):

2011-02-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Teach XSSFilter about data URLs
        https://bugs.webkit.org/show_bug.cgi?id=53662

        The XSS filter doesn't really make sense for data URLs because
        everything in a "response" from a data URL was part of the request.

        Test: http/tests/security/xssAuditor/data-urls-work.html

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::init):
        (WebCore::XSSFilter::filterToken):

2011-02-02  Chris Evans  <cevans@chromium.org>

        Reviewed by Darin Fisher.

        window.find() can fail when switching case sensitivity
        https://bugs.webkit.org/show_bug.cgi?id=53654

        Reset the pattern to a safe one when done, to avoid usearch_reset()
        indirectly touching the old, stale text pointer.

        Test: fast/text/find-window.html

        * editing/TextIterator.cpp:
        (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.

2011-02-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Teach XSSFilter that <param> elements can contain URLs
        https://bugs.webkit.org/show_bug.cgi?id=53652

        When loading plugins for the <object> tag, we're "smart" enough to
        reach into the <param> elements and pull out the URL in some cases.
        This patch teaches the XSSFilter how to block injections into those
        sorts of param elements.

        Fixes:
            http/tests/security/xssAuditor/object-*

        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::isURLParameter):
        (WebCore::HTMLParamElement::isURLAttribute):
        (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
        * html/HTMLParamElement.h:
            - Add a helper function so that HTMLParamElement can share the
              ground truth for these names with the XSSFilter.
        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterTokenInitial):
        (WebCore::XSSFilter::filterParamToken):
        * html/parser/XSSFilter.h:

2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        GCC compiler on ARM issues bogus warnings and fails to compile.
        https://bugs.webkit.org/show_bug.cgi?id=53620

        Despite warnings explicitly being disallowed (-Wno-uninitialized),
        gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:

        "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"

        The fix is to add an extra condition, which somehow pacifies the compiler.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.

2011-02-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Teach XSSFilter about X-XSS-Protection
        https://bugs.webkit.org/show_bug.cgi?id=53640

        This patch causes us to pass:
            http/tests/security/xssAuditor/full-block-*
            http/tests/security/xssAuditor/no-protection-script-tag.html

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::XSSFilter):
        (WebCore::XSSFilter::init):
        (WebCore::XSSFilter::filterToken):
        * html/parser/XSSFilter.h:

2011-02-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
        instead of the empty string
        https://bugs.webkit.org/show_bug.cgi?id=53643

        In a URL context, the empty string completes to the URL of the current
        page, which causes these tests to go into an infinite loop.  Instead,
        we should use a "safe" JavaScript URL that does nothing.

        Fixes:
            http/tests/security/xssAuditor/javascript-link*

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):

2011-02-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
        https://bugs.webkit.org/show_bug.cgi?id=44942

        Test: fast/text/bidi-embedding-pop-and-push-same-2.html

        * platform/text/BidiResolver.h:
        (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
        a change to embedding levels.
        (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
        the explicit embedding sequence, then runs were not added, and we should continue normally.

2011-02-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix miscalculation of the overhang area used for painting. We were
        not correctly accounting for scrollbars resulting in an non-negative
        overhang even when we weren't over the edge.

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

2011-02-02  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
        https://bugs.webkit.org/show_bug.cgi?id=52722

        The solution is to change ScriptExecutionContext's destructor to iterate over
        the list in a way that handles the mutations. This new method is destructive,
        but that's OK since the object is going away. I've also added a several asserts.

        There should be no behavior change.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        (WebCore::ScriptExecutionContext::createdActiveDOMObject):
        (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
        * dom/ScriptExecutionContext.h:
        * storage/IDBTransaction.cpp:
        (WebCore::IDBTransaction::contextDestroyed):
        * storage/IDBTransaction.h:

2011-02-02  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
        up in the HashMap rather than relying on a local variable that doesn't
        exist.

2011-02-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Teach XSSFilter about JavaScript URLs
        https://bugs.webkit.org/show_bug.cgi?id=53635

        This patch teaches the XSSFilter to check for JavaScript URLs in
        attribute values.  If this approach has too many false positives, we
        can restrict which attribute names we examine.

        Fixes these tests:
            http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
            http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
            http/tests/security/xssAuditor/iframe-javascript-url*

        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::containsJavaScriptURL):
        (WebCore::XSSFilter::filterTokenInitial):
        (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
        * html/parser/XSSFilter.h:

2011-02-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig, even though this is just a...

        ...build fix.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):

2011-02-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/8952012> Crash on launch inside scrollbar code.

        We need to ensure that we remove ourselves as the delegates of objects when we're going
        away as failing to do this can lead to crashes if the lifetime of the other objects
        is longer than ours.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::unregisterScrollbar):

2011-02-02  Beth Dakin  <bdakin@apple.com>

        Build fix.

        * WebCore.exp.in:

2011-02-02  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r77397.

        * page/wince/FrameWinCE.cpp:
        (WebCore::computePageRectsForFrame):

2011-02-02  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r77398.

        * platform/graphics/wince/PlatformPathWinCE.cpp:
        (WebCore::containsPoint):
        (WebCore::inflateRectToContainPoint):
        (WebCore::PlatformPath::addRect):
        * platform/graphics/wince/SharedBitmap.cpp:
        (WebCore::SharedBitmap::drawPattern):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintMenuListButton):
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWinCE::paintSliderTrack):
        (WebCore::RenderThemeWinCE::paintMediaMuteButton):
        (WebCore::RenderThemeWinCE::paintMediaPlayButton):
        (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
        (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):

2011-02-02  Jian Li  <jianli@chromium.org>

        Reviewed by Kenneth Russell.

        [V8] Accessing DataView with index of -1 returns 0, doesn't throw
        https://bugs.webkit.org/show_bug.cgi?id=53559

        Added test cases to cover this in fast/canvas/webgl/data-view-test.html.

        * html/canvas/DataView.h:
        (WebCore::DataView::beyondRange):

2011-02-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Add ChromeClient function to paint custom overhang areas.
        https://bugs.webkit.org/show_bug.cgi?id=53639

        * page/Chrome.cpp:
        (WebCore::ChromeClient::paintCustomOverhangArea):
        * page/ChromeClient.h:
        Add ChromeClient function.

        * page/FrameView.cpp:
        (WebCore::FrameView::paintOverhangAreas):
        * page/FrameView.h:
        Call out the the ChromeClient, call ScrollView base implementation
        if the ChromeClient returns false.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::paintOverhangAreas):
        * platform/ScrollView.h:
        Add dirty rect for use when painting overhang areas.

2011-02-02  Peter Kasting  <pkasting@google.com>

        Not reviewed, build fix.

        Fix compile after r77427.
        https://bugs.webkit.org/show_bug.cgi?id=53455

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageFrame::operator=):
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::decodeBMP):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):
        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::decode):

2011-02-02  Peter Kasting  <pkasting@google.com>

        Reviewed by David Levin.

        Clean up ImageDecoder's comments (remove/trim/clarify).
        https://bugs.webkit.org/show_bug.cgi?id=53455

        This also renames or eliminates a couple of functions for clarity, and
        switches a couple erroneous strncmp() calls to memcmp().

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::create):
        (WebCore::ImageFrame::clearPixelData):
        (WebCore::ImageFrame::zeroFillPixelData):
        (WebCore::ImageFrame::setSize):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::originalFrameRect):
        (WebCore::ImageFrame::setOriginalFrameRect):
        (WebCore::ImageDecoder::ImageDecoder):
        (WebCore::ImageDecoder::~ImageDecoder):
        (WebCore::ImageDecoder::isSizeAvailable):
        (WebCore::ImageDecoder::size):
        (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
        (WebCore::ImageDecoder::clearFrameBufferCache):
        (WebCore::ImageDecoder::isOverSize):
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::processNonRLEData):
        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::ImageFrame::setSize):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::clearFrameBufferCache):
        (WebCore::GIFImageDecoder::frameComplete):
        (WebCore::GIFImageDecoder::initFrameBuffer):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/qt/ImageFrameQt.cpp:
        (WebCore::ImageFrame::operator=):
        (WebCore::ImageFrame::clearPixelData):
        (WebCore::ImageFrame::zeroFillPixelData):
        (WebCore::ImageFrame::setSize):
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::ImageFrame::operator=):
        (WebCore::ImageFrame::clearPixelData):
        (WebCore::ImageFrame::zeroFillPixelData):
        (WebCore::ImageFrame::setSize):
        * platform/image-decoders/webp/WEBPImageDecoder.h:

2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>

        [chromium] Adding support for reflections to the accelerated
        compositing path.
        https://bugs.webkit.org/show_bug.cgi?id=53179

        All layout tests in compositing/reflections generate correct
        results with the exception of:
        1. nested-reflection-anchor-point.html : There appears to be
           some issue with the layer transform math that I haven't been
           able to track down yet.
        2. reflection-opacity.html : The current implementation applies
           opacity before doing the reflection which makes this test
           produce incorrect results.  This will affect reflected layers
           with opacity that overlap their original layer.  FIXME comment
           added in the code.

        Tests: Covered by existing layout tests in compositing/reflections.
               Please see above for exceptions.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
        (WebCore::GraphicsLayerChromium::updateAnchorPoint):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setReplicaLayer):
        (WebCore::LayerChromium::replicaLayer):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::drawableContentRect):
        (WebCore::RenderSurfaceChromium::drawSurface):
        (WebCore::RenderSurfaceChromium::draw):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::drawTransform):

2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Select popup with padding has white strip on right
        https://bugs.webkit.org/show_bug.cgi?id=53602

        No new tests as this change restores old behavior.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::layout):

2011-02-02  Beth Dakin  <bdakin@apple.com>

        Reviewed by Mark Rowe.

        Fix for <rdar://problem/8950343> CrashTracer: [USER]
        1 crash in WebProcess at com.apple.WebCore: 
        WebCore::ScrollbarThemeMac::unregisterScrollbar + 22

        It is possible for a Scrollbar's ScrollableArea to be null,
        so we must null check.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::unregisterScrollbar):

2011-02-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        bufferData and bufferSubData should generate INVALID_VALUE with negative input
        https://bugs.webkit.org/show_bug.cgi?id=53626

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):

2011-02-02  Jeff Miller  <jeffm@apple.com>

        Reviewed by Darin Adler and Steve Falkenburg.

        Add DerivedSources.make to some Visual Studio projects
        https://bugs.webkit.org/show_bug.cgi?id=53607

        * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.

2011-02-02  Cris Neckar  <cdn@chromium.org>

        Reviewed by James Robinson.

        Refcount domwindows when dispatching device orientation events.
        https://bugs.webkit.org/show_bug.cgi?id=53623

        Test: fast/events/device-orientation-crash.html

        * dom/DeviceMotionController.cpp:
        (WebCore::DeviceMotionController::timerFired):
        (WebCore::DeviceMotionController::didChangeDeviceMotion):
        * dom/DeviceMotionController.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::timerFired):
        (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
        * dom/DeviceOrientationController.h:

2011-02-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        A deleted object should never been bound again
        https://bugs.webkit.org/show_bug.cgi?id=53604

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
        (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
        (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
        (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
        (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
        (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
        (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
        (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::deleteShader): Ditto.
        (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
        (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLTexture.h:
        (WebCore::WebGLTexture::getTarget): Accessor to cached target.

2011-02-02  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed Efl buildfix after r77399.

        * CMakeListsEfl.txt:

2011-02-02  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Rename Typed Array subset to subarray
        https://bugs.webkit.org/show_bug.cgi?id=53618

        * html/canvas/Float32Array.cpp:
        (WebCore::Float32Array::subarray):
        * html/canvas/Float32Array.h:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.cpp:
        (WebCore::Int16Array::subarray):
        * html/canvas/Int16Array.h:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.cpp:
        (WebCore::Int32Array::subarray):
        * html/canvas/Int32Array.h:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.cpp:
        (WebCore::Int8Array::subarray):
        * html/canvas/Int8Array.h:
        * html/canvas/Int8Array.idl:
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::subarrayImpl):
        * html/canvas/Uint16Array.cpp:
        (WebCore::Uint16Array::subarray):
        * html/canvas/Uint16Array.h:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.cpp:
        (WebCore::Uint32Array::subarray):
        * html/canvas/Uint32Array.h:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.cpp:
        (WebCore::Uint8Array::subarray):
        * html/canvas/Uint8Array.h:
        * html/canvas/Uint8Array.idl:

2011-02-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add an empty file for Content Security Policy
        https://bugs.webkit.org/show_bug.cgi?id=53573

        Posting this as a separate patch because editing the build files is so
        painful.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2011-02-02  Dan Winship  <danw@gnome.org>

        Reviewed by Martin Robinson.

        [GTK] remove old data: URI handler, fix the SoupRequest-based one
        to pass tests
        https://bugs.webkit.org/show_bug.cgi?id=50885

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback): Do content-type sniffing here for
        non-HTTP requests.
        (WebCore::startHTTPRequest): Rename to match WebKit style.
        (WebCore::ResourceHandle::start): Pass everything except HTTP to
        startNonHTTPRequest, letting the SoupRequester decide whether it's
        supported or not.
        (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
        code that was a no-op for file: URIs, but would break some data:
        URIs.

2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Update even more references to right() and bottom() in Chromium. Sheesh.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.

2011-02-02  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed Gtk3 buildfix after r77286.

        https://bugs.webkit.org/show_bug.cgi?id=53520
        Remove the physical terminology from IntRect and FloatRect.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintMenuList):

2011-02-02  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::pinnedInDirection):

2011-02-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
        with maxX/maxY.  This matches IntRect.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverflowFromFloats):
        (WebCore::RenderBlock::flipFloatForWritingMode):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::selectionGaps):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::adjustForBorderFit):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::x):
        (WebCore::RenderBlock::FloatingObject::maxX):
        (WebCore::RenderBlock::FloatingObject::y):
        (WebCore::RenderBlock::FloatingObject::maxY):
        (WebCore::RenderBlock::FloatingObject::setX):
        (WebCore::RenderBlock::FloatingObject::setY):
        (WebCore::RenderBlock::logicalTopForFloat):
        (WebCore::RenderBlock::logicalBottomForFloat):
        (WebCore::RenderBlock::logicalLeftForFloat):
        (WebCore::RenderBlock::logicalRightForFloat):
        (WebCore::RenderBlock::setLogicalTopForFloat):
        (WebCore::RenderBlock::setLogicalLeftForFloat):
        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):

2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Update more references to right() and bottom() in Chromium Win.

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
        (WebCore::TransparencyWin::compositeTextComposite): Ditto.
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.

2011-02-02  Adam Roben  <aroben@apple.com>

        Encode/decode FormData and FormDataElement objects consistently

        Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
        that contains form data fails (asserts in Debug build)

        To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
        now, even though we don't have an automated test for it yet. Writing a test is covered by
        <http://webkit.org/b/53616>.

        Reviewed by Darin Adler.

        * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
        FormData objects.

        * platform/network/FormData.cpp:
        (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
        default-constructed FormDataElement. Failing to do this meant that all future uses of the
        Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
        start by reading the uint32_t that we forgot to decode here, and so on). We already had code
        to correctly set the FormDataElement's type based on this decoded type later in the
        function.
        (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
        matches its type and how we decode it.

2011-02-02  Dan Winship  <danw@gnome.org>

        Reviewed by Martin Robinson.

        [GTK] drop soup cache stuff, which has been moved to libsoup
        https://bugs.webkit.org/show_bug.cgi?id=50747

        Use libsoup-based cache/requester API and remove the WebCore version
        of this functionality. This has been pushed upstream fully.

        No new tests because this should not change functionality.

        * GNUmakefile.am: Update for removed files.
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
        type names, drop m_requester.
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
        session.
        (WebCore::parseDataUrl):
        (WebCore::startHttp): Get the requester from the session rather
        than using m_requester.
        (WebCore::sendRequestCallback):
        (WebCore::ResourceHandle::platformSetDefersLoading):
        (WebCore::readCallback):
        (WebCore::startGio): Update type names.
        * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
        * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
        * platform/network/soup/cache/soup-http-input-stream.c: Removed.
        * platform/network/soup/cache/soup-http-input-stream.h: Removed.
        * platform/network/soup/cache/soup-request-data.c: Removed.
        * platform/network/soup/cache/soup-request-data.h: Removed.
        * platform/network/soup/cache/soup-request-file.c: Removed.
        * platform/network/soup/cache/soup-request-file.h: Removed.
        * platform/network/soup/cache/soup-request-http.c: Removed.
        * platform/network/soup/cache/soup-request-http.h: Removed.
        * platform/network/soup/cache/soup-request.c: Removed.
        * platform/network/soup/cache/soup-request.h: Removed.
        * platform/network/soup/cache/soup-requester.c: Removed.
        * platform/network/soup/cache/soup-requester.h: Removed.
        * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
        * platform/network/soup/cache/webkit/soup-cache.c: Removed.
        * platform/network/soup/cache/webkit/soup-cache.h: Removed.

2011-02-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

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

        Remove physical accessors from IntRect and FloatRect.

        * page/FrameView.cpp:
        (WebCore::FrameView::adjustPageHeightDeprecated):
        * platform/graphics/FloatRect.h:
        * platform/graphics/IntRect.h:

2011-02-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::minYLayoutOverflow):
        (WebCore::InlineFlowBox::maxYLayoutOverflow):
        (WebCore::InlineFlowBox::minXLayoutOverflow):
        (WebCore::InlineFlowBox::maxXLayoutOverflow):
        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
        (WebCore::InlineFlowBox::minYVisualOverflow):
        (WebCore::InlineFlowBox::maxYVisualOverflow):
        (WebCore::InlineFlowBox::minXVisualOverflow):
        (WebCore::InlineFlowBox::maxXVisualOverflow):
        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
        (WebCore::InlineFlowBox::logicalminYVisualOverflow):
        (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustLinePositionForPagination):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::minYLayoutOverflow):
        (WebCore::RenderBox::maxYLayoutOverflow):
        (WebCore::RenderBox::minXLayoutOverflow):
        (WebCore::RenderBox::maxXLayoutOverflow):
        (WebCore::RenderBox::logicalLeftLayoutOverflow):
        (WebCore::RenderBox::logicalRightLayoutOverflow):
        (WebCore::RenderBox::minYVisualOverflow):
        (WebCore::RenderBox::maxYVisualOverflow):
        (WebCore::RenderBox::minXVisualOverflow):
        (WebCore::RenderBox::maxXVisualOverflow):
        (WebCore::RenderBox::logicalLeftVisualOverflow):
        (WebCore::RenderBox::logicalRightVisualOverflow):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        * rendering/RenderOverflow.h:
        (WebCore::RenderOverflow::RenderOverflow):
        (WebCore::RenderOverflow::minYLayoutOverflow):
        (WebCore::RenderOverflow::maxYLayoutOverflow):
        (WebCore::RenderOverflow::minXLayoutOverflow):
        (WebCore::RenderOverflow::maxXLayoutOverflow):
        (WebCore::RenderOverflow::minYVisualOverflow):
        (WebCore::RenderOverflow::maxYVisualOverflow):
        (WebCore::RenderOverflow::minXVisualOverflow):
        (WebCore::RenderOverflow::maxXVisualOverflow):
        (WebCore::RenderOverflow::setminYVisualOverflow):
        (WebCore::RenderOverflow::visualOverflowRect):
        (WebCore::RenderOverflow::move):
        (WebCore::RenderOverflow::addVisualOverflow):
        (WebCore::RenderOverflow::setVisualOverflow):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::paint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::docTop):

2011-02-02  Steve Lacey  <sjl@chromium.org>

        Reviewed by Eric Carlson.

        Implement basic media statistics on media elements.
        https://bugs.webkit.org/show_bug.cgi?id=53322

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * features.pri:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
        (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::webkitDecodedFrames):
        (WebCore::HTMLVideoElement::webkitDroppedFrames):
        * html/HTMLVideoElement.h:
        * html/HTMLVideoElement.idl:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::decodedFrames):
        (WebCore::MediaPlayer::droppedFrames):
        (WebCore::MediaPlayer::audioBytesDecoded):
        (WebCore::MediaPlayer::videoBytesDecoded):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::decodedFrames):
        (WebCore::MediaPlayerPrivateInterface::droppedFrames):
        (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
        (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):

2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by David Hyatt.

        More conversion from right()/bottom() to maxX()/maxY().

        * page/qt/FrameQt.cpp:
        (WebCore::Frame::dragImageForSelection):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):

2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for wxWebKit.

        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
        (documentWrite):
        * bindings/scripts/CodeGeneratorCPP.pm:
        * page/wx/DragControllerWx.cpp:
        (WebCore::DragController::dragOperation):
        * platform/graphics/wx/FontCustomPlatformData.h:
        * platform/graphics/wx/FontPlatformData.h:
        (WebCore::FontPlatformData::widthVariant):
        * platform/graphics/wx/FontPlatformDataWx.cpp:
        (WebCore::FontPlatformData::computeHash):
        * platform/graphics/wx/FontWx.cpp:
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        * platform/wx/RenderThemeWx.cpp:

2011-02-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        More right()/bottom() to maxX()/maxY() conversion.

        * page/chromium/FrameChromium.cpp:
        (WebCore::Frame::nodeImage):
        (WebCore::Frame::dragImageForSelection):

2011-02-02  Sam Weinig  <sam@webkit.org>

        Fix windows clean build.

        * DerivedSources.make:

2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.

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

        Display progress while taking a snapshot, and hints while loading
        and parsing. This is needed because taking detailed heap snapshots
        takes time.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.getProfiles):
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        * inspector/front-end/SidebarTreeElement.js:
        (WebInspector.SidebarTreeElement.prototype.refreshTitles):

2011-02-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        More conversion from right()/bottom() to maxX()/maxY().

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        (WebCore::PopupMenuWin::paint):

2011-02-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
        (WebCore::PopupListBox::scrollToRevealRow):
        (WebCore::PopupListBox::layout):
        * platform/graphics/FloatRect.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::drawTexturedRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::verticalScrollbarRect):
        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
        (WebCore::LayerRendererChromium::setScissorToRect):
        (WebCore::LayerRendererChromium::setDrawViewportRect):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::contentRectToTileIndices):
        (WebCore::LayerTilerChromium::growLayerToContain):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::tileBoundsWithBorder):
        (WebCore::TilingData::overlappedTileIndices):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):
        * platform/graphics/skia/FloatRectSkia.cpp:
        (WebCore::FloatRect::operator SkRect):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):
        * platform/graphics/skia/IntRectSkia.cpp:
        (WebCore::IntRect::operator SkIRect):
        (WebCore::IntRect::operator SkRect):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::clip):
        * platform/graphics/win/IntRectWin.cpp:
        (WebCore::IntRect::operator RECT):
        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::roundRect):
        (WebCore::mapRect):
        (WebCore::TransparentLayerDC::TransparentLayerDC):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::strokeRect):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::initFrameBuffer):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        (WebCore::PopupMenuWin::paint):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::invalidateRect):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintMenuListButton):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::paintInnerSpinButton):
        (WebCore::RenderThemeWin::paintMenuListButton):

2011-02-02  Antti Koivisto  <antti@apple.com>

        Reviewed by Maciej Stachowiak.

        Use Vector instead of a linked list for rules in CSSStyleSelector
        https://bugs.webkit.org/show_bug.cgi?id=53581
        
        - eliminate CSSRuleDataList, replace with Vector<RuleData>
        - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
          (these are selector internal classes, CSS prefix is better reserved for public ones).
        - constify a bit
        - shrink the vectors to fit after collecting the rules

        * css/CSSStyleSelector.cpp:
        (WebCore::RuleData::RuleData):
        (WebCore::RuleData::position):
        (WebCore::RuleData::rule):
        (WebCore::RuleData::selector):
        (WebCore::RuleSet::disableAutoShrinkToFit):
        (WebCore::RuleSet::getIDRules):
        (WebCore::RuleSet::getClassRules):
        (WebCore::RuleSet::getTagRules):
        (WebCore::RuleSet::getPseudoRules):
        (WebCore::RuleSet::getUniversalRules):
        (WebCore::RuleSet::getPageRules):
        (WebCore::collectSiblingRulesInDefaultStyle):
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::loadFullDefaultStyle):
        (WebCore::loadSimpleDefaultStyle):
        (WebCore::loadViewSourceStyle):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::operator >):
        (WebCore::operator <=):
        (WebCore::CSSStyleSelector::sortMatchedRules):
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::RuleSet::RuleSet):
        (WebCore::RuleSet::~RuleSet):
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::RuleSet::addRule):
        (WebCore::RuleSet::addPageRule):
        (WebCore::RuleSet::addRulesFromSheet):
        (WebCore::RuleSet::addStyleRule):
        (WebCore::collectIdsAndSiblingRulesFromList):
        (WebCore::RuleSet::collectIdsAndSiblingRules):
        (WebCore::shrinkMapVectorsToFit):
        (WebCore::RuleSet::shrinkToFit):
        (WebCore::CSSStyleSelector::matchPageRules):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::addMatchedRule):

2011-02-02  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Use DIVs instead of TABLE in TextViewer
        https://bugs.webkit.org/show_bug.cgi?id=53299

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._createTextViewer):
        (WebInspector.SourceFrame.prototype._mouseDown):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer):
        (WebInspector.TextViewer.prototype.set mimeType):
        (WebInspector.TextViewer.prototype.revealLine):
        (WebInspector.TextViewer.prototype.addDecoration):
        (WebInspector.TextViewer.prototype.removeDecoration):
        (WebInspector.TextViewer.prototype.markAndRevealRange):
        (WebInspector.TextViewer.prototype.highlightLine):
        (WebInspector.TextViewer.prototype.clearLineHighlight):
        (WebInspector.TextViewer.prototype.freeCachedElements):
        (WebInspector.TextViewer.prototype._handleKeyDown):
        (WebInspector.TextViewer.prototype.editLine.finishEditing):
        (WebInspector.TextViewer.prototype.editLine):
        (WebInspector.TextViewer.prototype.beginUpdates):
        (WebInspector.TextViewer.prototype.endUpdates):
        (WebInspector.TextViewer.prototype.resize):
        (WebInspector.TextViewer.prototype._textChanged):
        (WebInspector.TextViewer.prototype._updatePanelOffsets):
        (WebInspector.TextViewer.prototype._syncScroll):
        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
        (WebInspector.TextEditorChunkedPanel):
        (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
        (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
        (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
        (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
        (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
        (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
        (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
        (WebInspector.TextEditorChunkedPanel.prototype.resize):
        (WebInspector.TextEditorChunkedPanel.prototype._scroll):
        (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
        (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
        (WebInspector.TextEditorGutterPanel):
        (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
        (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
        (WebInspector.TextEditorGutterChunk):
        (WebInspector.TextEditorGutterChunk.prototype.get expanded):
        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
        (WebInspector.TextEditorGutterChunk.prototype.get height):
        (WebInspector.TextEditorGutterChunk.prototype._createRow):
        (WebInspector.TextEditorMainPanel):
        (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
        (WebInspector.TextEditorMainPanel.prototype.set mimeType):
        (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
        (WebInspector.TextEditorMainPanel.prototype.highlightLine):
        (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
        (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
        (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
        (WebInspector.TextEditorMainPanel.prototype._paintLines):
        (WebInspector.TextEditorMainPanel.prototype._paintLine):
        (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
        (WebInspector.TextEditorMainPanel.prototype._getSelection):
        (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
        (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
        (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
        (WebInspector.TextEditorMainChunk):
        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
        (WebInspector.TextEditorMainChunk.prototype.set expanded):
        (WebInspector.TextEditorMainChunk.prototype.get height):
        (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
        (WebInspector.TextEditorMainChunk.prototype._createRow):
        (WebInspector):
        * inspector/front-end/textViewer.css:
        (.text-editor-lines):
        (.text-editor-contents):
        (.text-editor-editable):
        (.webkit-line-decorations):
        (.webkit-line-number):
        (.webkit-execution-line.webkit-line-content):
        (.diff-container .webkit-added-line.webkit-line-content):
        (.diff-container .webkit-removed-line.webkit-line-content):
        (.diff-container .webkit-changed-line.webkit-line-content):
        (.webkit-highlighted-line.webkit-line-content):

2011-02-02  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Implement support for cursor updates
        https://bugs.webkit.org/show_bug.cgi?id=53421

        Implement support for cursor updates using the same pattern as cursor
        deletes: forward the calls to the IDBObjectStoreBackend::put().
        The put() function's signature needs to be changed to allow for a
        "cursor update mode". This makes the signature more clear anyway,
        since it replaces the boolean parameter.

        Test: storage/indexeddb/cursor-update.html

        * storage/IDBCursor.idl:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::key):
        (WebCore::IDBCursorBackendImpl::update):
        * storage/IDBCursorBackendImpl.h:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::add):
        (WebCore::IDBObjectStore::put):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBObjectStoreBackendInterface.h:

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

        Reviewed by Kent Tamura.

        Fix popup menu RTL bug introduced by Changeset 75982.
        https://bugs.webkit.org/show_bug.cgi?id=53567

        PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().

        No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
        (WebCore::PopupContainer::showPopup): Change the passing parameter.
        (WebCore::PopupContainer::refresh): Change the passing parameter.
        * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.

2011-02-02  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix dist compilation
        https://bugs.webkit.org/show_bug.cgi?id=53579

        * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
        added in r77153.

2011-02-02  Dai Mikurube  <dmikurube@google.com>

        Reviewed by David Levin.

        Make mime type lookup in File::create(path) thread-safe
        https://bugs.webkit.org/show_bug.cgi?id=47700

        This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
        The function is to be called as a thread-safe version of getMIMETypeForExtension() when
        both FILE_SYSTEM and WORKERS are enabled.

        No tests for this patch. This patch itself doesn't change the behaviors.
        For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
        For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
        The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
        platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.

        * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
        * platform/android/TemporaryLinkStubs.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/brew/MIMETypeRegistryBrew.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
        (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
        * platform/efl/MIMETypeRegistryEfl.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/gtk/MIMETypeRegistryGtk.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/haiku/MIMETypeRegistryHaiku.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/mac/MIMETypeRegistryMac.mm:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/qt/MIMETypeRegistryQt.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/win/MIMETypeRegistryWin.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/wince/MIMETypeRegistryWinCE.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/wx/MimeTypeRegistryWx.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):

2011-02-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Improve readability of updateWidget by converting bool parameter to an enum
        https://bugs.webkit.org/show_bug.cgi?id=53576

        As requested on webkit-dev.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLEmbedElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateWidget):
        * html/HTMLMediaElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
        * html/HTMLPlugInImageElement.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::updateWidget):

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

        Reviewed by Adam Barth.

        [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
        https://bugs.webkit.org/show_bug.cgi?id=53566

        A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
        Other than being large enough for this one test case, this limit is arbitrary.

        * bindings/v8/V8Proxy.h:

2011-02-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Andreas Kling.

        Remove useless comment
        https://bugs.webkit.org/show_bug.cgi?id=53549

        The reason for this parameter is captured in
        plugins/netscape-plugin-setwindow-size.html, which is a better place to
        capture it than in this comment (which otherwise just re-iterates the
        name of the parameter).

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):

2011-02-01  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Gentilcore.

        [WebTiming] Remove asserts that verify timestamp order
        https://bugs.webkit.org/show_bug.cgi?id=53548

        Covered by existing tests.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Remove assert.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchTimedEvent): Ditto.

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

        Add the 'default_targets' enclosure to the flags.

        * WebCore.gyp/WebCore.gyp: Did it.

2011-02-01  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by James Robinson.

        Async event handlers should not fire within a modal dialog
        https://bugs.webkit.org/show_bug.cgi?id=53202

        Asychronous events that use EventQueue would currently fire while a
        modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
        SuspendableTimer (which automatically gets suspended while dialogs are
        up and in other cases where JS execution is not allowed).
        
        Test: fast/events/scroll-event-during-modal-dialog.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/EventQueue.cpp:
        (WebCore::EventQueueTimer::EventQueueTimer):
        (WebCore::EventQueueTimer::fired):
        (WebCore::EventQueue::EventQueue):
        (WebCore::EventQueue::enqueueEvent):
        (WebCore::EventQueue::pendingEventTimerFired):
        * dom/EventQueue.h:
        (WebCore::EventQueue::create):
        * page/SuspendableTimer.cpp:
        (WebCore::SuspendableTimer::SuspendableTimer):
        (WebCore::SuspendableTimer::suspend):
        (WebCore::SuspendableTimer::resume):
        * page/SuspendableTimer.h:

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

        Reviewed by Andreas Kling.

        Change wrong PLATFORM(WIN) to USE(WININET)
        https://bugs.webkit.org/show_bug.cgi?id=53547

        * platform/network/ResourceHandle.h:

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

        32-bit build fix.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):

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

        Reviewed by Gustavo Noronha Silva.

        [GTK] Two tests crash after r76555
        https://bugs.webkit.org/show_bug.cgi?id=53057

        Instead of creating synchronous ResourceHandles manually, use the ::create factory.
        This ensures that ::start() is not called when there is a scheduled failure and also
        reduces code duplication.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.

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

        Reviewed by Eric Seidel.

        [GTK] GObject DOM bindings do no support the CallWith attribute
        https://bugs.webkit.org/show_bug.cgi?id=53331

        Disable building GObject DOM bindings for IndexedDB because we do not support
        the CallWith attribute at this time.

        * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.

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

        Reviewed by Brady Eidson.

        Fix a couple loose ends from the back/forward tree encode/decode work
        https://bugs.webkit.org/show_bug.cgi?id=53537

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
        original URL string; no need to encode it twice.
        (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
        * history/HistoryItem.h: Removed declaration for function that is no
        longer defined nor used.

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

        Reviewed by Kent Tamura.

        [chromium] disable arm uninitialized variable warnings
        https://bugs.webkit.org/show_bug.cgi?id=53553

        We just got another error:
        third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
        'colorTransparent.unstatic.4879' may be used uninitialized in this
        function

        * WebCore.gyp/WebCore.gyp:

2011-02-01  chris reiss  <christopher.reiss@nokia.com>

        Reviewed by Adam Barth.

        Self-replicating code makes Safari hang and eventually crash
        https://bugs.webkit.org/show_bug.cgi?id=15123

       
        Here we are replicating the Firefox safeguard against
        recursive document.write( ) 's.

        See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
        https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
            a) imposes a recursion limit of 20 on document.write( ) and
            b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
        To see why this is necessary, consider the script : 

        <script>
           var t = document.body.innerHTML;
           document.write(t);
        </script> 

        This will create a tree both broad and deep as the script keeps appending itself to the text.   If
        we just return one level after the recursion limit is reached, we still allow millions of copies to 
        duplicate (and execute).   

        The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
        to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 

        Test: fast/dom/Document/document-write-recursion.html        
        Test: fast/dom/Document/document-close-iframe-load.html
        Test: fast/dom/Document/document-close-nested-iframe-load.html


        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::write):
        * dom/Document.h:

2011-02-01  Johnny Ding  <jnd@chromium.org>

        Reviewed by Darin Adler.

        Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
        https://bugs.webkit.org/show_bug.cgi?id=53424

        Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::handleLinkClick):

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

        Unreviewed Qt buildfix after r77286.

        https://bugs.webkit.org/show_bug.cgi?id=53520 
        Remove the physical terminology from IntRect and FloatRect.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::createTiles):

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

        Fix Mac production builds.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollbarThemeMac.h:

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

        Reviewed by Chris Fleizach.

        REGRESSION: Removing focus from area element causes unwanted scrolling
        https://bugs.webkit.org/show_bug.cgi?id=50169

        Test: fast/images/imagemap-scroll.html

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
        RenderImage::areaElementFocusChanged function.
        (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
        here that calls setNeedsLayout on the image's renderer. This was an
        attempt to cause repaint of the renderer, but this function does not
        need to do that. Also changed this to use the imageElement function
        to avoid repeating code.

        * html/HTMLAreaElement.h: Updated for above changes.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint): Updated for name change.
        (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
        paintFocusRing, because it only paints area focus rings, and should
        not be confused with paintFocusRing functions in other classes. Also
        removed the unused style argument. Removed the code that used an
        HTMLCollection to see if the focused area element is for this image
        and instead just call imageElement on the area element.
        (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.

        * rendering/RenderImage.h: Added a public areaElementFocusChanged
        function for HTMLAreaElement to call. Made the paintFocusRing function
        private, renamed it to paintAreaElementFocusRing, and removed its
        unused style argument.

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

        Unreviewed WinCE build fix for r77286.

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::TransparentLayerDC::TransparentLayerDC):

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

        Reviewed by Darin Adler.

        AX: AXPosition of AXScrollArea is wrong
        https://bugs.webkit.org/show_bug.cgi?id=53511

        AccessibilityScrollView needed to return a valid documentFrameView() object.
        At the same time, the code from document() should be consolidated in 
        AccessibilityObject, so all objects can use it.

        Test: platform/mac/accessibility/webkit-scrollarea-position.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::document):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::accessibilityHitTest):
        (WebCore::AccessibilityScrollView::documentFrameView):
        * accessibility/AccessibilityScrollView.h:

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

        Reviewed by Kenneth Russell.

        getUniform should support SAMPLER_2D or SAMPLER_CUBE
        https://bugs.webkit.org/show_bug.cgi?id=52190

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform):

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

        Reviewed by Darin Adler.

        Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
        https://bugs.webkit.org/show_bug.cgi?id=53531

        With this fix, running WebGL conformance tests should no longer crash randomly.

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):

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

        One more Chromium build fix after r77286.

        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().

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

        Fix the build for Beth.

        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):

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

        Reviewed by Beth Dakin.

        Part 2 for <rdar://problem/8492788>
        Adopt WKScrollbarPainterController

        Use header detection to define scrollbar painting controller #define.

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

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

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=53520
        
        Remove the physical terminology from IntRect and FloatRect.
        
        Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
        we need to update our terminology to be more accurate.

        I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
        renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
        even for flipped rectangles.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper position]):
        * dom/ClientRect.h:
        (WebCore::ClientRect::right):
        (WebCore::ClientRect::bottom):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::normalizeRect):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::drawElementTitle):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::adjustWindowRect):
        * page/DragController.cpp:
        (WebCore::dragLocForSelectionDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEventForKey):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
        (WebCore::PrintContext::pageNumberForElement):
        * page/SpatialNavigation.cpp:
        (WebCore::end):
        (WebCore::areRectsFullyAligned):
        (WebCore::areRectsMoreThanFullScreenApart):
        (WebCore::below):
        (WebCore::rightOf):
        (WebCore::isRectInDirection):
        (WebCore::entryAndExitPointsForDirection):
        (WebCore::virtualRectForDirection):
        * page/WindowFeatures.cpp:
        (WebCore::WindowFeatures::WindowFeatures):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::setFrameRect):
        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::splitTrack):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        (WebCore::ScrollbarThemeChromium::paintTickmarks):
        * platform/graphics/FloatQuad.h:
        (WebCore::FloatQuad::FloatQuad):
        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::intersects):
        (WebCore::FloatRect::contains):
        (WebCore::FloatRect::intersect):
        (WebCore::FloatRect::unite):
        (WebCore::enclosingIntRect):
        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::maxX):
        (WebCore::FloatRect::maxY):
        (WebCore::FloatRect::contains):
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::intersects):
        (WebCore::IntRect::contains):
        (WebCore::IntRect::intersect):
        (WebCore::IntRect::unite):
        * platform/graphics/IntRect.h:
        (WebCore::IntRect::maxX):
        (WebCore::IntRect::maxY):
        (WebCore::IntRect::shiftXEdgeTo):
        (WebCore::IntRect::shiftMaxXEdgeTo):
        (WebCore::IntRect::shiftYEdgeTo):
        (WebCore::IntRect::shiftMaxYEdgeTo):
        (WebCore::IntRect::contains):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::copyImageBytes):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph):
        * platform/graphics/transforms/AffineTransform.cpp:
        (WebCore::AffineTransform::mapRect):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::paint):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::centerRectVerticallyInParentInputElement):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::paint):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverflowFromChildren):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::RenderBlock::inlineSelectionGaps):
        (WebCore::RenderBlock::adjustPointToColumnContents):
        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
        (WebCore::RenderBlock::adjustForColumns):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::right):
        (WebCore::RenderBlock::FloatingObject::bottom):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::reflectedRect):
        (WebCore::RenderBox::localCaretRect):
        (WebCore::RenderBox::addShadowOverflow):
        (WebCore::RenderBox::addLayoutOverflow):
        (WebCore::RenderBox::visualOverflowRectForPropagation):
        (WebCore::RenderBox::layoutOverflowRectForPropagation):
        (WebCore::RenderBox::flipForWritingMode):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paintColumnBorder):
        (WebCore::RenderFrameSet::paintRowBorder):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::getRectToExpose):
        (WebCore::cornerRect):
        (WebCore::RenderLayer::positionOverflowControls):
        (WebCore::RenderLayer::overflowBottom):
        (WebCore::RenderLayer::overflowRight):
        (WebCore::RenderLayer::paintResizer):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::rangeIntersectsRect):
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderOverflow.h:
        (WebCore::RenderOverflow::RenderOverflow):
        (WebCore::RenderOverflow::addLayoutOverflow):
        (WebCore::RenderOverflow::addVisualOverflow):
        (WebCore::RenderOverflow::setLayoutOverflow):
        (WebCore::RenderOverflow::setVisualOverflow):
        (WebCore::RenderOverflow::resetLayoutOverflow):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderScrollbarTheme.cpp:
        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintObject):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteQuads):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintMenuListButton):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::computeRectForRepaint):
        (WebCore::RenderView::docBottom):
        (WebCore::RenderView::docRight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect):

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

        Reviewed by Sam Weinig.

        Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController

        Lots of new WebCoreSystemInterface functions to export.
        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

        Let the scrollAnimator know when the mouse has
        moved anywhere inside the page, and when the mouse 
        has moved in or out of the window. 
        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved):
        (WebCore::EventHandler::updateMouseEventTargetNode):

        Let the scrollAnimator know when the window has become
        active or inactive.
        * page/FocusController.cpp:
        (WebCore::FocusController::setActive):
        
        Let the scrollAnimator know when all of these things
        are happening.
        * page/FrameView.cpp:
        (WebCore::FrameView::setContentsSize):
        (WebCore::FrameView::didMoveOnscreen):
        (WebCore::FrameView::willMoveOffscreen):
        (WebCore::FrameView::currentMousePosition):
        (WebCore::FrameView::contentsResized):
        
        New functions called through WebKit2 that allow the
        scrollAnimator to know when a live resize starts and ends.
        (WebCore::FrameView::willStartLiveResize):
        (WebCore::FrameView::willEndLiveResize):
        * page/FrameView.h:
        
        New functions on ScrollAnimator that pass information
        to the WKPainterController when we're using one.
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::scrollableArea):
        (WebCore::ScrollAnimator::contentAreaWillPaint):
        (WebCore::ScrollAnimator::mouseEnteredContentArea):
        (WebCore::ScrollAnimator::mouseExitedContentArea):
        (WebCore::ScrollAnimator::mouseMovedInContentArea):
        (WebCore::ScrollAnimator::willStartLiveResize):
        (WebCore::ScrollAnimator::contentsResized):
        (WebCore::ScrollAnimator::willEndLiveResize):
        (WebCore::ScrollAnimator::contentAreaDidShow):
        (WebCore::ScrollAnimator::contentAreaDidHide):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
        (WebCore::ScrollAnimatorMac::setPainterForPainterController):
        (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
        (WebCore::ScrollAnimatorMac::notityPositionChanged):
        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorMac::willStartLiveResize):
        (WebCore::ScrollAnimatorMac::contentsResized):
        (WebCore::ScrollAnimatorMac::willEndLiveResize):
        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
        
        Let the scrollAnimator know when this is happening.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::paint):
        
        New function lets the scrollAnimator get the current 
        mouse position.
        * platform/ScrollView.h:
        (WebCore::ScrollView::currentMousePosition):
        
        New function that returns the scrollAnimator when needed.
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollAnimator):
        
        Keep track of if we're in a live resize using a new memeber
        variable.
        * platform/mac/ScrollAnimatorMac.h:
        (WebCore::ScrollAnimatorMac::inLiveResize):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::view):
        
        New delegates for the WKPainter and WKPainterController
        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
        (-[ScrollKnobAnimation setCurrentProgress:]):
        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterDelegate convertRectToBacking:]):
        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
        (-[ScrollbarPainterDelegate layer]):
        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):

        Get the WKScrollbarPainterRefs to synch up with the 
        WKScrollbarPainterControllerRefs when appropriate
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
        (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):

        Implement ScrollableArea's virtual function contentsSize() for access
        through the scrollAnimator.
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::contentsSize):

2011-02-01  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by David Hyatt.

        layoutTestController.counterValueForElementById does not return the correct value
        https://bugs.webkit.org/show_bug.cgi?id=53037

        Test: fast/css/counters/deep-before.html

        * rendering/RenderTreeAsText.cpp:
        (WebCore::counterValueForElement):
        Modified to use the newly available RenderObject::beforePseudoElement()
        and RenderObject::afterPseudoElement() instead of the old imperfect
        algorithm to find the before and after pseudo elements.

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

        Reviewed by Adam Barth.

        Allow access for security origin same as this.
        https://bugs.webkit.org/show_bug.cgi?id=53440

        Hard to test as newly added path currently is never hit.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canAccess): allow access if this == other

2011-01-31  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Update JSObject storage for new marking API
        https://bugs.webkit.org/show_bug.cgi?id=53467

        Update WebCore to handle new anonymous slot behaviour.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        * bindings/scripts/CodeGeneratorJS.pm:

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

        Reviewed by David Hyatt.

        Fix a text rendering problem when enclosing block is RTL and text runs
        are in different directionality.
        https://bugs.webkit.org/show_bug.cgi?id=34176

        The problem happens in the following example scenario (ABC represents 
        Hebrew characters):
        <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>

        The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
        TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
        TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.

        The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.

        Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
        creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
        the run's render object's ancestor (not only its parent) has already 
        been constructed or has something following it on the line, in which 
        case, create a new box for TextRun2 instead of sharing the same box with
        TextRun3.

        In other words, the following 2 div should render the same results
        (ABC represents Hebrew characters).
        <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
        <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>

        Test: fast/dom/34176.html

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

2011-02-01  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        Do not add a node in the document's stylesheet candidate node list if the
        node is already removed from document.
        https://bugs.webkit.org/show_bug.cgi?id=53441

        Test: fast/css/stylesheet-candidate-nodes-crash.xhtml

        * dom/Document.cpp:
        (WebCore::Document::addStyleSheetCandidateNode):

2011-02-01  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
        with vertical text.

        Change printing functions to check writing-mode and properly swap width and height
        as needed.
        
        Fix the setScrollOrigin function so that the origin doesn't cause
        scroll spasming during printing (this is only partially successful, but it's better
        than it was).

        Rewrite computePageRects to handle both RTL documents properly as well as vertical
        text documents properly.

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::forceLayoutForPagination):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
        (WebCore::PrintContext::computeAutomaticScaleFactor):
        (WebCore::PrintContext::spoolPage):
        (WebCore::PrintContext::spoolRect):
        * page/PrintContext.h:
        * page/mac/WebCoreFrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformSetScrollOrigin):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):

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

        Reviewed by Pavel Feldman.

        Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.

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

        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.

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

        Adding code for accessing heap snapshot data and
        performing graph calculations.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
        (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
        (WebInspector.HeapSnapshotEdgeIterator):
        (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
        (WebInspector.HeapSnapshotNodeIterator):
        (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotEdgesProvider):
        (WebInspector.HeapSnapshotNodesProvider):
        (WebInspector.HeapSnapshotPathFinder):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._convertSnapshot):

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

        Fix linker warnings in Release_LTCG builds

        * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
        configurations, since they get pulled in via DOMAllInOne.cpp.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
        https://bugs.webkit.org/show_bug.cgi?id=53482

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector.resourceForURL):
        (WebInspector.openLinkExternallyLabel):

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

        Reviewed by Adam Barth.

        Propagate parent document security origin to newly create Document XML response
        https://bugs.webkit.org/show_bug.cgi?id=53444

        Covered by the existing tests.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):

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

        Unreviewed. Rollout r77230 which caused many layout tests
        crashes on Chromium Debug bots.

        Async event handlers should not fire within a modal dialog
        https://bugs.webkit.org/show_bug.cgi?id=53202

        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/EventQueue.cpp:
        (WebCore::EventQueue::EventQueue):
        (WebCore::EventQueue::enqueueEvent):
        (WebCore::EventQueue::pendingEventTimerFired):
        * dom/EventQueue.h:

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

        Reviewed by Dirk Schulze.

        LightElement changes does not require relayout.
        https://bugs.webkit.org/show_bug.cgi?id=53232

        When an attribute of a LightElement changes, it
        send an update message to the lighting filters
        to update its corresponding LightSource objects,
        and repaint the filters.

        Duplicated 'id' attributes removed from svg-filter-animation.svg.

        Existing dynamic-update tests covers this feature.

        5x speedup on manual-tests/svg-filter-animation.svg

        * manual-tests/svg-filter-animation.svg:
        * platform/graphics/filters/DistantLightSource.h:
        * platform/graphics/filters/FEDiffuseLighting.cpp:
        (WebCore::FEDiffuseLighting::setLightingColor):
        (WebCore::FEDiffuseLighting::setSurfaceScale):
        (WebCore::FEDiffuseLighting::setDiffuseConstant):
        (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
        (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
        * platform/graphics/filters/FEDiffuseLighting.h:
        * platform/graphics/filters/LightSource.cpp:
        (WebCore::PointLightSource::setX):
        (WebCore::PointLightSource::setY):
        (WebCore::PointLightSource::setZ):
        (WebCore::SpotLightSource::setX):
        (WebCore::SpotLightSource::setY):
        (WebCore::SpotLightSource::setZ):
        (WebCore::SpotLightSource::setPointsAtX):
        (WebCore::SpotLightSource::setPointsAtY):
        (WebCore::SpotLightSource::setPointsAtZ):
        (WebCore::SpotLightSource::setSpecularExponent):
        (WebCore::SpotLightSource::setLimitingConeAngle):
        (WebCore::DistantLightSource::setAzimuth):
        (WebCore::DistantLightSource::setElevation):
        (WebCore::LightSource::setAzimuth):
        (WebCore::LightSource::setElevation):
        (WebCore::LightSource::setX):
        (WebCore::LightSource::setY):
        (WebCore::LightSource::setZ):
        (WebCore::LightSource::setPointsAtX):
        (WebCore::LightSource::setPointsAtY):
        (WebCore::LightSource::setPointsAtZ):
        (WebCore::LightSource::setSpecularExponent):
        (WebCore::LightSource::setLimitingConeAngle):
        * platform/graphics/filters/LightSource.h:
        * platform/graphics/filters/PointLightSource.h:
        * platform/graphics/filters/SpotLightSource.h:
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
        (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
        (WebCore::SVGFEDiffuseLightingElement::build):
        (WebCore::SVGFEDiffuseLightingElement::findLightElement):
        (WebCore::SVGFEDiffuseLightingElement::findLight):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::svgAttributeChanged):
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
        * svg/SVGFilterPrimitiveStandardAttributes.h:

2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
        https://bugs.webkit.org/show_bug.cgi?id=53289

        Moving the nested class DocumentOrderedMap from Document into separate files,
        updating code where necessary.

        No new tests. (refactoring)

        * Android.mk:
        * CMakeLists.txt:
        * GNUMakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::getElementById):
        (WebCore::Document::getImageMap):
        * dom/Document.h:
        * dom/DocumentOrderedMap.cpp: Added.
        (WebCore::keyMatchesId):
        (WebCore::keyMatchesMapName):
        (WebCore::keyMatchesLowercasedMapName):
        (WebCore::DocumentOrderedMap::clear):
        (WebCore::DocumentOrderedMap::add):
        (WebCore::DocumentOrderedMap::remove):
        (WebCore::DocumentOrderedMap::get):
        (WebCore::DocumentOrderedMap::getElementById):
        (WebCore::DocumentOrderedMap::getElementByMapName):
        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
        * dom/DocumentOrderedMap.h: Added.
        (WebCore::DocumentOrderedMap::contains):
        (WebCore::DocumentOrderedMap::containsMultiple):
        * dom/DOMAllInOne.cpp:

2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] atk_text_set_caret_offset fails for list items
        https://bugs.webkit.org/show_bug.cgi?id=53388

        Allow using text ranges across list items.

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::allowsTextRanges): Add list items
        to the list of accessibility objects supporting text ranges.

2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] character range extents is off when the end of a wrapped line is included
        https://bugs.webkit.org/show_bug.cgi?id=53323

        Fixed wrong calculation getting the range extents.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_range_extents): Removed '+1' since the
        requested interval shouldn't include the last character.

2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Caret Offset is one off at the end of wrapped lines
        https://bugs.webkit.org/show_bug.cgi?id=53300

        Consider linebreaks as special cases.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (objectAndOffsetUnignored): In order to avoid getting wrong values
        when around linebreaks, we need to workaround this by explicitly
        avoiding those '\n' text nodes from affecting the result of
        calling to TextIterator:rangeLength().

2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed, rolling out r77229.
        http://trac.webkit.org/changeset/77229
        https://bugs.webkit.org/show_bug.cgi?id=53289

        revert mysterious build breakage

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/Document.cpp:
        (WebCore::Document::DocumentOrderedMap::clear):
        (WebCore::Document::DocumentOrderedMap::add):
        (WebCore::Document::DocumentOrderedMap::remove):
        (WebCore::Document::DocumentOrderedMap::get):
        (WebCore::keyMatchesId):
        (WebCore::Document::getElementById):
        (WebCore::keyMatchesMapName):
        (WebCore::keyMatchesLowercasedMapName):
        (WebCore::Document::getImageMap):
        * dom/Document.h:
        (WebCore::Document::DocumentOrderedMap::contains):
        (WebCore::Document::DocumentOrderedMap::containsMultiple):
        * dom/DocumentOrderedMap.cpp: Removed.
        * dom/DocumentOrderedMap.h: Removed.

2011-02-01  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by James Robinson.

        Async event handlers should not fire within a modal dialog
        https://bugs.webkit.org/show_bug.cgi?id=53202

        Asychronous events that use EventQueue would currently fire while a
        modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
        SuspendableTimer (which automatically gets suspended while dialogs are
        up and in other cases where JS execution is not allowed).
        
        Test: fast/events/scroll-event-during-modal-dialog.html

        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/EventQueue.cpp:
        (WebCore::EventQueueTimer::EventQueueTimer):
        (WebCore::EventQueueTimer::fired):
        (WebCore::EventQueue::EventQueue):
        (WebCore::EventQueue::enqueueEvent):
        (WebCore::EventQueue::pendingEventTimerFired):
        * dom/EventQueue.h:
        (WebCore::EventQueue::create):

2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
        https://bugs.webkit.org/show_bug.cgi?id=53289

        Moving the nested class DocumentOrderedMap from Document into separate files,
        updating code where necessary.

        No new tests. (refactoring)

        * Android.mk:
        * CMakeLists.txt:
        * GNUMakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::getElementById):
        (WebCore::Document::getImageMap):
        * dom/Document.h:
        * dom/DocumentOrderedMap.cpp: Added.
        (WebCore::keyMatchesId):
        (WebCore::keyMatchesMapName):
        (WebCore::keyMatchesLowercasedMapName):
        (WebCore::DocumentOrderedMap::clear):
        (WebCore::DocumentOrderedMap::add):
        (WebCore::DocumentOrderedMap::remove):
        (WebCore::DocumentOrderedMap::get):
        (WebCore::DocumentOrderedMap::getElementById):
        (WebCore::DocumentOrderedMap::getElementByMapName):
        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
        * dom/DocumentOrderedMap.h: Added.
        (WebCore::DocumentOrderedMap::contains):
        (WebCore::DocumentOrderedMap::containsMultiple):
        * dom/DOMAllInOne.cpp:

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

        Reviewed by Darin Fisher.

        [Chromium] Autofill should work with HTML5 form elements
        https://bugs.webkit.org/show_bug.cgi?id=51809
        http://crbug.com/65654

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

        * html/InputType.h: Insert comment for canSetSuggestedValue().
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
        * html/TextFieldInputType.h: Declare canSetSuggestedValue().
        * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
        * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.

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

        Reviewed by Dan Bernstein.

        REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
        https://bugs.webkit.org/show_bug.cgi?id=53272

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().

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

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=53466
        Move WebKit2 to printing via API methods

        * WebCore.exp.in: Export IntRect::scale().

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

        Reviewed by Adam Barth.

        Remove obsolete comment after r41871
        https://bugs.webkit.org/show_bug.cgi?id=53406

        * dom/Document.h:

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

        Fix according to reviewer comments: can just use Color::black now.

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::drawInsetShadow):
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):

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

        Reviewed by Sam Weinig.

        Clean up ShadowBlur
        https://bugs.webkit.org/show_bug.cgi?id=53472

        Some minor ShadowBlur cleanup.

        * platform/graphics/ShadowBlur.h:
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
        paramter.
        (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
        (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
        layerRect. Make frameSize a float.
        (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
        layerRect rather than calling calculateLayerBoundingRect() to compute
        it itself, since we were calling calculateLayerBoundingRect() twice.
        (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
        only once. The shadowRect variable was unused, so two return paths could be
        collapsed into one.
        (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
        beginShadowLayer() now.
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
        We always used alpha=1, so no need to pass that in.
        (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
        pass that in. Move shadowRect down to first use.
        ShadowBlur::clipBounds() was unused.

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
        https://bugs.webkit.org/show_bug.cgi?id=46748

        This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
        Added a regression test to tst_QWebFrame.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::QtInstance):

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

        Reviewed by Dimitri Glazkov.
        
        Convert <progress> shadow DOM to a DOM-based shadow.
        https://bugs.webkit.org/show_bug.cgi?id=50660

        * Removed RenderProgress::m_valuePart, moved the shadow node
          to the shadow root of HTMLProgressElement.
        * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
          ProgressBarValueElement is defined only for overriding
          shadowPseudoId().
        
        No new tests. No behavioral change.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * html/HTMLProgressElement.cpp:
        (WebCore::ProgressBarValueElement::ProgressBarValueElement):
        (WebCore::ProgressBarValueElement::shadowPseudoId):
        (WebCore::ProgressBarValueElement::create):
        (WebCore::ProgressBarValueElement::detach):
        (WebCore::HTMLProgressElement::parseMappedAttribute):
        (WebCore::HTMLProgressElement::attach):
        (WebCore::HTMLProgressElement::valuePart):
        (WebCore::HTMLProgressElement::didElementStateChange):
        (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
        * html/HTMLProgressElement.h:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::~RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::layoutParts):
        (WebCore::RenderProgress::shouldHaveParts):
        (WebCore::RenderProgress::valuePart):
        * rendering/RenderProgress.h:
        * rendering/style/RenderStyleConstants.h:

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

        Reviewed by Mihai Parparita.

        Add sanity check to help diagnose bug 52819
        https://bugs.webkit.org/show_bug.cgi?id=53402

        Crash early if the children of fromItem look invalid.

        * loader/HistoryController.cpp:

2011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>

        Reviewed by Andreas Kling.

        [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
        https://bugs.webkit.org/show_bug.cgi?id=53325

        Reimplement paintCurrentFrameInContext() rather than delegate the
        rendering to paint() to make sure we really do get the video frame
        content into the GraphicsContext, regardless of accelerated
        compositing and the video scene state.

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

2011-01-31  Emil A Eklund  <eae@chromium.org>

        Reviewed by Darin Adler.

        Setting "selected" attribute to false should have no effect in single line <select>
        https://bugs.webkit.org/show_bug.cgi?id=52436

        Change SelectElement::setSelectedIndex to select the first selectable
        option when the select state of all options is set to false as required
        by the HTML5 specification.

        Test: fast/dom/HTMLSelectElement/selected-false.html

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

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: Console source references need a left-margin
        https://bugs.webkit.org/show_bug.cgi?id=53308

        * inspector/front-end/inspector.css:
        (.console-message-url): Added a 4px margin on the left.

2011-01-31  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by David Hyatt.

        Code Changes only.

        It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
        https://bugs.webkit.org/show_bug.cgi?id=53024

        No new tests. No change in functionality

        * rendering/RenderObject.h:
        (WebCore::RenderObject::before):
        (WebCore::RenderObject::after):
        (WebCore::RenderObject::generatingNode):
        Added new accessors for the use of the CSS 2.1 counters code
        (mainlyly)
        * rendering/RenderObjectChildList.cpp:
        (WebCore::beforeAfterContainer):
        (WebCore::RenderObjectChildList::invalidateCounters):
        (WebCore::RenderObjectChildList::before):
        (WebCore::RenderObjectChildList::after):
        Refactored the code to take advantage of the new accessors.
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
        Changed to store the generating node in the :before and :after
        renderers.
        * rendering/RenderObjectChildList.h:

2011-01-31  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>

        Reviewed by David Hyatt.

        Add background-clip to background shorthand
        https://bugs.webkit.org/show_bug.cgi?id=52080

        Added background-clip to background-shorthand. Also made changes to
        include webkitMaskClip to the mask shorthand to keep both in sync.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):

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

        Reviewed by Adele Peterson.

        WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
        https://bugs.webkit.org/show_bug.cgi?id=53460

        * editing/EditorCommand.cpp:
        (WebCore::executeScrollPageBackward): Added.
        (WebCore::executeScrollPageForward): Added.
        (WebCore::executeScrollToBeginningOfDocument): Added.
        (WebCore::executeScrollToEndOfDocument): Added.
        (WebCore::createCommandMap): Added the four commands above to the map.

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

        Reviewed by Adele Peterson.

        Inter-ideograph justification should apply to hiragana and katakana as well
        https://bugs.webkit.org/show_bug.cgi?id=53464

        Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().

        * platform/graphics/Font.cpp:
        (WebCore::Font::expansionOpportunityCount):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

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

        Reviewed by James Robinson.

        REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
        https://bugs.webkit.org/show_bug.cgi?id=53314

        Fixes media/controls-strict.html on Chromium.

        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
            Added proper box-sizing to avoid differences between strict/quirks mode.

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

        Reviewed by Dimitri Glazkov.

        Validation message bubble shouldn't inherit text-security style
        https://bugs.webkit.org/show_bug.cgi?id=53457

        No new tests because the validation message feature depends on timers
        and is enabled only in Chromium port.

        * css/html.css:
        (::-webkit-validation-bubble): Reset -webkit-text-security.

2011-01-31  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
        https://bugs.webkit.org/show_bug.cgi?id=53271

        Reapplying this patch again. 
        The removal of this patch in <http://trac.webkit.org/changeset/77125>
        as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
        removed the both the first (failing) patch (r76893) and this fixed 
        patch (r76969).  This patch includes slight changes necessitated by
        r77151.

        Reapplying this patch with the change that the second ASSERT in 
        RootObject::removeRuntimeObject was changed to use
        .uncheckedGet() instead of the failing .get().  The object in question
        could be in the process of being GC'ed.  The get() call will not return
        such an object while the uncheckedGet() call will return the (unsafe) 
        object.  This is the behavior we want.

        Precautionary change.
        Changed RootObject to use WeakGCMap instead of HashSet.
        Found will looking for another issue, but can't produce a test case
        that is problematic.  THerefore there aren't any new tests.

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::addRuntimeObject):
        (JSC::Bindings::RootObject::removeRuntimeObject):
        * bridge/runtime_root.h:

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

        Unbreak Qt build after r77151.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):

2011-01-31  takano takumi  <takano@apple.com>

        Reviewed by Dave Hyatt.

        Implement text-combine rendering code
        https://bugs.webkit.org/show_bug.cgi?id=50621

        Test: fast/text/international/text-combine-image-test.html

        * Android.mk: Added RenderCombineText.cpp/h
        * CMakeLists.txt: Added RenderCombineText.cpp/h
        * GNUmakefile.am: Added RenderCombineText.cpp/h
        * WebCore.exp.in:
        * WebCore.gypi: Added RenderCombineText.cpp/h
        * WebCore.pro: Added RenderCombineText.cpp/h
        * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
        * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        - Added fontDescription.widthVariant to SimpleFontData creation.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
        * dom/Text.cpp:
        (WebCore::Text::createRenderer):
        - Changed to create RenderCombineText in case of TextCombine.
        * loader/cache/CachedFont.cpp:
        (WebCore::CachedFont::platformDataFromCustomData):
        - Added FontWidthVariant as an argument for FontPlatformData creation.
        * loader/cache/CachedFont.h:
        - Ditto.
        * platform/graphics/Font.h:
        (WebCore::Font::widthVariant):
        - The accessor to FontWidthVariant member variable.
        * platform/graphics/FontCache.cpp:
        - Made cache to incorporate FontWidthVariant value.
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        (WebCore::FontPlatformDataCacheKey::operator==):
        (WebCore::computeHash):
        (WebCore::FontCache::getCachedFontPlatformData):
        * platform/graphics/FontDescription.h:
        - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::widthVariant):
        (WebCore::FontDescription::setWidthVariant):
        (WebCore::FontDescription::operator==):
        * platform/graphics/FontWidthVariant.h: Added.
        * platform/graphics/cairo/FontCustomPlatformData.h:
        - Changed to carry FontWidthVariant value.
        * platform/graphics/cocoa/FontPlatformData.h:
        - Changed to carry FontWidthVariant value.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::widthVariant):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        - Changed to carry FontWidthVariant value.
        (WebCore::FontPlatformData::operator=):
        - Ditto.
        (WebCore::mapFontWidthVariantToCTFeatureSelector):
        - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
        (WebCore::FontPlatformData::ctFont):
        - Changed to create CTFont with text spacing variant based on FontWidthVariant.
        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Changed to carry FontWidthVariant value.
        * platform/graphics/haiku/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Changed to carry FontWidthVariant value.
        * platform/graphics/haiku/FontCustomPlatformData.h:
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData):
        - Changed to carry FontWidthVariant value.
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Changed to carry FontWidthVariant value.
        * platform/graphics/mac/FontCustomPlatformData.h:
        - Ditto.
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::shouldUseCoreText):
        - Changed to skip CT path when width variant is specified.
        * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/qt/FontCustomPlatformData.h:
        - Ditto.
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/skia/FontCustomPlatformData.h:
        - Ditto.
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/win/FontCustomPlatformData.h:
        - Ditto.
        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
        - Ditto.
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        - Ditto.
        * platform/graphics/wince/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/wince/FontCustomPlatformData.h:
        - Ditto.
        * platform/graphics/wx/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        - Ditto.
        * platform/graphics/wx/FontCustomPlatformData.h:
        - Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
        instead of text returned from text().
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        - Made to call RenderCombinedText's prepareTextCombine() here.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::textWidth):
        - Made to always use the render object's width() in case of TextCombine.
        (WebCore::RenderBlock::findNextLineBreak):
        - Made to call RenderCombinedText's prepareTextCombine() here.
        * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
        (WebCore::RenderCombineText::RenderCombineText):
        (WebCore::RenderCombineText::styleDidChange):
        - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
        the next call of RenderBlock::findNextLineBreak().
        (WebCore::RenderCombineText::setTextInternal):
        - Ditto.
        (WebCore::RenderCombineText::width):
        - Returns 1-em width in case of font combine.
        (WebCore::RenderCombineText::adjustTextOrigin):
        - Adjust drawing origin point in case of font combine.
        (WebCore::RenderCombineText::charactersToRender):
        - Return original text instead of current text in case of font combine.
        (WebCore::RenderCombineText::combineText):
        - This function tries to pack passed text with; 1) the current font as is, 2) the font created
        from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
        with quarter-width variant.
        - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
        we give up text-combine as the CSS spec describes.
        - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
        behave like a single character against text decorations.
        * rendering/RenderCombineText.h: Added.
        (WebCore::RenderCombineText::isCombined):
        (WebCore::RenderCombineText::combinedTextWidth):
        - Returns 1-em width in case of font combine.
        (WebCore::RenderCombineText::renderName):
        (WebCore::toRenderCombineText):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::widthFromCache):
        - Made to call RenderCombineText's combinedTextWidth when the text is combined.
        * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hasTextCombine):
        - Added for a quick test of TextCombine.

2011-01-31  Oliver Hunt  <oliver@apple.com>

        Convert markstack to a slot visitor API
        https://bugs.webkit.org/show_bug.cgi?id=53219

        rolling r77098, r77099, r77100, r77109, and
        r77111 back in, along with a few more Qt fix attempts.

        * ForwardingHeaders/runtime/WriteBarrier.h: Added.
        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.h:
        (WebCore::DOMWrapperWorld::globalData):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markDOMNodesForDocument):
        (WebCore::markDOMObjectWrapper):
        (WebCore::markDOMNodeWrapper):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        (WebCore::JSDOMGlobalObject::injectedScript):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::DialogHandler::dialogCreated):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::markChildren):
        (WebCore::JSDOMWindowShell::unwrappedObject):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::createAccelerationObject):
        (WebCore::createRotationRateObject):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::markJSFunction):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::setAll):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::markAggregate):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::fallbackObject):
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::QtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        * bridge/qt/qt_runtime.h:
        * dom/Document.h:

2011-01-31  Dan Winship  <danw@gnome.org>

        Reviewed by Gustavo Noronha Silva.

        wss (websockets ssl) support for gtk via new gio TLS support
        https://bugs.webkit.org/show_bug.cgi?id=50344

        Update to use GPollableOutputStream and GTlsConnection to
        implement wss URLs

        * platform/network/soup/SocketStreamHandle.h:
        * platform/network/soup/SocketStreamHandleSoup.cpp:
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::connected):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
        (WebCore::writeReadyCallback):

2011-01-31  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        Check the textarea node still exists in document before casting
        it to HTMLTextAreaElement.
        https://bugs.webkit.org/show_bug.cgi?id=53429

        Test: fast/forms/textarea-node-removed-from-document-crash.html

        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):

2011-01-27  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        If beforeChild is wrapped in an anonymous table section, we need to
        go the parent to find it and use it before adding childs to table.
        https://bugs.webkit.org/show_bug.cgi?id=53276

        We need to make sure that beforeChild's parent is "this" before calling
        RenderBox::addChild. The previous condition in while is too restrictive
        and fails to calculate the right beforeChild value when its display
        style is table caption.
        Test: fast/table/before-child-non-table-section-add-table-crash.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):

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

        Reviewed by Simon Fraser.

        AffineTransform::translateRight incorrectly computes a translateLeft.
        https://bugs.webkit.org/show_bug.cgi?id=52551

        Removed translateRight and converted all uses to perform standard
        matrix multiplication.

        No new tests because patch doesn't modify functionality.

        * platform/graphics/transforms/AffineTransform.cpp:
        * platform/graphics/transforms/AffineTransform.h:
        (WebCore::AffineTransform::translation):
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::localToParentTransform):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
        (WebCore::RenderSVGRoot::localToParentTransform):
        * rendering/svg/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::localToParentTransform):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):

2011-01-31  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
        https://bugs.webkit.org/show_bug.cgi?id=53389

        Return FALSE when not able to set the caret at the specified offset.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_set_caret_offset): Return FALSE when the
        range created is NULL and adjust offset to account for list markers.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: copy HAR to clipboard instead of saving blob on export.
        https://bugs.webkit.org/show_bug.cgi?id=53328

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._exportAll):
        (WebInspector.NetworkPanel.prototype._exportResource):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: speed up network panel rendering.
        https://bugs.webkit.org/show_bug.cgi?id=53397

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype.get scrollContainer):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
        (WebInspector.NetworkPanel.prototype._createTable):
        (WebInspector.NetworkPanel.prototype._exportResource):
        (WebInspector.NetworkPanel.prototype._onScroll):
        * inspector/front-end/networkPanel.css:
        (.network-sidebar .data-grid.small tr.offscreen):
        (.network-sidebar .data-grid tr.offscreen):
        (.network-sidebar .data-grid tr.offscreen td):

2011-01-31  Peter Varga  <pvarga@webkit.org>

        Reviewed by Andreas Kling.

        Remove wrec from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=53298

        No new tests needed.

        * Android.jscbindings.mk:
        * ForwardingHeaders/wrec/WREC.h: Removed.
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/copyForwardingHeaders.cmd:

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

        Unreviewed, rolling out r76969.
        http://trac.webkit.org/changeset/76969
        https://bugs.webkit.org/show_bug.cgi?id=53418

        "It is causing crashes in GTK+ and Leopard bots" (Requested by
        alexg__ on #webkit).

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::addRuntimeObject):
        (JSC::Bindings::RootObject::removeRuntimeObject):
        * bridge/runtime_root.h:

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

        Not reviewed.

        Spelling.

        * css/CSSSelectorList.h:
        (WebCore::CSSSelectorList::next):

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

        Unreviewed. Fix Chromium compilation on Linux.

        * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
        * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include

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

        Unreviewed. Fix Chromium compilation on Mac broken by r77101.

        * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.

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

        Reviewed by Yury Semikhatsky.

        WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):

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

        Unreviewed, fix the build with current GTK+ 3.x.

        * plugins/gtk/gtk2xtbin.c:
        * plugins/gtk/gtk2xtbin.h:

2011-01-30  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        Dangling form associated elements should not be registered on the document
        https://bugs.webkit.org/show_bug.cgi?id=53223

        Adds insertedIntoDocument() and remvoedFromDocument() to
        FormAssociatedElement class to register the element on the document
        if and only if it actually inserted into (removed from) the document.

        Test: fast/forms/dangling-form-element-crash.html

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
        (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
        (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
        the element to a document.
        (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
        the element from a document.
        * html/FormAssociatedElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
        (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
        * html/HTMLFormControlElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
        FormAssociatedElement::insertedIntoDocument().
        (WebCore::HTMLObjectElement::removedFromDocument): Calls
        FormAssociatedElement::removedFromDocument().

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

        Unreviewed, rolling out r77098, r77099, r77100, r77109, and
        r77111.
        http://trac.webkit.org/changeset/77098
        http://trac.webkit.org/changeset/77099
        http://trac.webkit.org/changeset/77100
        http://trac.webkit.org/changeset/77109
        http://trac.webkit.org/changeset/77111
        https://bugs.webkit.org/show_bug.cgi?id=53219

        Qt build is broken

        * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markDOMNodesForDocument):
        (WebCore::markDOMObjectWrapper):
        (WebCore::markDOMNodeWrapper):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        (WebCore::JSDOMGlobalObject::injectedScript):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::DialogHandler::dialogCreated):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::markChildren):
        (WebCore::JSDOMWindowShell::unwrappedObject):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::createAccelerationObject):
        (WebCore::createRotationRateObject):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::markJSFunction):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::setAll):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::markAggregate):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::QtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        * bridge/runtime_root.h:
        * dom/Document.h:

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

        Unreviewed, rolling out r77107.
        http://trac.webkit.org/changeset/77107
        https://bugs.webkit.org/show_bug.cgi?id=53412

        Caused 5 new form-related test crashes (Requested by smfr on
        #webkit).

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::parseMappedAttribute):
        (WebCore::HTMLProgressElement::attach):
        * html/HTMLProgressElement.h:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::~RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::layoutParts):
        (WebCore::RenderProgress::shouldHaveParts):
        * rendering/RenderProgress.h:
        * rendering/style/RenderStyleConstants.h:

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

        Reviewed by Sam Weinig.

        Enhance ShadowBlur to render inset box shadows
        https://bugs.webkit.org/show_bug.cgi?id=51567
        
        Use ShadowBlur for inset box-shadows with CG. It 
        currently lacks a tiled version, but is still much
        faster than CG shadows.

        Test: fast/box-shadow/inset-box-shadow-radius.html

        * platform/graphics/ShadowBlur.cpp:
        * platform/graphics/ShadowBlur.h: New method for inset
        shadows.
        (WebCore::ShadowBlur::drawInsetShadow): 

        * platform/graphics/GraphicsContext.cpp: #ifdef out
        fillRectWithRoundedHole() for CG.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
        a shadow with a radius > 0, use ShadowBlur.

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

        Reviewed by Chris Marrin.

        WebGL shows PNG Textures with indexed colors too dark
        https://bugs.webkit.org/show_bug.cgi?id=47477

        Properly handle indexed PNG images by re-rendering them as RGBA
        images before upload. Verified with this layout test and the test
        cases from bugs 47477 and 53269.

        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):

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

        Reviewed by Dimitri Glazkov.
        
        Convert <progress> shadow DOM to a DOM-based shadow.
        https://bugs.webkit.org/show_bug.cgi?id=50660

        * Removed RenderProgress::m_valuePart, moved the shadow node
          to the shadow root of HTMLProgressElement.
        * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
          ProgressBarValueElement is defined only for overriding
          shadowPseudoId().
        
        No new tests. No behavioral change.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * html/HTMLProgressElement.cpp:
        (WebCore::ProgressBarValueElement::ProgressBarValueElement):
        (WebCore::ProgressBarValueElement::shadowPseudoId):
        (WebCore::ProgressBarValueElement::create):
        (WebCore::HTMLProgressElement::parseMappedAttribute):
        (WebCore::HTMLProgressElement::attach):
        (WebCore::HTMLProgressElement::valuePart):
        (WebCore::HTMLProgressElement::didElementStateChange):
        (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
        * html/HTMLProgressElement.h:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::~RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::layoutParts):
        (WebCore::RenderProgress::shouldHaveParts):
        (WebCore::RenderProgress::valuePart):
        * rendering/RenderProgress.h:
        * rendering/style/RenderStyleConstants.h:

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

        Reviewed by Ariya Hidayat.

        Enhance ShadowBlur to render inset box shadows; Part 1.
        https://bugs.webkit.org/show_bug.cgi?id=51567
        
        Add a new method to GraphicsContext to render a rect with a rounded hole,
        for use by inset box-shadow code. Knowledge that we're rendering a rounded
        hole will enable ShadowBlur to be used here in future.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::fillRectWithRoundedHole):
        * platform/graphics/GraphicsContext.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow):

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

        Reviewed by Eric Seidel.

        REGRESSION: Inset shadow with too large border radius misses rounded corner.
        https://bugs.webkit.org/show_bug.cgi?id=52800

        The refactoring on r76083 broke the invariant between border
        IntRect and its radii because RoundedIntRect::setRect() is called
        after getRoundedInnerBorderWithBorderWidths(), which enforces the
        invariant. Th rounded-rect clipping code verifies the invariant,
        and discard the invalid radii, that results broken paintings.
        
        This change moved setRect() before
        getRoundedInnerBorderWithBorderWidths() not to modify the valid
        RoundedIntRect value.
        
        Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html

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

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

        Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
        vcproj.

        * WebCore.vcproj/WebCore.vcproj:

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

        Reviewed by Dan Bernstein.

        -webkit-box-shadow causes awful scroll/resize/redraw performance
        https://bugs.webkit.org/show_bug.cgi?id=22102
        
        Use ShadowBlur for CG, whe rendering shadows on rects and
        rounded rects outside of canvas.
        
        CG shadows with a radius of more than 8px do not render
        correctly. We preserve this incorrect rendering by compensating
        for it when rending -webkit-box-shadow. Calls that should use
        this deprecated radius behavior now use setLegacyShadow().

        Test: fast/box-shadow/box-shadow-transformed.html
        
        * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
        for canvas, to indicate that it should use the deprecated radius
        behavior.
        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
        (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
        (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
        
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
        
        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextState::GraphicsContextState): Add a 
        shadowsUseLegacyRadius bit to the state.
        
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::radiusToLegacyRadius): Map from the actual radius to one
        that approximates CG behavior.
        (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
        with a non-zero blur radius.
        (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
        (WebCore::GraphicsContext::fillRoundedRect): Ditto.
        (WebCore::GraphicsContext::setPlatformShadow): Comment.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
        for -webkit-box-shadow.

        * platform/graphics/ShadowBlur.cpp: 
        (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
        by rounding up the blur radius.
        (WebCore::ShadowBlur::drawRectShadow): Ditto
        (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.

2011-01-30  Oliver Hunt  <oliver@apple.com>

        Try to fix Qt build (again).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):

2011-01-30  Oliver Hunt  <oliver@apple.com>

        Try to fix Qt build.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::QtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        * bridge/qt/qt_instance.h:

2011-01-30  Oliver Hunt  <oliver@apple.com>

        Convert markstack to a slot visitor API
        https://bugs.webkit.org/show_bug.cgi?id=53219

        rolling r77006 and r77020 back in.

        * ForwardingHeaders/runtime/WriteBarrier.h: Added.
        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.h:
        (WebCore::DOMWrapperWorld::globalData):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markDOMNodesForDocument):
        (WebCore::markDOMObjectWrapper):
        (WebCore::markDOMNodeWrapper):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        (WebCore::JSDOMGlobalObject::injectedScript):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::DialogHandler::dialogCreated):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::markChildren):
        (WebCore::JSDOMWindowShell::unwrappedObject):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::createAccelerationObject):
        (WebCore::createRotationRateObject):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::markJSFunction):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::setAll):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::markAggregate):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        * bridge/runtime_root.h:
        * dom/Document.h:

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

        Reviewed by Sam Weinig.

        Make ContextShadow code cross-platform
        https://bugs.webkit.org/show_bug.cgi?id=51312

        Add a new class, ShadowBlur, that contains most of the
        code from ContextShadow, but is fully cross-platform.
        It depends on one new method, GraphicsContext::clipBounds(),
        which platforms will have to implement.
        
        Add ShadowBlur to the Mac Xcode project, but don't use it
        anywhere yet.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::clipBounds):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ShadowBlur.cpp: Added.
        (WebCore::roundUpToMultipleOf32):
        (WebCore::ScratchBuffer::ScratchBuffer):
        (WebCore::ScratchBuffer::getScratchBuffer):
        (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
        (WebCore::ScratchBuffer::timerFired):
        (WebCore::ScratchBuffer::clearScratchBuffer):
        (WebCore::ScratchBuffer::shared):
        (WebCore::ShadowBlur::ShadowBlur):
        (WebCore::ShadowBlur::blurLayerImage):
        (WebCore::ShadowBlur::adjustBlurDistance):
        (WebCore::ShadowBlur::calculateLayerBoundingRect):
        (WebCore::ShadowBlur::beginShadowLayer):
        (WebCore::ShadowBlur::endShadowLayer):
        (WebCore::ShadowBlur::drawRectShadow):
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):
        (WebCore::ShadowBlur::clipBounds):
        * platform/graphics/ShadowBlur.h: Added.
        (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
        (WebCore::ShadowBlur::shadowsIgnoreTransforms):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::clipBounds):

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

        Reviewed by Dan Bernstein.

        CSS3 gradients with em-based stops fail to repaint when font size changes
        https://bugs.webkit.org/show_bug.cgi?id=51845
        
        Mark as uncacheable gradidients whose color stops depend on font size,
        and don't attempt to put these into CSSImageGeneratorValue's image cache.
        This means we return a new gradient each time, which is fairly cheap, and
        fixes repaint issues under changing font size.

        Test: fast/repaint/gradients-em-stops-repaint.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::image):
        (WebCore::CSSGradientValue::isCacheable):
        * css/CSSGradientValue.h:

2011-01-29  Geoffrey Garen  <ggaren@apple.com>

        Undo try to fix the Qt build.
        
        My guess didn't work.

        * WebCore.pro:

2011-01-29  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the Qt build.

        * WebCore.pro: Added platform/text/CharacterNames.h.

2011-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.

        Some more Heap cleanup.
        https://bugs.webkit.org/show_bug.cgi?id=53357
        
        Updated for JavaScriptCore changes.

        * bindings/js/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::getHeapSize):

2011-01-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Fix XSSFilter crash when extracting the source for a token twice
        https://bugs.webkit.org/show_bug.cgi?id=53368

        Previously, it was unsafe to extract the source for the same token
        twice because the HTMLSourceTracker would advance its internal
        representation of the SegmentedString.  This patch introduces a cache
        to make calling HTMLSourceTracker::sourceForToken multiple times safe.

        * html/parser/HTMLSourceTracker.cpp:
        (WebCore::HTMLSourceTracker::end):
        (WebCore::HTMLSourceTracker::sourceForToken):
        * html/parser/HTMLSourceTracker.h:

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

        Reviewed by Dan Bernstein.

        Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
        https://bugs.webkit.org/show_bug.cgi?id=53386

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::scrollWheelMultiplier):
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorMac::beginScrollGesture):
        (WebCore::roundTowardZero):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-01-29  Daniel Bates  <dbates@rim.com>

        Reviewed by Maciej Stachowiak.

        Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
        https://bugs.webkit.org/show_bug.cgi?id=53382

        Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
        So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
        Therefore, we should remove such references.

        * CMakeLists.txt:

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

        Reviewed by Jon Honeycutt.

        Fix 32-bit build on the Mac.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::roundTowardZero):
        (WebCore::roundToDevicePixelTowardZero):
        Use floats instead of doubles to avoid double-to-float conversion
        issues.

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

        Reviewed by Adam Barth.

        Use clampToInteger() functions in a few places
        https://bugs.webkit.org/show_bug.cgi?id=53363
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
        (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
        * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
        (WebCore::PerspectiveTransformOperation::blend): Ditto.

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

        Reviewed by David Kilzer.

        Move CharacterNames.h into WTF directory
        https://bugs.webkit.org/show_bug.cgi?id=49618

        * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityRenderObject.cpp:
        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
        * bindings/js/JSHTMLDocumentCustom.cpp:
        * dom/Position.cpp:
        * dom/SelectElement.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/Editor.cpp:
        * editing/HTMLInterchange.cpp:
        * editing/InsertTextCommand.cpp:
        * editing/MarkupAccumulator.cpp:
        * editing/TextIterator.cpp:
        * editing/VisibleSelection.cpp:
        * editing/htmlediting.cpp:
        * editing/htmlediting.h:
        * editing/markup.cpp:
        * html/FTPDirectoryDocument.cpp:
        * html/HTMLFormControlElement.cpp:
        * html/parser/HTMLTreeBuilder.cpp:
        * loader/appcache/ManifestParser.cpp:
        * platform/chromium/PopupMenuChromium.cpp:
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        * platform/graphics/GlyphPageTreeNode.cpp:
        * platform/graphics/StringTruncator.cpp:
        * platform/graphics/mac/ComplexTextController.cpp:
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        * platform/mac/PasteboardMac.mm:
        * platform/text/TextCodecICU.cpp:
        * platform/text/mac/TextCodecMac.cpp:
        * platform/text/transcoder/FontTranscoder.cpp:
        * rendering/RenderBlockLineLayout.cpp:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderText.cpp:
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTreeAsText.cpp:
        * rendering/break_lines.cpp:
        * rendering/mathml/RenderMathMLOperator.h:
        * websockets/WebSocketHandshake.cpp:
        * wml/WMLTableElement.cpp:

2011-01-29  Dan Winship  <danw@gnome.org>

        Reviewed by Xan Lopez.

        [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
        libsoup 2.33.1 now.
        https://bugs.webkit.org/show_bug.cgi?id=50675

        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::defaultCookieJar):
        (WebCore::setCookies):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::prepareForURL):
        (WebCore::restartedCallback):
        (WebCore::startHttp):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateSoupMessage):
        (WebCore::ResourceRequest::toSoupMessage):
        (WebCore::ResourceRequest::updateFromSoupMessage):

2011-01-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSSFilter should replace URLs with about:blank instead of the empty string
        https://bugs.webkit.org/show_bug.cgi?id=53370

        Using the empty string will make the URL complete to the current
        document's URL, which isn't really what we want.  Instead, we want to
        use about:blank, which is safe.

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterObjectToken):
        (WebCore::XSSFilter::filterEmbedToken):

2011-01-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSSFilter should pass xssAuditor/script-tag-addslashes*
        https://bugs.webkit.org/show_bug.cgi?id=53365

        We need to canonicalize strings to avoid being tricked by addslashes.

        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::isNonCanonicalCharacter):
            - This function is copied from the XSSAuditor (with some tweaks).
              We'll eventually remove the XSSAuditor once we've got XSSFilter
              working properly.
        (WebCore::HTMLNames::canonicalize):
        (WebCore::HTMLNames::decodeURL):
        (WebCore::XSSFilter::isContainedInRequest):

2011-01-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
        and xssAuditor/script-tag-post-*
        https://bugs.webkit.org/show_bug.cgi?id=53364

        We're supposed to allow loading same-origin resources even if they
        appear as part of the request.

        Also, we're supposed to look at the POST data too.  :)

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::eraseAttributeIfInjected):
        (WebCore::XSSFilter::isSameOriginResource):
            - Copy/paste from XSSAuditor::isSameOriginResource.  We'll
              eventually remove the XSSAuditor version when XSSFilter is done.
        * html/parser/XSSFilter.h:

2011-01-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSSFilter should pass 16 of the xssAuditor/script-tag* tests
        https://bugs.webkit.org/show_bug.cgi?id=53362

        Turns out we need to replace the src attribute of script tags with
        about:blank to avoid loading the main document URL as a script.  Also,
        move misplaced return statement that was triggering the console message
        too often.

        * html/parser/HTMLToken.h:
        (WebCore::HTMLToken::appendToAttributeValue):
        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterScriptToken):
        (WebCore::XSSFilter::eraseAttributeIfInjected):
        * html/parser/XSSFilter.h:

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

        Downloads in WK2 on Windows should write resume data to bundle
        https://bugs.webkit.org/show_bug.cgi?id=53282
        <rdar://problem/8753077>

        Reviewed by Alice Liu.

        * WebCore.vcproj/WebCore.vcproj:
        Added new files to project.

        * platform/network/cf/DownloadBundle.h: Added.
        * platform/network/win/DownloadBundleWin.cpp: Added.
        (WebCore::DownloadBundle::magicNumber):
        Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
        it.
        (WebCore::DownloadBundle::fileExtension):
        Ditto.
        (WebCore::DownloadBundle::appendResumeData):
        Ditto - but modified to return bool rather than HRESULT and to clean up
        whitespace.
        (WebCore::DownloadBundle::extractResumeData):
        Ditto - modified to clean up whitespace.

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

        Unreviewed, rolling out r77050.
        http://trac.webkit.org/changeset/77050
        https://bugs.webkit.org/show_bug.cgi?id=53371

        Caused a crash in Chromium's test_shell_tests (Requested by
        rniwa on #webkit).

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
        * html/parser/HTMLTreeBuilder.h:

2011-01-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
        https://bugs.webkit.org/show_bug.cgi?id=48719

        It's unclear exactly what the Peacekeeper benchmark is testing,
        because I haven't found a way to run it myself.

        However, I constructed a benchmark which shows at least one possible slow point.
        The HTML5 spec talks about creating a new document for every time we use
        the fragment parsing algorithm.  Document() it turns out, it a huge bloated
        mess, and the constructor and destructor do a huge amount of work.
        To avoid constructing (or destructing) documents for each innerHTML call,
        this patch adds a shared dummy document used by all innerHTML calls.

        This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
        to only 1.5x slower than Safari 5.  I'm sure there is more work to do here.

        Saving a shared Document like this is error prone.  Currently
        DummyDocumentFactory::releaseDocument() calls removeAllChildren()
        in an attempt to clear the Document's state. However it's possible
        that that call is not sufficient and we'll have future bugs here.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::DummyDocumentFactory::createDummyDocument):
        (WebCore::DummyDocumentFactory::releaseDocument):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
        * html/parser/HTMLTreeBuilder.h:

2011-01-28  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
        The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
        https://bugs.webkit.org/show_bug.cgi?id=53244

        Test: fast/events/popup-blocked-from-iframe-src.html

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):

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

        Reviewed by Gavin Barraclough.

        Add various clampToInt() methods to MathExtras.h
        https://bugs.webkit.org/show_bug.cgi?id=52910

        Use clampToInteger() from MathExtras.h

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

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

        Unreviewed, rolling out r77006 and r77020.
        http://trac.webkit.org/changeset/77006
        http://trac.webkit.org/changeset/77020
        https://bugs.webkit.org/show_bug.cgi?id=53360

        "Broke Windows tests" (Requested by rniwa on #webkit).

        * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markDOMNodesForDocument):
        (WebCore::markDOMObjectWrapper):
        (WebCore::markDOMNodeWrapper):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        (WebCore::JSDOMGlobalObject::injectedScript):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::DialogHandler::dialogCreated):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::markChildren):
        (WebCore::JSDOMWindowShell::unwrappedObject):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::createAccelerationObject):
        (WebCore::createRotationRateObject):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::markJSFunction):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::setAll):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::markAggregate):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        * bridge/runtime_root.h:
        * dom/Document.h:

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

        Reviewed by Eric Seidel.

        XSSFilter should log to the console when it blocks something
        https://bugs.webkit.org/show_bug.cgi?id=53354

        This patch refactors a bunch of methods in XSSFilter to return a bool
        indicating whether they blocked anything.  Using this bool, we decide
        whether to log to the console.  We're using the same log message as the
        XSSAuditor, but it seems likely we can improve this message in the
        future (especially by piping in the correct line number, which is now
        accessible via the parser).

        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::isNameOfInlineEventHandler):
        (WebCore::XSSFilter::filterToken):
        (WebCore::XSSFilter::filterTokenInitial):
        (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
        (WebCore::XSSFilter::filterScriptToken):
        (WebCore::XSSFilter::filterObjectToken):
        (WebCore::XSSFilter::filterEmbedToken):
        (WebCore::XSSFilter::filterAppletToken):
        (WebCore::XSSFilter::filterMetaToken):
        (WebCore::XSSFilter::filterBaseToken):
        (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
        * html/parser/XSSFilter.h:

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

        Reviewed by Daniel Bates.

        Wire up settings->xssAuditorEnabled to XSSFilter
        https://bugs.webkit.org/show_bug.cgi?id=53345

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::XSSFilter):
        (WebCore::XSSFilter::filterToken):
        * html/parser/XSSFilter.h:

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

        Reviewed by Daniel Bates.

        Teach XSSFilter about <meta> and <base> tags
        https://bugs.webkit.org/show_bug.cgi?id=53339

        I'm not 100% sure we need to block <meta http-equiv>, but it seems
        prudent given how powerful that attribute is.  We definitely need to
        block injection of <base href> because that can redirect script tags
        that use relative URLs.

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterToken):
        (WebCore::XSSFilter::filterMetaToken):
        (WebCore::XSSFilter::filterBaseToken):
        * html/parser/XSSFilter.h:

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

        Reviewed by Daniel Bates.

        Teach XSSFilter about <applet>
        https://bugs.webkit.org/show_bug.cgi?id=53338

        HTML5 is pretty light on information about how the <applet> tag works.
        According to this site:

        http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html

        The "code" and "object" attributes are the essential attributes for
        determining which piece of Java to run.  We might need to expand to the
        codebase and archive attributes at some point, but hopefully code and
        object will be sufficient.

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterToken):
        (WebCore::XSSFilter::filterAppletToken):
        * html/parser/XSSFilter.h:

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

        Reviewed by Daniel Bates.

        Teach the XSSFilter about object and embed tags
        https://bugs.webkit.org/show_bug.cgi?id=53336

        For <object> and <embed>, we filter out attribute values that either
        indicate which piece of media to load or which plugin to load.  In a
        perfect world, we'd only need to filter out the URLs of the media, but
        some plug-ins (like Flash) have lots of fun places you can hide the
        URL (e.g., the "movie" <param>).

        * html/parser/XSSFilter.cpp:
        (WebCore::XSSFilter::filterToken):
        (WebCore::XSSFilter::filterScriptToken):
        (WebCore::XSSFilter::filterObjectToken):
        (WebCore::XSSFilter::filterEmbedToken):
        (WebCore::XSSFilter::eraseAttributeIfInjected):
        * html/parser/XSSFilter.h:

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

        Fix Qt build.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        * bridge/qt/qt_runtime.h:

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

        Reviewed by Simon Fraser.

        CSS styles are shared based on uninitialized property values
        https://bugs.webkit.org/show_bug.cgi?id=53285
        
        Null test.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::mappedMapsEquivalent):

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

        Reviewed by Geoffrey Garen.

        Convert markstack to a slot visitor API
        https://bugs.webkit.org/show_bug.cgi?id=53219

        Update WebCore to the new marking apis, correct bindings
        codegen. 

        * ForwardingHeaders/runtime/WriteBarrier.h: Added.
        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.h:
        (WebCore::DOMWrapperWorld::globalData):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markDOMNodesForDocument):
        (WebCore::markDOMObjectWrapper):
        (WebCore::markDOMNodeWrapper):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        (WebCore::JSDOMGlobalObject::injectedScript):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::DialogHandler::dialogCreated):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::markChildren):
        (WebCore::JSDOMWindowShell::unwrappedObject):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::window):
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::markJSFunction):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::setAll):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::markAggregate):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::restore):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::putProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.h:

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

        Reviewed by Anders Carlsson.

        Keyboard scrolling doesn’t work in WebKit2
        <rdar://problem/8909672>

        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
        Add additional necessary delegate methods.

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

        Reviewed by Dan Bernstein.

        Re-land this patch with the missing null check that caused crashes in layout tests.

        Changing cursor style has no effect until the mouse moves
        https://bugs.webkit.org/show_bug.cgi?id=14344
        rdar://problem/7563712

        No tests added because we don't have infrastructure for testing actual cursor
        changes (as opposed to cursor style computation) at this time. We might add it later.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
        * page/EventHandler.h: Ditto.

        * rendering/RenderObject.cpp:
        (WebCore::areNonIdenticalCursorListsEqual): Added.
        (WebCore::areCursorsEqual): Added.
        (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
        cursor styles changed.

2011-01-28  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Eric Seidel.

        We should hold RefPtrs to SVG font faces
        https://bugs.webkit.org/show_bug.cgi?id=53270

        Test: svg/custom/use-multiple-on-nested-disallowed-font.html

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::associatedFontElement):
        * svg/SVGFontFaceElement.h:

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

        Reviewed by Kenneth Russell.

        uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
        https://bugs.webkit.org/show_bug.cgi?id=53306

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):

2011-01-28  Tom Sepez  <tsepez@chromium.org>

        Reviewed by Eric Seidel.

        NULL pointer crash in TextIterator::handleTextBox()
        https://bugs.webkit.org/show_bug.cgi?id=53267

        Test: fast/css/rtl-nth-child-first-letter-crash.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextBox):

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

        Reviewed by Kenneth Russell.

        [chromium] Remove a spurious diagnostic CRASH check.
        https://bugs.webkit.org/show_bug.cgi?id=52379

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::invalidateRect):

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

        Reviewed by Sam Weinig.

        <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
        https://bugs.webkit.org/show_bug.cgi?id=19785

        Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
        direction corresponding to the writing direction of the <select> element, with the checkmarks
        on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
        pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
        which returns true for this pop-up behavior.

        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
        * manual-tests/pop-up-alignment-and-direction.html: Added.
        * page/Chrome.cpp:
        (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
        client.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/PopupMenuStyle.h:
        (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
        variable initialization.
        (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
        to match the menu's writing direction. Set items' writing direction and direction override
        according to their styles.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
        (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
        menu's writing direction, use that alignment for the button as well. Also in this mode, use the
        item's writing direction and override setting.
        (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
        (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
        (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.

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

        Reviewed by Daniel Bates.

        Teach XSSFilter how to filter <script> elements
        https://bugs.webkit.org/show_bug.cgi?id=53279

        This patch adds the ability for the XSSFilter to block injected
        <script> elements.  Handling script elements is slightly subtle because
        these elements act very differently depending on whether they have a
        src attribute.
        
        In the "src case", which check whether the src attribute was present in
        the request.  In the "non-src case", we check whether the start tag and
        the body of the script element was included in the request.  Checking
        for the whole start tag means we miss out on some attribute splitting
        attacks inside of script tags, but that doesn't seem like that big a
        deal.

        This patch also introduces some amount of state into the XSSFilter
        because inline script elements span multiple tokens.  There's a lot of
        tuning and optimization left in these cases, some of which I've noted
        with FIXMEs.

        To test this patch, I played around with some of the existing
        XSSAuditor tests.  Hopefully I'll be able to run the test suite more
        systematically in the future.

        * html/parser/HTMLToken.h:
        (WebCore::HTMLToken::eraseCharacters):
        (WebCore::HTMLToken::eraseValueOfAttribute):
        * html/parser/XSSFilter.cpp:
        (WebCore::HTMLNames::hasName):
        (WebCore::HTMLNames::findAttributeWithName):
        (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
        (WebCore::XSSFilter::XSSFilter):
        (WebCore::XSSFilter::filterToken):
        (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
        (WebCore::XSSFilter::filterScriptToken):
        (WebCore::XSSFilter::snippetForRange):
        (WebCore::XSSFilter::snippetForAttribute):
        * html/parser/XSSFilter.h:

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

        Reviewed by Daniel Bates.

        Sketch out new XSS filter design (disabled by default)
        https://bugs.webkit.org/show_bug.cgi?id=53205

        This patch adds a basic sketch of the new XSS filter design.  Rather
        than watching scripts as they execute, in this design, we watch tokens
        emitted by the tokenizer.  We then map the tokens directly back into
        input characters, which lets us skip all the complicated logic related
        to HTML entities and double-decoding of JavaScript URLs.

        This patch contains only the bare essentially machinery.  I'll add more
        in future patches and eventually remove the previous code once this
        code is up and running correctly.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::sourceForToken):
        * html/parser/HTMLDocumentParser.h:
        * html/parser/XSSFilter.cpp: Added.
        * html/parser/XSSFilter.h: Added.

2011-01-28  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
        https://bugs.webkit.org/show_bug.cgi?id=53271

        Reapplying this patch with the change that the second ASSERT in 
        RootObject::removeRuntimeObject was changed to use
        .uncheckedGet() instead of the failing .get().  The object in question
        could be in the process of being GC'ed.  The get() call will not return
        such an object while the uncheckedGet() call will return the (unsafe) 
        object.  This is the behavior we want.

        Precautionary change.
        Changed RootObject to use WeakGCMap instead of HashSet.
        Found will looking for another issue, but can't produce a test case
        that is problematic.  THerefore there aren't any new tests.

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::addRuntimeObject):
        (JSC::Bindings::RootObject::removeRuntimeObject):
        * bridge/runtime_root.h:

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

        Notify CACFLayerTreeHost when the context is flushed

        LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
        timers were never starting.

        Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
        76858 broke ~36 animations, compositing, and transitions tests

        Reviewed by Sam Weinig.

        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
        (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
        start our render timer.

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

        Reviewed by Dan Bernstein.

        Remove dead code that tried to map from CSS values to parser values
        https://bugs.webkit.org/show_bug.cgi?id=53318

        * css/CSSFunctionValue.cpp:
        * css/CSSFunctionValue.h:
        * css/CSSPrimitiveValue.cpp:
        * css/CSSPrimitiveValue.h:
        * css/CSSValue.h:
        * css/CSSValueList.cpp:
        * css/CSSValueList.h:

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

        Reviewed by Adam Roben.

        Some drag and drop tests fail since r76824
        https://bugs.webkit.org/show_bug.cgi?id=53304

        There were '||' instead of '&&' in the checks for valid
        clipboard content.
        
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::getData):
        (WebCore::ClipboardWin::types):
        (WebCore::ClipboardWin::files):

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

        [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
        https://bugs.webkit.org/show_bug.cgi?id=52889

        Build fix for WebAudio. Include WebAudio source files on the source
        list when WebAudio is enabled.

        * GNUmakefile.am: Include missing source files.

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

        Reviewed by Maciej Stachowiak.

        Add basic rubber banding support
        <rdar://problem/8219429>
        https://bugs.webkit.org/show_bug.cgi?id=53277

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        Pass gesture events to the FrameView.

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::handleGestureEvent):
        * platform/ScrollAnimator.h:
        Add stubbed out implementation.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::overhangAmount):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::ScrollableArea):
        (WebCore::ScrollableArea::handleGestureEvent):
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
        (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
        Move constrains scrolling bit to ScrollableArea from ScrollView.

        (WebCore::ScrollableArea::contentsSize):
        (WebCore::ScrollableArea::overhangAmount):
        Add additional virtual functions for information needed by the animator.

        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
        (WebCore::elasticDeltaForTimeDelta):
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::reboundDeltaForElasticDelta):
        (WebCore::scrollWheelMultiplier):
        (WebCore::ScrollAnimatorMac::handleWheelEvent):
        (WebCore::ScrollAnimatorMac::handleGestureEvent):
        (WebCore::ScrollAnimatorMac::pinnedInDirection):
        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorMac::beginScrollGesture):
        (WebCore::ScrollAnimatorMac::endScrollGesture):
        (WebCore::ScrollAnimatorMac::snapRubberBand):
        (WebCore::roundTowardZero):
        (WebCore::roundToDevicePixelTowardZero):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
        Implement basic rubber banding.

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

        Reviewed by Anders Carlsson.

        Changing unicode-bidi doesn’t force layout
        https://bugs.webkit.org/show_bug.cgi?id=53311

        Test: fast/dynamic/unicode-bidi.html

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.

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

        Reviewed by Kent Tamura.

        Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
        https://bugs.webkit.org/show_bug.cgi?id=53122

        This is the first step in converting HTMLMediaElement to the new shadow DOM.

        Should not regress any existing tests. No observable change in behavior.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Ditto.
        * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
            which is now replaced with virtual shadowPseudoId on each corresponding class.
        (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
            display type in constructor.
        (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
            to disambiguate from the MediaControlMuteButtonElement.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
        (WebCore::MediaControlSeekForwardButtonElement::create): Added.
        (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
        (WebCore::MediaControlSeekBackButtonElement::create): Added.
        (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
        (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
        * rendering/MediaControlElements.h:
        (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
        (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
        (WebCore::RenderMedia::createSeekBackButton): Ditto.
        (WebCore::RenderMedia::createSeekForwardButton): Ditto.
        (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
        * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.

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

        Reviewed by Eric Carlson.

        Split MediaControls out of RenderMedia.
        https://bugs.webkit.org/show_bug.cgi?id=53252

        Near-mechanical moving of stuff, no change in behavior, thus no new tests.

        * Android.mk: Added MediaControls to build system.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
        * html/shadow/MediaControls.cpp: Copied all controls-related methods from
            Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls. 
        * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
        (WebCore::RenderMedia::destroy): Changed to use MediaControls.
        (WebCore::RenderMedia::styleDidChange): Ditto.
        (WebCore::RenderMedia::layout): Ditto.
        (WebCore::RenderMedia::updateFromElement): Ditto.
        * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
            is only used by sub-class RenderVideo.
        (WebCore::RenderMedia::controls): Added.
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
        (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
        (WebCore::RenderVideo::paintReplaced): Ditto.
        (WebCore::RenderVideo::updatePlayer): Ditto.
        (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
        (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: allow remote debugging with front-end
        served from the cloud.
        https://bugs.webkit.org/show_bug.cgi?id=53303

        * inspector/front-end/inspector.js:

2011-01-28  Aparna Nandyal  <aparna.nand@wipro.com>

        Reviewed by Andreas Kling.

        Setting value of m_PressedPos to make scrolling smooth

        Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
        https://bugs.webkit.org/show_bug.cgi?id=51349

        The value of m_PressedPos was getting set before moveThumb() call
        in all other scenarios except when "Scroll Here" option is used.
        Hence scrolling with this option was not as expected even in cases
        where scrolling was happening. The thumb would move in unexpected
        direction. m_PressedPos is now set to pressed position so delta is
        calculated.
        Unable to write a test case as the test needs to click on "Scroll
        Here" option of context sensitive menu and QTest is unable to do it.
        Besides no new functionality introduced.

        * platform/qt/ScrollbarQt.cpp:
        (WebCore::Scrollbar::contextMenu):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [Extensions API] add JSON schema for extensions API
        https://bugs.webkit.org/show_bug.cgi?id=53236

        * inspector/front-end/ExtensionAPISchema.json: Added.

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

        Reviewed by Kenneth Russell.

        Remove _LENGTH enumerants
        https://bugs.webkit.org/show_bug.cgi?id=53259

        * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: syntax highlight inline JS and CSS in HTML resources
        https://bugs.webkit.org/show_bug.cgi?id=30831

        * inspector/front-end/SourceHTMLTokenizer.js:
        (WebInspector.SourceHTMLTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype.set line):
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js:

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
        https://bugs.webkit.org/show_bug.cgi?id=53295

        Select the current word suffix before switching to the next suggestion.

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

2011-01-28  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix dist compilation for the release
        https://bugs.webkit.org/show_bug.cgi?id=53290

        * GNUmakefile.am: Added inspector files to the extra dist.

2011-01-28  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Andreas Kling.

        Const-correct HTMLSelectElement and WebSelectElement
        https://bugs.webkit.org/show_bug.cgi?id=53293

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::value): const.
        * html/HTMLSelectElement.h:

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

        Unreviewed, rolling out r76893.
        http://trac.webkit.org/changeset/76893
        https://bugs.webkit.org/show_bug.cgi?id=53287

        It made some tests crash on GTK and Qt debug bots (Requested
        by Ossy on #webkit).

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::addRuntimeObject):
        (JSC::Bindings::RootObject::removeRuntimeObject):
        * bridge/runtime_root.h:

2011-01-27  Greg Coletta  <greg.coletta@nokia.com>

        Reviewed by Laszlo Gombos.

        Get rid of prefix header dependency for WebKit2 build system
        https://bugs.webkit.org/show_bug.cgi?id=50174

        Guard EmptyProtocalDefinitions.h to make sure it's not included twice.

        * platform/mac/EmptyProtocolDefinitions.h:

2011-01-27  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        Recalc table sections if needed before calculating the first line
        box baseline.
        https://bugs.webkit.org/show_bug.cgi?id=53265

        When we try to calculate the baseline position of a table cell,
        we recurse through all the child sibling boxes (when children are
        non inline) and add their first linebox baseline values. If one of
        the children is a table with pending section recalc, we will access
        wrong table section values. We recalc table sections if it is needed.

        Test: fast/table/recalc-section-first-body-crash-main.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::firstLineBoxBaseline):

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

        Reviewed by Kenneth Russell.

        [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
        https://bugs.webkit.org/show_bug.cgi?id=52379

        Test: LayoutTests/compositing (to verify these weren't triggered)

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::invalidateRect):
        (WebCore::LayerTilerChromium::update):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
        https://bugs.webkit.org/show_bug.cgi?id=53242

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

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

        Unreviewed, rolling out r76891.
        http://trac.webkit.org/changeset/76891
        https://bugs.webkit.org/show_bug.cgi?id=53280

        Makes every layout test crash (Requested by othermaciej on
        #webkit).

        * page/EventHandler.cpp:
        * page/EventHandler.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleDidChange):

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

        Unreviewed, rolling out r76839.
        http://trac.webkit.org/changeset/76839
        https://bugs.webkit.org/show_bug.cgi?id=49744

        broke pixel tests

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

2011-01-27  Emil A Eklund  <eae@chromium.org>

        Reviewed by Darin Adler.

        contentEditable formatBlock crashes on divs with contenteditable="false"
        https://bugs.webkit.org/show_bug.cgi?id=53263

        Check if editableRootForPosition returns null for position.

        Test: editing/execCommand/format-block-contenteditable-false.html

        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange):

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

        Reviewed by Darin Adler.

        Remove RenderMedia members that aren't used.
        https://bugs.webkit.org/show_bug.cgi?id=53245

        Refactoring, no change in behavior, so no new tests.

        * rendering/RenderMedia.h: Removed unused member variables.

2011-01-27  Michael Saboff  <msaboff@apple.com>

        Reviewed by Darin Adler.

        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
        https://bugs.webkit.org/show_bug.cgi?id=53271

        Precautionary change.
        Changed RootObject to use WeakGCMap instead of HashSet.
        Found will looking for another issue, but can't produce a test case
        that is problematic.  THerefore there aren't any new tests.

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::addRuntimeObject):
        (JSC::Bindings::RootObject::removeRuntimeObject):
        * bridge/runtime_root.h:

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

        Reviewed by James Robinson.

        Rename Typed Array slice() to subset()
        https://bugs.webkit.org/show_bug.cgi?id=53273

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):
        * html/canvas/Float32Array.cpp:
        (WebCore::Float32Array::subset):
        * html/canvas/Float32Array.h:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.cpp:
        (WebCore::Int16Array::subset):
        * html/canvas/Int16Array.h:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.cpp:
        (WebCore::Int32Array::subset):
        * html/canvas/Int32Array.h:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.cpp:
        (WebCore::Int8Array::subset):
        * html/canvas/Int8Array.h:
        * html/canvas/Int8Array.idl:
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::subsetImpl):
        * html/canvas/Uint16Array.cpp:
        (WebCore::Uint16Array::subset):
        * html/canvas/Uint16Array.h:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.cpp:
        (WebCore::Uint32Array::subset):
        * html/canvas/Uint32Array.h:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.cpp:
        (WebCore::Uint8Array::subset):
        * html/canvas/Uint8Array.h:
        * html/canvas/Uint8Array.idl:

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

        Reviewed by Dan Bernstein.

        Changing cursor style has no effect until the mouse moves
        https://bugs.webkit.org/show_bug.cgi?id=14344
        rdar://problem/7563712

        No tests added because we don't have infrastructure for testing actual cursor
        changes (as opposed to cursor style computation) at this time. We might add it later.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
        * page/EventHandler.h: Ditto.

        * rendering/RenderObject.cpp:
        (WebCore::areNonIdenticalCursorListsEqual): Added.
        (WebCore::areCursorsEqual): Added.
        (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
        cursor styles changed.

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

        Reviewed by Dirk Schulze.

        SVG Use Cycle is not detected
        https://bugs.webkit.org/show_bug.cgi?id=52544

        We should check if SVGUseElement::buildInstanceTree finds problem
        for every child node. If it finds problem for any children we must
        return immediately because otherwise the foundProblem variable may
        be rewritten to false.

        Test: svg/custom/recursive-use2.svg

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

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

        Reviewed by Kenneth Russell.

        texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
        https://bugs.webkit.org/show_bug.cgi?id=53054

        Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.

2011-01-27  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Add fullscreen media control button for html video
        https://bugs.webkit.org/show_bug.cgi?id=51543

        Implement media control fullscreen button for QtWebKit html5 video.

        * css/mediaControlsQt.css:
        (video::-webkit-media-controls-fullscreen-button):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):

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

        Reviewed by Adam Barth.

        Remove FrameLoader::url() and update callers to use
        Document::url().
        https://bugs.webkit.org/show_bug.cgi?id=41165

        Refactor, no new tests.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::removePendingSheet):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::CachedFrameBase):
        * history/PageCache.cpp:
        (WebCore::logCanCacheFrameDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::inspectedURL):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForFrame):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        (WebCore::DocumentWriter::deprecatedFrameEncoding):
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateForStandardLoad):
        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
        (WebCore::HistoryController::updateForSameDocumentNavigation):
        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledHistoryNavigation::fire):
        (WebCore::NavigationScheduler::scheduleLocationChange):
        (WebCore::NavigationScheduler::scheduleRefresh):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateControlTints):
        * page/Location.cpp:
        (WebCore::Location::url):
        (WebCore::Location::setProtocol):
        (WebCore::Location::setHost):
        (WebCore::Location::setHostname):
        (WebCore::Location::setPort):
        (WebCore::Location::setPathname):
        (WebCore::Location::setSearch):
        (WebCore::Location::setHash):
        (WebCore::Location::reload):
        * page/Page.cpp:
        (WebCore::Page::goToItem):

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

        Reviewed by Darin Adler.

        Fix performance regression in ImageQualityController::objectDestroyed().
        https://bugs.webkit.org/show_bug.cgi?id=52645

        In r72282, I inadvertently introduced this regression by using a
        linear search through the hash map on object destruction.  This was
        because the hash key consisted of both object pointer and layer id,
        but on object destruction we only know the object pointer, requiring
        a search to find all the layers. 
        By replacing the hash map with two nested hash maps, where the outer key
        is the object and the inner key is the layer, we can find all the
        relevant data for an object in one hash lookup.

        * rendering/RenderBoxModelObject.cpp:
        Replace the (object,layer)->size HashMap with object->layer and
        layer->size HashMaps.
        (WebCore::ImageQualityController::isEmpty):
        Implement isEmpty() for the outer HashMap.
        (WebCore::ImageQualityController::removeLayer):
        When a layer is removed, remove it from the inner hash map.
        (WebCore::ImageQualityController::set):
        Implement set():  if the inner map exists, set the layer->size tuple
        directly.  If not, create a new inner map, set the tuple, and insert
        it in the outer map.
        (WebCore::ImageQualityController::objectDestroyed):
        Look up the object in the outer map only.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Cosmetic changes for the renamed now-outer hash map.
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Do both outer and inner hash map lookups.  Call set() to add/update
        entries to the hash maps.  keyDestroyed() is now removeLayer().
        (WebCore::imageQualityController):
        Make the ImageQualityController a file-static global, so it can be
        created and destroyed on the fly.
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        If there is no ImageQualityController, don't call objectDestroyed().
        If it's empty, delete it.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintIntoRect):
        Also pass the Image* as the (void*) layer, since 0 is not a valid
        HashMap key.

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

        Reviewed by James Robinson.

        [chromium] Tiled compositor crashes if compositing turned off mid-paint
        https://bugs.webkit.org/show_bug.cgi?id=53198

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

2011-01-27  Carol Szabo <carol.szabo@nokia.com>

        Reviewed by David Hyatt.

        A corrupted counter tree is created when renderers are added to the
        tree bypassing RenderObject::addChild
        https://bugs.webkit.org/show_bug.cgi?id=51270

        No new tests. This patch reimplements the fix for bugs 43812 and
        51637 and hence all tests are already there as part of the original
        fixes for those bugs.

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):
        Removed old workaround as this patch hopefully fixes the real
        problem.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        Removed call to counter updater as it was moved to a lower level.
        (WebCore::RenderObject::destroy):
        Moved attached counter nodes destruction to after the node is
        removed from the tree.
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        (WebCore::RenderObjectChildList::appendChildNode):
        (WebCore::RenderObjectChildList::insertChildNode):
        Added notifications to the Counter system such that the
        CounterForest reflects the changes to the RendererTree.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):
        Applied the same changes as for RenderObject::destroy()
        since RenderObject::destroy() is not called from here.

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

        Add WKCACFViewLayerTreeHost

        This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.

        Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
        WKCACFView for rendering

        * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
        non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
        so we need a non-empty window to perform a valid test.
        (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
        fall back to a LegacyCACFLayerTreeHost.
        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
        context flush from here...
        (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
        call this function whenever changes are flushed to the context.

        * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.

        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
        (WebCore::LegacyCACFLayerTreeHost::createRenderer):
        (WebCore::LegacyCACFLayerTreeHost::resize):
        Changed to use flushContext instead of flushing the context manually so that we will always
        notify the base class when the context gets flushed.

        (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
        base class will know what happened. Moved code to schedule a render from here...
        (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.

        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.

        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
        (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
        WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
        (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
        (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
        marked that we needed to do so, and flush the context if our layer's bounds have changed.
        (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
        contextDidChange.
        (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
        (if we didn't already), then call up to the base class.
        (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
        view's layer, and hook up our "context did change" callback.
        (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
        time we paint.
        (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
        able to render or not.
        (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
        to the view.
        (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
        (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
        (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
        size, then call up to the base class.
        (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
        rects, then ask it to draw.

        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.

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

        Move LegacyCACFLayerTreeHost into its own files

        More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
        should use WKCACFView for rendering

        Reviewed by Simon Fraser.

        * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.

        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.

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

        Unreviewed WinCE build fix for r76824.

        * platform/wince/DragDataWinCE.cpp:
        (WebCore::DragData::dragDataMap):

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

        Split CACFLayerTreeHost into base and derived classes

        The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
        will add a new derived class that replaces the D3D code with a different rendering API.

        For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
        little smaller. A later patch will move it to its own source files.

        Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
        should use WKCACFView for rendering

        Reviewed by Simon Fraser.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
        destroying the host, as that is now the API contract that clients must fulfill.
        (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
        (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
        new initialize function to perform initialization that has to happen after the vtable has
        been set up.

        (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
        (WebCore::LegacyCACFLayerTreeHost::initializeContext):
        (WebCore::CACFLayerTreeHost::initialize):
        Moved some initialization code from the CACFLayerTreeHost constructor into these new
        functions.

        (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
        ~CACFLayerTreeHost.
        (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
        point (which would be too late, since we won't be able to call into the derived class's
        virtual functions), just assert that it has already been cleared (or was never set in the
        first place).
        (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
        CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
        CACFLayerTreeHost's data members directly.

        (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
        (WebCore::CACFLayerTreeHost::destroyRenderer):
        Moved some code to the new LegacyCACFLayerTreeHost function.

        (WebCore::LegacyCACFLayerTreeHost::resize):
        (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
        Moved these functions to LegacyCACFLayerTreeHost.

        (WebCore::LegacyCACFLayerTreeHost::paint):
        (WebCore::CACFLayerTreeHost::paint):
        Moved some code to the new LegacyCACFLayerTreeHost function.

        (WebCore::LegacyCACFLayerTreeHost::render):
        (WebCore::LegacyCACFLayerTreeHost::renderSoon):
        Moved these functions to LegacyCACFLayerTreeHost.

        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
        from here...
        (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.

        (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
        to this new function...
        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.

        (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
        (WebCore::LegacyCACFLayerTreeHost::resetDevice):
        Moved these functions to LegacyCACFLayerTreeHost.

        * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
        members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
        logically, and added some getters used by LegacyCACFLayerTreeHost.

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

        Move CACFLayerTreeHostClient to its own header file

        Rubber-stamped by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
        with the file.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.

        * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.

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

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
        from the header file.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
        with more specific ones, plus a forward-declaration.

2011-01-27  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Simplify small caps logic in complex text on linux
        https://bugs.webkit.org/show_bug.cgi?id=53207

        Test: fast/text/atsui-multiple-renderers.html
              fast/text/atsui-small-caps-punctuation-size.html

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
        (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.

2011-01-27  Adam Barth  <abarth@webkit.org>

        In which I attempt to fix the EFL build.

        * CMakeLists.txt:

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

        Reviewed by Darin Adler.

        Adding border and padding to the calculation of the local caret rect for RenderBoxes.
        Corrected for mistake in r76625

        Undo moves caret to invalid position
        https://bugs.webkit.org/show_bug.cgi?id=49744

        Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
               editing/selection/caret-painting-after-paste-undo.html

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

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

        Unreviewed, rolling out r76825.
        http://trac.webkit.org/changeset/76825
        https://bugs.webkit.org/show_bug.cgi?id=53256

        "caused crashes on GTK and chromium" (Requested by rniwa on
        #webkit).

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::keyDestroyed):
        (WebCore::ImageQualityController::objectDestroyed):
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        (WebCore::imageQualityController):
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):

2011-01-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Generalize the mechanism view-source uses to remember the source for an HTMLToken
        https://bugs.webkit.org/show_bug.cgi?id=53200

        Currently view-source tracks the source associated with each HTMLToken.
        We want to re-use this mechanism for the new XSS auditor.  This patch
        moves this code into its own class so it can be shared between the
        view-source parser and the general HTML parser.  This patch also add
        support for tracking the source of tokens that span document.write
        boundaries.

        No functional change.  This code change is somewhat tested by our
        view-source layout tests.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            - Fun with updating build files.
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
            - Teach HTMLDocumentParser to track the source for HTMLTokens.
              Currently, this information isn't used, but it will be shortly.
              I ran the HTML parser benchmark and this change didn't have a
              measurable effect.
        * html/parser/HTMLDocumentParser.h:
            - Composite in the HTMLSourceTracker.
        * html/parser/HTMLSourceTracker.cpp: Added.
        (WebCore::HTMLSourceTracker::HTMLSourceTracker):
        (WebCore::HTMLSourceTracker::start):
        (WebCore::HTMLSourceTracker::end):
            - This function should eventualy be folded into HTMLTokenizer.
        (WebCore::HTMLSourceTracker::sourceForToken):
        * html/parser/HTMLSourceTracker.h: Added.
        * html/parser/HTMLToken.h:
            - Now HTMLTokens always have a start index of zero.  To do the job
              of the old start index, this patch introduces the notion of a
              baseOffset.  Unlike the start index (which was used as the base
              offset for all the other indicies), the baseOffset can change
              over the lifetime of the token.  We need the flexibility to
              change the offset for tokens that span document.write boundaries.
              Values are now normalized to zero-offset when stored.
        (WebCore::HTMLToken::clear):
        (WebCore::HTMLToken::setBaseOffset):
        (WebCore::HTMLToken::end):
        (WebCore::HTMLToken::beginAttributeName):
        (WebCore::HTMLToken::endAttributeName):
        (WebCore::HTMLToken::beginAttributeValue):
        (WebCore::HTMLToken::endAttributeValue):
        * html/parser/HTMLViewSourceParser.cpp:
            - Updates the HTMLViewSourceParser to use the new
              HTMLSourceTracker.
        (WebCore::HTMLViewSourceParser::pumpTokenizer):
        (WebCore::HTMLViewSourceParser::append):
        (WebCore::HTMLViewSourceParser::sourceForToken):
            - This function now just calls through to HTMLSourceTracker.
        * html/parser/HTMLViewSourceParser.h:
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::currentColumn):
        (WebCore::SegmentedString::setCurrentPosition):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::numberOfCharactersConsumed):
            - We need to handle the general case now.  The "slow" version
              doesn't turn out to be any slower in practice anyway.

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

        Fix all the builds.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::paintOverhangAreas): Add parameters.

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

        Reviewed by Dave Hyatt.

        Add ability to do an unconstrained scroll on a ScrollView
        https://bugs.webkit.org/show_bug.cgi?id=53249

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        Initialize m_constrainsScrollingToContentEdge to true.

        (WebCore::ScrollView::setScrollOffset):
        Only constrain the offset if the m_constrainsScrollingToContentEdge is set.

        (WebCore::ScrollView::updateScrollbars):
        Simplify expression converting an IntSize to an IntPoint.
        
        (WebCore::ScrollView::paint):
        Paint the overhang if there is any.
        
        (WebCore::ScrollView::calculateOverhangAreasForPainting):
        Calculate the overhang in viewport coordinates for painting.

        * platform/ScrollView.h:
        (WebCore::ScrollView::constrainsScrollingToContentEdge):
        (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
        Add bit to control whether the scroll position should be constrained
        to the content edge when set.

        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::usedTotalSize):
        (WebCore::ScrollbarThemeComposite::thumbPosition):
        (WebCore::ScrollbarThemeComposite::thumbLength):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        Improve calculations of thumb size and position to take overhang into account.

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

        Reviewed by Nikolas Zimmermann.

        SVG animation of Paths with segments of different coordinate modes on begin and end
        https://bugs.webkit.org/show_bug.cgi?id=52984

        At the moment we just support SVG path animations, if the number of segments on the given start path
        is the same as the number of segments on the given end path. But a segment on a given position must be identical
        on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
        If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
        of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
        in the start path, we can use MoveToAbs on the same position in the end path.

        This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
        both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
        to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
        animation.

        Tests: svg/animations/animate-path-animation-Cc-Ss.html
               svg/animations/animate-path-animation-Ll-Vv-Hh.html
               svg/animations/animate-path-animation-Qq-Tt.html
               svg/animations/animate-path-animation-cC-sS-inverse.html
               svg/animations/animate-path-animation-lL-vV-hH-inverse.html
               svg/animations/animate-path-animation-qQ-tT-inverse.html

        * svg/SVGPathBlender.cpp:
        (WebCore::blendFloatPoint):
        (WebCore::blendAnimatedFloat):
        (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
        (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
        (WebCore::SVGPathBlender::blendMoveToSegment):
        (WebCore::SVGPathBlender::blendLineToSegment):
        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
        (WebCore::SVGPathBlender::blendCurveToCubicSegment):
        (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
        (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
        (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathBlender::blendArcToSegment):
        (WebCore::coordinateModeOfCommand):
        (WebCore::isSegmentEqual):
        (WebCore::SVGPathBlender::blendAnimatedPath):
        (WebCore::SVGPathBlender::cleanup):
        * svg/SVGPathBlender.h:

2011-01-27  Cris Neckar  <cdn@chromium.org>

        Reviewed by Dimitri Glazkov.

        Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
        https://bugs.webkit.org/show_bug.cgi?id=52320

        Test: fast/css/css-keyframe-style-crash.html

        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::deleteRule):
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):

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

        Reviewed by Kent Tamura.

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

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

        Test: fast/repaint/select-option-background-color.html

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

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

        Reviewed by Darin Adler.

        Fix performance regression in ImageQualityController::objectDestroyed().
        https://bugs.webkit.org/show_bug.cgi?id=52645

        In r72282, I inadvertently introduced this regression by using a
        linear search through the hash map on object destruction.  This was
        because the hash key consisted of both object pointer and layer id,
        but on object destruction we only know the object pointer, requiring
        a search to find all the layers. 
        By replacing the hash map with two nested hash maps, where the outer key
        is the object and the inner key is the layer, we can find all the
        relevant data for an object in one hash lookup.

        * rendering/RenderBoxModelObject.cpp:
        Replace the (object,layer)->size HashMap with object->layer and
        layer->size HashMaps.
        (WebCore::ImageQualityController::isEmpty):
        Implement isEmpty() for the outer HashMap.
        (WebCore::ImageQualityController::removeLayer):
        When a layer is removed, remove it from the inner hash map.
        (WebCore::ImageQualityController::set):
        Implement set():  if the inner map exists, set the layer->size tuple
        directly.  If not, create a new inner map, set the tuple, and insert
        it in the outer map.
        (WebCore::ImageQualityController::objectDestroyed):
        Look up the object in the outer map only.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Cosmetic changes for the renamed now-outer hash map.
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Do both outer and inner hash map lookups.  Call set() to add/update
        entries to the hash maps.  keyDestroyed() is now removeLayer().
        (WebCore::imageQualityController):
        Make the ImageQualityController a file-static global, so it can be
        created and destroyed on the fly.
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        If there is no ImageQualityController, don't call objectDestroyed().
        If it's empty, delete it.


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

        Reviewed by Darin Adler and Adam Roben.

        WebKit2: add support for drag and drop on Windows
        https://bugs.webkit.org/show_bug.cgi?id=52775
        <rdar://problem/8514409>
        
        On Windows the access to the content being dragged is
        provided via the IDataObject interface that is made available
        to the window that registers itself as drop target.
        Since this interface cannot be accessed from the WebProcess,
        in every call to one of the methods of the IDropTarget interface
        we serialize the content of the drag clipboard and send it over to
        the WebProcess.
        The bulk of this patch consists in the refactoring needed in DragData
        and ClipboardWin classes to extract the data from the serialized object.
        
        * platform/DragData.cpp:
        * platform/DragData.h:
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::getWebLocData):
        (WebCore::getURL):
        (WebCore::getPlainText):
        (WebCore::getTextHTML):
        (WebCore::getCFHTML):
        (WebCore::fragmentFromFilenames):
        (WebCore::containsFilenames):
        (WebCore::fragmentFromHTML):
        (WebCore::containsHTML):
        (WebCore::getClipboardData):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardWin::ClipboardWin):
        (WebCore::ClipboardWin::getData):
        (WebCore::ClipboardWin::types):
        (WebCore::ClipboardWin::files):
        (WebCore::ClipboardWin::hasData):
        * platform/win/ClipboardWin.h:
        (WebCore::ClipboardWin::create):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::DragData):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::dragDataMap):
        (WebCore::DragData::asURL):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::asFragment):

2011-01-27  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Space characters in source document interfere with reported caret offset
        https://bugs.webkit.org/show_bug.cgi?id=53033

        Calculate caret offset from rendered text instead of from node contents.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (objectAndOffsetUnignored): Calculate the caret offset based only
        on positions and ranges, instead of using the computed offset in
        the container node.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=53197
        <rdar://problem/8895682> Make WebKit2 printing asynchronous

        * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.

        * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
        transformation as spoolPages does for consistency.

2011-01-27  David Grogan  <dgrogan@google.com>

        Reviewed by Jeremy Orlow.

        initial support for close() in indexeddb backend
        https://bugs.webkit.org/show_bug.cgi?id=53150

        Test: storage/indexeddb/transaction-after-close.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::IDBDatabase):
        (WebCore::IDBDatabase::transaction):
        (WebCore::IDBDatabase::close):
        * storage/IDBDatabase.h:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::transaction):
        (WebCore::IDBDatabaseBackendImpl::close):

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

        Reviewed by Nikolas Zimmermann.

        SVG animation doesn't support calcMode discrete for number and color values.
        https://bugs.webkit.org/show_bug.cgi?id=53189

        Add support for calcMode discrete on number and color animation.

        Tests: svg/animations/animate-color-calcMode-discrete.html
               svg/animations/animate-number-calcMode-discrete.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):

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

        Reviewed by Kenneth Russell.

        shaderSource needs to preserve original source
        https://bugs.webkit.org/show_bug.cgi?id=52833

        Test: fast/canvas/webgl/gl-getshadersource.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
        (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
        (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
        * html/canvas/WebGLShader.cpp: Cache shader source.
        (WebCore::WebGLShader::WebGLShader):
        * html/canvas/WebGLShader.h: Ditto.
        (WebCore::WebGLShader::getSource):
        (WebCore::WebGLShader::setSource):

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

        Unreviewed WinCE build fix for r76743.

        * platform/graphics/wince/FontWinCE.cpp:
        (WebCore::TextRunComponent::TextRunComponent):

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

        Reviewed by Pavel Feldman.

        Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
        https://bugs.webkit.org/show_bug.cgi?id=53234

        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane):
        (WebInspector.ScopeChainSidebarPane.prototype.update):

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

        Unreviewed, rolling out r76789.
        http://trac.webkit.org/changeset/76789
        https://bugs.webkit.org/show_bug.cgi?id=53238

        Broke GTK layout tests (Requested by podivilov on #webkit).

        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane):
        (WebInspector.ScopeChainSidebarPane.prototype.update):

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

        Reviewed by Pavel Feldman.

        Web Inspector: store all settings related to the agents on the frontend side
        https://bugs.webkit.org/show_bug.cgi?id=53174

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptDebugServer.cpp:
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptProfiler.cpp:
        * bindings/js/ScriptProfiler.h:
        * bindings/v8/ScriptDebugServer.cpp:
        * bindings/v8/ScriptDebugServer.h:
        * bindings/v8/ScriptProfiler.cpp:
        * bindings/v8/ScriptProfiler.h:
        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
        on the front-end side and will be pushed to the backend when the frontend is loaded.
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::restoreDebugger):
        (WebCore::InspectorAgent::restoreProfiler):
        (WebCore::InspectorAgent::enableProfiler):
        (WebCore::InspectorAgent::disableProfiler):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enableDebugger):
        (WebCore::InspectorAgent::disableDebugger):
        * inspector/InspectorAgent.h:
        * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
        if the front-end was opened during current browser session and XHR logging is turned on
        there.
        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
        * inspector/InspectorSettings.cpp: Removed.
        * inspector/InspectorSettings.h: Removed.
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:

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

        Reviewed by Pavel Feldman.

        Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
        https://bugs.webkit.org/show_bug.cgi?id=53234

        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane):
        (WebInspector.ScopeChainSidebarPane.prototype.update):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
        https://bugs.webkit.org/show_bug.cgi?id=53171

        * inspector/front-end/inspector.js:
        (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)

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

        Reviewed by Pavel Feldman.

        [V8] Crash in WebCore::addMessageToConsole
        https://bugs.webkit.org/show_bug.cgi?id=53227

        * bindings/v8/V8Proxy.cpp: check that the Frame where the error
        occured still has a page before getting a console object from it.
        (WebCore::V8Proxy::reportUnsafeAccessTo):

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

        Reviewed by Jeremy Orlow.

        IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
        https://bugs.webkit.org/show_bug.cgi?id=53178

        Remove the IDBCallbacks::onSuccess() function that was used for
        null values, and replace such calls with calls to
        IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
        instead.

        No new functionality, so no new tests.

        * storage/IDBCallbacks.h:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::updateInternal):
        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
        * storage/IDBRequest.cpp:
        * storage/IDBRequest.h:

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

        Unreviewed, rolling out r76773.
        http://trac.webkit.org/changeset/76773
        https://bugs.webkit.org/show_bug.cgi?id=53230

        breaks multiple GTK media tests (Requested by philn-tp on
        #webkit).

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache):

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

        Unreviewed, rolling out r76770.
        http://trac.webkit.org/changeset/76770
        https://bugs.webkit.org/show_bug.cgi?id=53229

        Some inspector tests fail (Requested by yurys on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
        * bindings/js/ScriptProfiler.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/v8/ScriptDebugServer.h:
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
        * bindings/v8/ScriptProfiler.h:
        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::restoreDebugger):
        (WebCore::InspectorAgent::restoreProfiler):
        (WebCore::InspectorAgent::ensureSettingsLoaded):
        (WebCore::InspectorAgent::enableProfiler):
        (WebCore::InspectorAgent::disableProfiler):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enableDebugger):
        (WebCore::InspectorAgent::disableDebugger):
        * inspector/InspectorAgent.h:
        (WebCore::InspectorAgent::settings):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
        * inspector/InspectorSettings.cpp: Added.
        (WebCore::InspectorSettings::InspectorSettings):
        (WebCore::InspectorSettings::getBoolean):
        (WebCore::InspectorSettings::setBoolean):
        (WebCore::InspectorSettings::getLong):
        (WebCore::InspectorSettings::setLong):
        (WebCore::InspectorSettings::registerBoolean):
        (WebCore::InspectorSettings::registerLong):
        * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:

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

        Reviewed by Martin Robinson.

        [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53125

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.

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

        Reviewed by Pavel Feldman.

        Web Inspector: store all settings related to the agents on the frontend side
        https://bugs.webkit.org/show_bug.cgi?id=53174

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
        on the front-end side and will be pushed to the backend when the frontend is loaded.
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::restoreDebugger):
        (WebCore::InspectorAgent::restoreProfiler):
        (WebCore::InspectorAgent::enableProfiler):
        (WebCore::InspectorAgent::disableProfiler):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enableDebugger):
        (WebCore::InspectorAgent::disableDebugger):
        * inspector/InspectorAgent.h:
        * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
        if the front-end was opened during current browser session and XHR logging is turned on
        there.
        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::enable):
        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorSettings.cpp: Removed.
        * inspector/InspectorSettings.h: Removed.
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:

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

        Reviewed by Sam Weinig.

        REGRESSION (r76743): Uneven spacing in right-to-left justified text
        https://bugs.webkit.org/show_bug.cgi?id=53225

        Fixes failure in fast/text/atsui-spacing-features.html

        There was an inconsistency between rendering code and font code in the interpretation of
        'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
        visual order rather than logical.

        * platform/graphics/Font.cpp:
        (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
        iterate in visual order accordingly.
        * platform/graphics/Font.h:
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
        (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
        condition with respect to the first character, which is the trailing character in visual order.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
        expansionOpportunityCount().
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.

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

        Don't create the Direct3D device before it's first needed

        We only need the device once we decide to render. There's no point in creating it before
        then.

        Reviewed by Sam Weinig.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
        We already have code to create it when we first try to draw.
        (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
        bounds so that the bounds will take effect the next time we render (which could be just
        after this function returns).

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

        Add assertions that CACFLayerTreeHost gains and loses an HWND only once

        CACFLayerTreeHost doesn't support any other use pattern.

        Reviewed by Sam Weinig.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
        (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
        to having a window, to not having a window just once over the lifetime of this object.

        * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.

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

        Notify layers that their animations have started when we flush the context, not when we
        render

        r76372 separated context flushing from rendering, but this bit of code got left behind.

        Reviewed by Sam Weinig.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
        notifyAnimationsStarted.
        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
        notifyAnimationsStarted after we flush the context.
        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
        to call PlatformCALayer::animationStarted rather than calling through to the client
        directly.

        * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.

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

        Small cleanup in MediaPlayerPrivateFullscreenWindow

        Reviewed by Sam Weinig.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
        code here from close(), since this was the only place that called it after the following
        change to createWindow.
        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
        case where we had already created the window with an assertion that we have not already done
        so. Our single caller (FullscreenVideoController) did not require this behavior.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.

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

        Reviewed by Adam Roben.

        Move ScrollView scroll wheel code to ScrollAnimator.

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::handleWheelEvent):
        * platform/ScrollAnimator.h:
        Moved implementation of handleWheelEvent from ScrollView::wheelEvent.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        Call down to the ScrollableArea.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::handleWheelEvent):
        Call down to the ScrollAnimator.

        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollPosition):
        (WebCore::ScrollableArea::minimumScrollPosition):
        (WebCore::ScrollableArea::maximumScrollPosition):
        (WebCore::ScrollableArea::visibleContentRect):
        (WebCore::ScrollableArea::visibleHeight):
        (WebCore::ScrollableArea::visibleWidth):
        Add functions needed to implement wheel event in the animator.

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

        <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
        <rdar://problem/8821760>

        Reviewed by Antti Koivisto.

        This adds support for HTTP pipelining in CFNetwork, but does not
        enable it.  To enable it post-SnowLeopard, use this command:

            defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES

        Once enabled, it is possible to force the same load priority
        (high) to be sent to CFNetwork to allow WebCore to handle the
        scheduling:

            defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES

        * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
        _wkSetHTTPPipeliningPriority.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
        Copy the priority to preflightRequest.

        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
        at the end of the method to use an early return.

        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::load): Set the priority on the
        ResourceRequest object based on the priority of the
        CachedResourceRequest before calling
        ResourceLoadScheduler::scheduleSubresourceLoad().

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::startLoading): Create a ResourceRequest
        object and set its priority to ResourceLoadPriorityLow before
        passing it to ResourceLoadScheduler::scheduleSubresourceLoad().

        * platform/mac/WebCoreSystemInterface.h:
        (wkGetHTTPPipeliningPriority): Added.
        (wkSetHTTPPipeliningPriority): Added.
        * platform/mac/WebCoreSystemInterface.mm:
        (wkGetHTTPPipeliningPriority): Added.
        (wkSetHTTPPipeliningPriority): Added.

        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::adopt): Set m_priority when
        adopting a CrossThreadResourceRequestData.
        (WebCore::ResourceRequestBase::copyData): Set m_priority when
        creating a CrossThreadResourceRequestData.
        (WebCore::ResourceRequestBase::priority): Added.
        (WebCore::ResourceRequestBase::setPriority): Added.
        (WebCore::equalIgnoringHeaderFields): Priorities must match when
        comparing two ResourceRequest objects.

        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
        priority of new objects to ResourceLoadPriorityLow.
        (WebCore::ResourceRequestBase::priority): Added declaration.
        (WebCore::ResourceRequestBase::setPriority): Added declaration.
        (WebCore::isHTTPPipeliningEnabled): Added.
        (WebCore::shouldUseHTTPPipeliningPriority): Added.

        * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
        Mac OS X and Windows share code.
        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
        set the HTTP connection count per host, but return an
        'unlimited' value when using HTTP pipelining.  This method used
        to be defined in ResourceRequestMac.mm for Mac OS X.
        (WebCore::readBooleanPreference): Added.  Helper method for
        reading boolean user defaults.
        (WebCore::isHTTPPipeliningEnabled): Returns value of user
        default key WebKitEnableHTTPPipelining, or false if not set.
        (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
        user default key WebKitForceHTTPPipeliningPriorityHigh, or false
        if not set.
        * platform/network/cf/ResourceRequestCFNet.h: Updated so that
        Mac OS X and Windows share code.  Fixed indentation.
        (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
        (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.

        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
        HTTP pipelining priority on NSMutableFURLRequest object.
        (WebCore::ResourceRequest::doUpdateResourceRequest): Update
        m_priority from the NSURLRequest object.
        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
        Code is now shared with Windows in ResourceRequestCFNet.cpp.

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

        Reviewed by Darin Adler.

        Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
        when using WKScrollbars.

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

        Some of the terrible static arrays are now only needed in the 
        old non-WK code, so they are if-def'd now.
        * platform/mac/ScrollbarThemeMac.mm:
        
        Just patching this function in a better way than I did
        before.
        (WebCore::updateArrowPlacement):
        
        Call into WK for the right values.
        (WebCore::ScrollbarThemeMac::scrollbarThickness):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        
        Return false if there are no buttons.
        (WebCore::ScrollbarThemeMac::hasButtons):

        Return an empty IntRect if there are not buttons.
        (WebCore::buttonRepaintRect):

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

        Reviewed by Maciej Stachowiak.

        Add events to represent the start/end of a gesture scroll
        https://bugs.webkit.org/show_bug.cgi?id=53215

        * WebCore.exp.in: 
        Add new file.

        * WebCore.xcodeproj/project.pbxproj:
        Add new file.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * page/EventHandler.h:
        Add entry point for handling gesture events.

        * platform/PlatformGestureEvent.h: Added.
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        (WebCore::PlatformGestureEvent::type):
        (WebCore::PlatformGestureEvent::position):
        (WebCore::PlatformGestureEvent::globalPosition):
        (WebCore::PlatformGestureEvent::timestamp):
        Add platform agnostic representation of a gesture event.

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

        Reviewed by Dave Hyatt.

        <rdar://problem/8446709> Allow inter-ideograph justification for CJK
        https://bugs.webkit.org/show_bug.cgi?id=53184

        Tests: fast/text/justify-ideograph-complex.html
               fast/text/justify-ideograph-simple.html
               fast/text/justify-ideograph-vertical.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
        passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
        * platform/graphics/Font.cpp:
        (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
        for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
        before the first character. On return, isAfterExpansion says whether an expansion opportunity
        exists after the last character.
        * platform/graphics/Font.h: 
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::expandLastAdvance): Added.
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
        Renamed padding to expansion.
        (WebCore::TextRun::expansion): Renamed padding() to this.
        (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
        and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
        expansion.
        (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
        (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
        can expand the last advance if it is followed by a CJK ideograph.
        * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
        to m_expansionPerOpportunity.
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/efl/FontEfl.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/haiku/FontHaiku.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
        Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
        opportunity but the run disallows trailing expansion.
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
        of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
        * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
        to m_expansionPerOpportunity.
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/win/FontWin.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::UniscribeController): Updated for rename.
        * platform/graphics/wince/FontWinCE.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * platform/graphics/wx/FontWx.cpp:
        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
        (WebCore::EllipsisBox::selectionRect): Ditto.
        (WebCore::EllipsisBox::paintSelection): Ditto.
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
        (WebCore::InlineBox::expansion): Renamed toAdd() to this.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
        (WebCore::InlineTextBox::paint): Ditto.
        (WebCore::InlineTextBox::paintSelection): Ditto.
        (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
        (WebCore::InlineTextBox::offsetForPosition): Ditto.
        (WebCore::InlineTextBox::positionForOffset): Ditto.
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
        (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
        is not the last leaf box on the line.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
        in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
        last text box.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement): Ditto.
        (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
        (WebCore::RenderTextControl::paintPlaceholder): Ditto.
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::constructTextRun): Ditto.

2011-01-26  Andy Estes  <aestes@apple.com>

        Rubber-stamped by Darin Adler.

        Inline HTMLObjectElement::hasValidClassId().

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

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

        Reviewed by Tony Chang.

        [chromium] crash on getBoundingClientRect in complex text
        https://bugs.webkit.org/show_bug.cgi?id=53199

        Use the correct array bound; we want the number of characters processed by
        the shaper, not the longest continuous script run length.

        Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::nextScriptRun):
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        (WebCore::ComplexTextController::numCodePoints):

2011-01-26  Emil A Eklund  <eae@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
        https://bugs.webkit.org/show_bug.cgi?id=52084

        Test: fast/dom/css-delete-doc.html

        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::document):
        * css/CSSStyleSheet.h:
        * xml/XSLStyleSheet.h:
        (WebCore::XSLStyleSheet::parentStyleSheet):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        (WebCore::XSLStyleSheet::cachedResourceLoader):
        (WebCore::XSLStyleSheet::setParentStyleSheet):
        (WebCore::XSLStyleSheet::ownerDocument):
        * xml/XSLStyleSheetQt.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        (WebCore::XSLStyleSheet::cachedResourceLoader):
        (WebCore::XSLStyleSheet::ownerDocument):

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

        Reviewed by Kent Tamura.

        Reduce ref-count churn in shadowPseudoId.
        https://bugs.webkit.org/show_bug.cgi?id=53136

        Refactoring, so no new tests.

        * dom/Element.h:
        (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
        * html/ValidationMessage.cpp:
        (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
        * html/shadow/SliderThumbElement.h: Ditto.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
        * rendering/MediaControlElements.h: Ditto.

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.

        Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.

        * css/html.css:
        Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
        elements work properly.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
        in some cases (causing lines to all stack on top of one another).

        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::calculateBoundaries):
        Fix calculateBoundaries to be physical rather than logical.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::addForcedColumnBreak):
        * rendering/LayoutState.h:
        Rename childY to childLogicalOffset.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::addOverflowFromChildren):
        (WebCore::RenderBlock::addOverflowFromFloats):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::estimateLogicalTopPosition):
        (WebCore::RenderBlock::layoutBlockChild):
        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::selectionGaps):
        (WebCore::RenderBlock::removeFloatingObjectsBelow):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestColumns):
        (WebCore::RenderBlock::calcColumnWidth):
        (WebCore::RenderBlock::desiredColumnWidth):
        (WebCore::RenderBlock::columnRectAt):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::adjustPointToColumnContents):
        (WebCore::RenderBlock::adjustRectForColumns):
        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
        (WebCore::RenderBlock::adjustForColumns):
        (WebCore::RenderBlock::adjustForBorderFit):
        (WebCore::RenderBlock::nextPageLogicalTop):
        (WebCore::RenderBlock::applyBeforeBreak):
        (WebCore::RenderBlock::applyAfterBreak):
        (WebCore::RenderBlock::adjustForUnsplittableChild):
        (WebCore::RenderBlock::adjustLinePositionForPagination):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalRightOffsetForContent):
        (WebCore::RenderBlock::logicalLeftOffsetForContent):
        (WebCore::RenderBlock::leftForFloatIncludingMargin):
        (WebCore::RenderBlock::topForFloatIncludingMargin):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        Reworking of all the RenderBlock column functions to support flipping and vertical modes.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::flipForWritingModeIncludingColumns):
        Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::clientLogicalBottom):
        Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
        
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        Better terminology for pagination.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::offsetFromContainer):
        (WebCore::RenderInline::mapLocalToContainer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintChildLayerIntoColumns):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        (WebCore::RenderLayer::localBoundingBox):
        (WebCore::RenderLayer::boundingBox):
        Patch painting in RenderLayers to be vertical-text-aware.
    
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::mapLocalToContainer):
        Add code to be flipped block-aware with columns.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        Fix pagination to use better terminology.
        
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteQuads):
        (WebCore::RenderText::absoluteQuadsForRange):
        Fix a bug where vertical text wasn't taken into account.

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

        Unreviewed, rolling out r76719.
        http://trac.webkit.org/changeset/76719
        https://bugs.webkit.org/show_bug.cgi?id=53122

        Broke a bunch of media tests in Chromium/Qt/GTK.

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

        Reviewed by Ryosuke Niwa.

        [gtk] strip NUL characters when copying text/html on GTK+
        https://bugs.webkit.org/show_bug.cgi?id=52508

        Putting NUL characters in the text/html clipboard doesn't work in
        WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
        already stripping this character for plain text (for Windows), strip
        it in text/html too.

        * editing/MarkupAccumulator.h: mark function as virtual
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendString):
        (WebCore::StyledMarkupAccumulator::takeResults): strip nulls

2011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Reliable crash with getTextAtOffset()
        https://bugs.webkit.org/show_bug.cgi?id=53131

        Properly calculate length in bytes for a UTF8 substring.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (utf8Substr): Use character instead of bytes as units to
        calculate the length in bytes for the UTF8 string.

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

        Reviewed by Kent Tamura.

        Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
        https://bugs.webkit.org/show_bug.cgi?id=53122

        This is the first step in converting HTMLMediaElement to the new shadow DOM.

        Should not regress any existing tests. No observable change in behavior.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Ditto.
        * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
            which is now replaced with virtual shadowPseudoId on each corresponding class.
        (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
            display type in constructor.
        (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
            to disambiguate from the MediaControlMuteButtonElement.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
        (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
        (WebCore::MediaControlSeekForwardButtonElement::create): Added.
        (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
        (WebCore::MediaControlSeekBackButtonElement::create): Added.
        (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
        (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
            constructor argument.
        (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
        * rendering/MediaControlElements.h:
        (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
        (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
        (WebCore::RenderMedia::createSeekBackButton): Ditto.
        (WebCore::RenderMedia::createSeekForwardButton): Ditto.
        (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
        * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.

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

        Reviewed by James Robinson.

        Fix multisampling support in DrawingBuffer
        https://bugs.webkit.org/show_bug.cgi?id=53154

        In DrawingBuffer's multisampling code path, fixed enum usage and a
        bug where it would incorrectly redefine the depth and stencil
        buffers. Hooked up multisampling code path in Chromium port.

        Tested manually with some accelerated 2D canvas content.
        Multisampling isn't being switched on for the accelerated 2D
        canvas at the current time because it will increase fill rate
        requirements and cause a large number of rebaselines.

        * platform/graphics/Extensions3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supports):

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

        Unreviewed.

        [chromium] revert r68310 because of race conditions detected by tsans
        https://bugs.webkit.org/show_bug.cgi?id=53185

        Causes stability problems for Chromium, http://crbug.com/70589

        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
        (WebCore::SQLiteFileSystem::registerSQLiteVFS):

2011-01-26  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Make fireEventsAndUpdateStyle use stack local vectors. 
        https://bugs.webkit.org/show_bug.cgi?id=46760

        Test: animations/animation-add-events-in-handler.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):

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

        Reviewed by Adam Barth.

        Remove m_URL from FrameLoader and depend on Document::url()
        instead. FrameLoader::url() will be removed in a followup patch.
        https://bugs.webkit.org/show_bug.cgi?id=41165

        Refactor only, no new tests.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateURLForPushOrReplaceState):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURL):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::url):
        (WebCore::FrameLoader::setOutgoingReferrer):
        (WebCore::FrameLoader::startIconLoader):
        (WebCore::FrameLoader::commitIconURLToIconDatabase):
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        (WebCore::FrameLoader::updateFirstPartyForCookies):
        (WebCore::FrameLoader::loadInSameDocument):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::shouldScrollToAnchor):
        * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().

2011-01-25  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Antti Koivisto.

        Crashes loading pages when cancelling subresource loads through WebKit
        https://bugs.webkit.org/show_bug.cgi?id=53123
        <rdar://problem/8914361>
        
        Fix a crash that happened when cancelling subresource loads through WebKit.
        
        When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
        can be called recursively on the same function, either leading to infinite recursion, or deleting 
        an object when it is not done being used.
        
        The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
        CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).

        Test: fast/loader/willSendRequest-null-for-preload.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
            if our new URL is non-null.
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
        (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
            function was called synchronously
            from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
            so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
        (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
        (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
            so use Deque methods.
        * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.

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

        Reviewed by Pavel Feldman.

        Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
        https://bugs.webkit.org/show_bug.cgi?id=53072

        Test: inspector/console-substituted.html

        * inspector/InjectedScriptSource.js:
        (.):

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

        Reviewed by Martin Robinson.

        [cairo] Use CAIRO_OPERATOR_DARKEN when available
        https://bugs.webkit.org/show_bug.cgi?id=53084

        Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
        CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.

        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::toCairoOperator):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: visualize \n in strings as unicode cr
        symbol in stack variables sidebar.
        https://bugs.webkit.org/show_bug.cgi?id=53162

        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):

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

        Reviewed by Pavel Feldman.

        Web Inspector: size is wrong for cached resources in Network panel
        - Set the size for 304/not modified resources from cached resource.
        - Add response headers size to resource transfer size.
        https://bugs.webkit.org/show_bug.cgi?id=52886

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.get transferSize):
        (WebInspector.Resource.prototype.set responseHeaders):
        (WebInspector.Resource.prototype._headersSize):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):

2011-01-26  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Simon Hausmann.

        Fixed TiledBacking store to take into account new dirty regions caused by
        paint time layouts.

        Flawed rendering design for QtWebKit resulting in artifacts being displayed
        https://bugs.webkit.org/show_bug.cgi?id=49184

        There are no new tests as this patch aims at fixing flicker that
        happen randomly, mostly on slow hardware, thus are hard to reproduce
        consistently in an automated test.

        This patch does not fully address the said bug but it is a step in the
        right direction. A full solution to the bug, as currently perceived,
        requires either a Qt GUI API change, a performance hit for QtWebKit,
        or a hack, until a full solution is provided this patch is progress.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::updateTileBuffers):
        Changed to take into account newly dirtied areas created during
        tile update initiated layouts during the same update.

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

        Reviewed by Andreas Kling.

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

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        * platform/graphics/skia/PathSkia.cpp:
        (WebCore::Path::strokeBoundingRect):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        * platform/graphics/skia/PlatformContextSkia.h:

2011-01-26  Zalan Bujtas <zbujtas@gmail.com>

        Reviewed by Andreas Kling.

        [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.

        QPainterPath returns angle values with the origo being at the top left corner,
        we need to account for this in normalAngleAtLength().
        This Regressed with r66979.

        No new tests as this is already covered by ACID3.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::normalAngleAtLength):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: live edit does not update source snippet.
        https://bugs.webkit.org/show_bug.cgi?id=53097

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
        https://bugs.webkit.org/show_bug.cgi?id=53018

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getCompletions):
        (WebCore::InjectedScript::getCompletionsOnCallFrame):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::getCompletions):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):

2011-01-26  Hironori Bono  <hbono@chromium.org>

        Reviewed by Kent Tamura.

        A speculative fix for Bug 52422 - [chromium] More crash in
        FontFallbackList::determinePitch(const Font* font)
        https://bugs.webkit.org/show_bug.cgi?id=52422

        My previous change may not work on non-US Windows whose system fonts
        have localized aliases matching to the system locale because of a
        font-name mismatch in createFontIndirectAndGetWinName(). This change
        tries all the fonts installed in a PC and returns the first font that we
        can create without errors.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
        Added a struct used for getLastResortFallbackFontProc().
        (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
        (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.

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

        Reviewed by Nate Chapin.

        Add a DOMTimeStamp parameter to the requestAnimationFrame callback
        https://bugs.webkit.org/show_bug.cgi?id=53142

        This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
        closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
        and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
        update its animation state, they would potentially be out of sync with each other.  If they use
        the timestamp then all callbacks for the same "frame" will update to the same state.

        Test: fast/animation/request-animation-frame-timestamps.html

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithClass2Param):
        * dom/Document.cpp:
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h:
        * dom/RequestAnimationFrameCallback.idl:
        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/FrameView.h:

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

        Unreviewed attempt to fix compilation error for Chromium Clang.

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

2011-01-25  Ned Holbrook  <nholbrook@apple.com>

        Reviewed by Dan Bernstein.

        ComplexTextController incorrectly conflates string length and range of indexes
        https://bugs.webkit.org/show_bug.cgi?id=52760

        Test: fast/text/offsetForPosition-complex-fallback.html

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::offsetForPosition):
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
        (WebCore::ComplexTextController::advance):
        * platform/graphics/mac/ComplexTextController.h:
        (WebCore::ComplexTextController::ComplexTextRun::create):
        (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):

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

        Reviewed by David Hyatt.

        Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
        https://bugs.webkit.org/show_bug.cgi?id=53048

        Test: fast/overflow/overflow-rtl-vertical-origin.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollPosition):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        Take the scroll origin into account when calculating scrollbars in more places.

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

        Windows production build fix.
        Use correct configuration-specific path in makefile.

        * WebCore.vcproj/WebCore.make:

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

        Reviewed by Dimitri Glazkov.

        Radio button group state is not restored correctly
        https://bugs.webkit.org/show_bug.cgi?id=50442

        Fixes a bug that radio button states are not restored correctly in
        a case that non-first radio button in a group is checked.

        If "checked" attribute is present, the radio button is checked and
        other radio buttons in the group are unchecked. This behavior
        disturbs form state restoring. This patch changes this behavior so
        that the "checked" attribute handling is delayed after form state
        restoring.

        Test: fast/forms/state-restore-radio-group.html

        * html/HTMLFormControlElement.h:
         Make finishParsingChildren() protected so that HTMLInpuElement can call it.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
         - Add createdByParser parameter.
         - Initialize m_stateRestored and m_parsingInProgress.
        (WebCore::HTMLInputElement::create): Sync with the constructor.
        (WebCore::HTMLInputElement::restoreFormControlState):
         Set m_stateRestored in order to refer it in finishParsingChildren().
        (WebCore::HTMLInputElement::parseMappedAttribute):
         Don't call setChecked() during parsing. Move setNeedsValidityCheck()
         to setChecked().
        (WebCore::HTMLInputElement::finishParsingChildren):
         Call setChecked() if form state is not restored.
        (WebCore::HTMLInputElement::setChecked):
         Move setNeedsValidityCheck() from parseMappedAttribute() because
         finishParsingChildren() also needs to call setNeedsValidityCheck().
        * html/HTMLInputElement.h:
         - Remove the default value of HTMLFormElement* of the HTMLInputElement
           constructor, and add createdByParser parameter.
         - Introduce m_parsingInProgress and m_stateRestored.
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
         Sync with the HTMLInputElement constructor change.
        * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement):
         Sync with the HTMLInputElement constructor change.
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowInputElement::ShadowInputElement): ditto.
        * rendering/ShadowElement.h:
        (WebCore::ShadowElement::ShadowElement): ditto.

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

        Reviewed by Dimitri Glazkov.

        HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
        https://bugs.webkit.org/show_bug.cgi?id=52565

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
          Check checkInvalidControlsAndCollectUnhandled() result instead of
          checking emptiness of unhandled invalid controls list.
        (WebCore::HTMLFormElement::checkValidity): ditto.
        (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
          Renamed from collectUnhandledInvalidControls().
          Returns true if there is any invalid control regardless of event canceling.
        * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
          checkInvalidControlsAndCollectUnhandled().

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

        Reviewed by Dimitri Glazkov.

        Range and number inputs should reject increment and decrement by
        keyboard or mouse wheel if they are disabled or read-only
        https://bugs.webkit.org/show_bug.cgi?id=53151

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.

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

        Reviewed by Dimitri Glazkov.

        API to support localized numbers for <input type=number>
        https://bugs.webkit.org/show_bug.cgi?id=45730

        Introduce platform/text/LocalizedNumber.h, and
        LocalizedNumberNone.cpp, which is an empty implementation of the
        functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
        all platforms for now.

        A string in a type=number field is parsed as a localized number
        first. If the parsing fails, it is parsed as the HTML5 number.

        We introduce HTMLInputElement::visibleValue(). It represents a value
        which should be drawn by a renderer. HTMLInputElement::value() always
        returns a number formatted for HTML5, and visibleValue() may return a
        localized number.

        No new tests because this doesn't change any behavior.

        * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
        * CMakeLists.txt: ditto.
        * GNUmakefile.am: ditto.
        * WebCore.gypi: ditto.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * dom/InputElement.h: Add visibleValue().
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
        * html/HTMLInputElement.h: Declare visibleValue().
        * html/InputType.cpp:
        (WebCore::InputType::visibleValue): Add the default implementation of
          visibleValue(), which returns HTMLInputElement::value().
        * html/InputType.h: Add declarations.
        * html/NumberInputType.cpp:
        (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
        (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
        (WebCore::NumberInputType::visibleValue):
          Returns a localized number string produced by formatLocalizedNumber().
        (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
        (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
        * html/NumberInputType.h: Add declarations.
        * platform/text/LocalizedNumber.h: Added.
        * platform/text/LocalizedNumberNone.cpp: Added.
        (WebCore::parseLocalizedNumber):
        (WebCore::formatLocalizedNumber):
        (WebCore::isLocalizedNumberCharacter):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::updateFromElement):
          Calls InputElement::visibleValue() instead of value().
        * wml/WMLInputElement.h:
        (WebCore::WMLInputElement::visibleValue): Added. It just calls value().

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=53143
        Add IntRectHash

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/IntRectHash.h: Added.

        * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!

2011-01-25  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Ryosuke Niwa.

        Remove trailing whitespace in HTMLInputElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=53152

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        (WebCore::HTMLInputElement::applyStep):
        (WebCore::HTMLInputElement::updateFocusAppearance):
        (WebCore::HTMLInputElement::mapToEntry):
        (WebCore::HTMLInputElement::setAutofilled):
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):

2011-01-25  Mike Reed  <reed@google.com>

        Reviewed by James Robinson.

        DrawingBufer::reset() today checks if the new size is the same as its
        m_size, and if so, returns immediately. This does not match the
        semantics of <canvas>, which wants to clear its contents anytime the
        size is specified.
        https://bugs.webkit.org/show_bug.cgi?id=53149

        Test: Covered by existing <canvas> tests using gpu.

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::reset):

2011-01-25  Cris Neckar  <cdn@chromium.org>

        Reviewed by Adam Barth.

        Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
        https://bugs.webkit.org/show_bug.cgi?id=53038

        Test: fast/dom/window-domurl-crash.html

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::createdDomUrl):
        (WebCore::ScriptExecutionContext::destroyedDomUrl):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::domUrls):
        * html/DOMURL.cpp:
        (WebCore::DOMURL::DOMURL):
        (WebCore::DOMURL::~DOMURL):
        (WebCore::DOMURL::contextDestroyed):
        * html/DOMURL.h:
        (WebCore::DOMURL::scriptExecutionContext):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=52983
        Eliminate m_tagHistory pointer from CSSSelector

        Keep the component selectors in the array in CSSSelectorList instead
        of maintaining a linked list between them. This allows eliminating
        m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
        seems to improve some too due to better locality).

        * WebCore.xcodeproj/project.pbxproj:
        
            Make CSSSelector.h a private header.
        
        * css/CSSGrammar.y:
        
            Use CSSParserSelector during parsing to keep the tag history in 
            a linked list. This is flattened to an array after parsing.
            Use accessors for setting selector values.
            Use OwnPtr in selector vector.
            
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        * css/CSSPageRule.h:
        (WebCore::CSSPageRule::create):
        
            Simplify.
    
        * css/CSSParser.cpp:
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::createFloatingSelector):
        (WebCore::CSSParser::sinkFloatingSelector):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::updateSpecifiersWithElementName):
        (WebCore::CSSParser::createPageRule):
        * css/CSSParser.h:
        (WebCore::CSSParser::reusableSelectorVector):
        
            CSSSelector -> CSSParserSelector.
            Use OwnPtr in selector vector.
            
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserSelector::CSSParserSelector):
        (WebCore::CSSParserSelector::~CSSParserSelector):
        * css/CSSParserValues.h:
        (WebCore::CSSParserSelector::releaseSelector):
        (WebCore::CSSParserSelector::setTag):
        (WebCore::CSSParserSelector::setValue):
        (WebCore::CSSParserSelector::setAttribute):
        (WebCore::CSSParserSelector::setArgument):
        (WebCore::CSSParserSelector::setSimpleSelector):
        (WebCore::CSSParserSelector::setMatch):
        (WebCore::CSSParserSelector::setRelation):
        (WebCore::CSSParserSelector::setForPage):
        (WebCore::CSSParserSelector::pseudoType):
        (WebCore::CSSParserSelector::isUnknownPseudoElement):
        (WebCore::CSSParserSelector::isSimple):
        (WebCore::CSSParserSelector::tagHistory):
        (WebCore::CSSParserSelector::setTagHistory):
        
            Linked list used during parsing.
            Avoid recursive destruction.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType):
        (WebCore::CSSSelector::operator==):
        (WebCore::CSSSelector::selectorText):
        (WebCore::CSSSelector::setSimpleSelector):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::CSSSelector):
        (WebCore::CSSSelector::~CSSSelector):
        (WebCore::CSSSelector::tagHistory):
        (WebCore::CSSSelector::tag):
        (WebCore::CSSSelector::value):
        (WebCore::CSSSelector::setTag):
        (WebCore::CSSSelector::isLastInTagHistory):
        (WebCore::CSSSelector::setNotLastInTagHistory):
        (WebCore::CSSSelector::RareData::RareData):
        (WebCore::CSSSelector::RareData::~RareData):
        (WebCore::CSSSelector::createRareData):
        (WebCore::CSSSelector::setValue):
        
            Remove m_tagHistory.
            Keep m_value in the union with the rare data pointer instead.
            Make m_value and m_tag private, implement accessors.
            Add a new bit to indicate end of the tag history (multipart selector).
            Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
            
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::adoptSelectorVector):
        
            Flatten everything to an array.
        
        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
        * css/CSSSelectorList.h:
        (WebCore::CSSSelectorList::hasOneSelector):
        (WebCore::CSSSelectorList::next):
        
            Skip over the subparts of multipart selectors to find the next selector.
    
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::adoptSelectorVector):
        
            CSSSelector -> CSSParserSelector.
            
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        (WebCore::CSSRuleSet::addRule):
        (WebCore::collectIdsAndSiblingRulesFromList):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList):
        
            Use accessors.

2011-01-25  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Support small caps in complex text on linux
        https://bugs.webkit.org/show_bug.cgi?id=53051

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
        (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
        * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.

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

        Rubber-stamped by Adam Roben.

        Windows production build fix.
        Use correct environment variable escaping

        * WebCore.vcproj/WebCore.make:

2011-01-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Empty URLs are never display isolated
        https://bugs.webkit.org/show_bug.cgi?id=53053

        This check mirrors the check in the local case.  There isn't a good way
        to test this with a LayoutTest, but it is tested in Chromium (where
        this registry is used).

        * platform/SchemeRegistry.cpp:
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):

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

        Reviewed by Anders Carlsson.

        Pipe a timestamp down into the PlatformWheelEvent for the Mac.
        https://bugs.webkit.org/show_bug.cgi?id=53111

        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        (WebCore::PlatformWheelEvent::timestamp):
        Add timestamp member.

        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        Initialize the timestamp from the event.

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

        Unreviewed, rolling out r76625.
        http://trac.webkit.org/changeset/76625
        https://bugs.webkit.org/show_bug.cgi?id=53119

        "incorrect pixel test results" (Requested by rniwa on
        #webkit).

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

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

        Unreviewed WinCE build fix for r76614.

        * platform/FileSystem.h:

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

        Reviewed by Darin Adler.

        Adding border and padding to the calculation of the local caret rect for RenderBoxes.

        Undo moves caret to invalid position
        https://bugs.webkit.org/show_bug.cgi?id=49744

        Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
               editing/selection/caret-painting-after-paste-undo.html

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

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

        Reviewed by Anders Carlsson.

        Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
        https://bugs.webkit.org/show_bug.cgi?id=53107

        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

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

        Reviewed by Eric Carlson.

        REGRESSION (r72119): Audio never plays on Star Wars intro animation
        https://bugs.webkit.org/show_bug.cgi?id=52467
        
        QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
        type which it supports, though it handles .m4a files just fine.  Change the way
        we build the list of supported MIME Types through a new WebKitSystemInterface
        function.
        
        Caused by r72119, which adds system-specific extension->MIME entries to the cache
        before global entries, and the system-specific entries include QuickTime's registry 
        entries which contain the audio/m4a MIME type, while its components do not.

        Test: media/audio-mpeg4-supported.html

        * WebCore.vcproj/QTMovieWinCommon.vsprops:
        * platform/graphics/win/QTMovie.cpp:
        (getMIMETypeCallBack):
        (initializeSupportedTypes):
        (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
        (QTMovie::getSupportedType): Ditto.

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

        Reviewed by Jeremy Orlow.

        IndexedDB: Remove PlatformBridge::idbShutdown()
        https://bugs.webkit.org/show_bug.cgi?id=53077

        Since Chromium r72157, this is not used anymore. The previous use was
        to signal to the embedder that IndexedDB was shutting down, but we
        agreed it is better if the embedder keeps track of that itself.

        No new tests: this does not change any functionality.

        * platform/chromium/PlatformBridge.h:
        * storage/IDBFactoryBackendInterface.cpp:
        * storage/IDBFactoryBackendInterface.h:
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
        * storage/chromium/IDBFactoryBackendInterface.cpp:

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

        Reviewed by Anders Carlsson.

        WebKit is using CSBackupSetItemExcluded incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=53095
        rdar://problem/8790540

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::performOpenInitialization): Added code to
        exclude the database from backup one time, and record inside the
        database that this has been done.
        (WebCore::IconDatabase::wasExcludedFromBackup): Added.
        (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
        * loader/icon/IconDatabase.h: Added new functions above.

        * platform/FileSystem.cpp:
        (WebCore::canExcludeFromBackup): Added.
        (WebCore::excludeFromBackup): Added.

        * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
        and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
        things alphabetically, particularly platform-specific sections.

        * platform/cf/FileSystemCF.cpp:
        (WebCore::pathAsURL): Added.

        * platform/mac/FileSystemMac.mm:
        (WebCore::canExcludeFromBackup): Added.
        (WebCore::excludeFromBackup): Added.

        * platform/network/cf/FormDataStreamCFNet.cpp:
        (WebCore::advanceCurrentStream): Changed to call pathAsURL.
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::advanceCurrentStream): Ditto.

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

        Reviewed by Dirk Schulze.

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

        CGContextConcatCTM should use the CGLayer context, not the
        GraphicsContext. Also, the CTM needs to be adjusted (translated).
        This fixes SVG text gradient fill.

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

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

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

        Reviewed by Ryosuke Niwa.

        Cannot extend or modify forward by word over a non-contenteditable region
        https://bugs.webkit.org/show_bug.cgi?id=53070

        Test: editing/selection/extend-forward-by-word-over-non-editable.html

        Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
        functions which determine the end/start of words/lines/sentences in visible_units.cpp.

        This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
        inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
        The cursor is now moved to the end of the region (which is effectively a noop in this case).

        * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
        honorEditableBoundaryAtOrBefore and vice versa.
        (WebCore::previousWordPosition):
        (WebCore::nextWordPosition):
        (WebCore::startOfLine):
        (WebCore::endOfLine):
        (WebCore::previousSentencePosition):
        (WebCore::nextSentencePosition):
        (WebCore::logicalStartOfLine):
        (WebCore::logicalEndOfLine):

2011-01-25  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed build fix.
        After r76466, efsrv.lib is used unconditionally.
        Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.

        * WebCore.pro:

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

        Reviewed by Kenneth Russell.

        Style cleanup for WebGLRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=52352

        * html/canvas/WebGLBuffer.cpp:
        * html/canvas/WebGLBuffer.h:
        * html/canvas/WebGLObject.cpp:
        * html/canvas/WebGLProgram.cpp:
        * html/canvas/WebGLRenderbuffer.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::blendFunc):
        (WebCore::WebGLRenderingContext::createShader):
        (WebCore::WebGLRenderingContext::deleteBuffer):
        (WebCore::WebGLRenderingContext::deleteShader):
        (WebCore::WebGLRenderingContext::deleteTexture):
        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
        (WebCore::WebGLRenderingContext::validateRenderingState):
        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLShader.cpp:
        * html/canvas/WebGLTexture.cpp:
        * html/canvas/WebGLUniformLocation.cpp:
        * html/canvas/WebGLUniformLocation.h:

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

        Reviewed by Eric Seidel.

        Change ENABLE_3D_CANVAS to ENABLE_WEBGL
        https://bugs.webkit.org/show_bug.cgi?id=53041

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * GNUmakefile.am:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * bindings/js/JSArrayBufferCustom.cpp:
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDataViewCustom.cpp:
        * bindings/js/JSDocumentCustom.cpp:
        * bindings/js/JSFloat32ArrayCustom.cpp:
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSInt16ArrayCustom.cpp:
        * bindings/js/JSInt32ArrayCustom.cpp:
        * bindings/js/JSInt8ArrayCustom.cpp:
        * bindings/js/JSUint16ArrayCustom.cpp:
        * bindings/js/JSUint32ArrayCustom.cpp:
        * bindings/js/JSUint8ArrayCustom.cpp:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::markChildren):
        (WebCore::JSXMLHttpRequest::send):
        (WebCore::JSXMLHttpRequest::response):
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        * bindings/v8/custom/V8DataViewCustom.cpp:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::V8Document::getCSSCanvasContextCallback):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::getContextCallback):
        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
        (WebCore::V8XMLHttpRequest::sendCallback):
        * features.pri:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::reset):
        * html/HTMLCanvasElement.h:
        * html/canvas/ArrayBuffer.cpp:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.cpp:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/DataView.cpp:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.cpp:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.cpp:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.cpp:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.cpp:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESStandardDerivatives.cpp:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.cpp:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/Uint16Array.cpp:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.cpp:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.cpp:
        * html/canvas/Uint8Array.idl:
        * html/canvas/WebGLActiveInfo.idl:
        * html/canvas/WebGLBuffer.cpp:
        * html/canvas/WebGLBuffer.idl:
        * html/canvas/WebGLContextAttributes.cpp:
        * html/canvas/WebGLContextAttributes.idl:
        * html/canvas/WebGLContextEvent.idl:
        * html/canvas/WebGLExtension.cpp:
        * html/canvas/WebGLFramebuffer.cpp:
        * html/canvas/WebGLFramebuffer.idl:
        * html/canvas/WebGLGetInfo.cpp:
        * html/canvas/WebGLObject.cpp:
        * html/canvas/WebGLProgram.cpp:
        * html/canvas/WebGLProgram.idl:
        * html/canvas/WebGLRenderbuffer.cpp:
        * html/canvas/WebGLRenderbuffer.idl:
        * html/canvas/WebGLRenderingContext.cpp:
        * html/canvas/WebGLRenderingContext.idl:
        * html/canvas/WebGLShader.cpp:
        * html/canvas/WebGLShader.idl:
        * html/canvas/WebGLTexture.cpp:
        * html/canvas/WebGLTexture.idl:
        * html/canvas/WebGLUniformLocation.cpp:
        * html/canvas/WebGLUniformLocation.idl:
        * html/canvas/WebKitLoseContext.cpp:
        * html/canvas/WebKitLoseContext.idl:
        * page/DOMWindow.idl:
        * platform/graphics/ANGLEWebKitBridge.cpp:
        * platform/graphics/GraphicsContext3D.cpp:
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        * platform/graphics/gpu/DrawingBuffer.cpp:
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        * platform/graphics/mac/WebGLLayer.mm:
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/qt/Extensions3DQt.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
        (WebCore::GraphicsLayerQtImpl::paint):
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        * platform/graphics/qt/GraphicsLayerQt.h:
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::isAcceleratedCanvas):
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::containsPaintedContent):
        (WebCore::RenderLayerBacking::contentChanged):
        * webaudio/AudioBuffer.cpp:
        * webaudio/AudioBuffer.idl:
        * webaudio/RealtimeAnalyser.cpp:
        * webaudio/RealtimeAnalyser.h:
        * webaudio/RealtimeAnalyserNode.h:
        * webaudio/RealtimeAnalyserNode.idl:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setResponseType):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:

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

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.

        - Introduce Preferences.detailedHeapProfiles flag for controlling
          querying of detailed heap snapshots.
        - Add boilerplate code for the new view.
        - Factor out common code.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.h:
        (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
        * inspector/Inspector.idl:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
        * inspector/InspectorProfilerAgent.h:
        * inspector/front-end/DetailedHeapshotView.js: Added.
        (WebInspector.DetailedHeapshotView):
        (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
        (WebInspector.DetailedHeapshotView.prototype.get profile):
        (WebInspector.DetailedHeapshotView.prototype.set profile):
        (WebInspector.DetailedHeapshotView.prototype.show):
        (WebInspector.DetailedHeapshotView.prototype.hide):
        (WebInspector.DetailedHeapshotProfileType):
        (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
        (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
        (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
        (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
        (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
        (WebInspector.DetailedHeapshotProfileType.prototype.createView):
        * inspector/front-end/HeapSnapshot.js: Added.
        (WebInspector.HeapSnapshotEdgesIterator):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
        (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
        (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
        (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
        (WebInspector.HeapSnapshotNodeWrapper):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
        (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
        (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
        (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
        (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
        (WebInspector.HeapSnapshot):
        (WebInspector.HeapSnapshot.prototype._init):
        (WebInspector.HeapSnapshot.prototype.get rootEdges):
        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
        (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
        * inspector/front-end/Settings.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

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

        Reviewed by Pavel Feldman.

        Web Inspector: remove "attached" state related methods from InspectorAgent
        https://bugs.webkit.org/show_bug.cgi?id=53086

        * WebCore.exp.in:
        * inspector/InspectorAgent.cpp:
        * inspector/InspectorAgent.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
        * inspector/InspectorSettings.cpp:
        (WebCore::InspectorSettings::InspectorSettings):
        * inspector/InspectorSettings.h:

2011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
        https://bugs.webkit.org/show_bug.cgi?id=51873
        
        Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
        No new functionality so no new tests.

        * html/canvas/Int32Array.h:
        (WebCore::Int32Array::set):
        * html/canvas/Int8Array.h:
        (WebCore::Int8Array::set):
        * html/canvas/Uint16Array.h:
        (WebCore::Uint16Array::set):
        * html/canvas/Uint32Array.h:
        (WebCore::Uint32Array::set):
        * html/canvas/Uint8Array.h:
        (WebCore::Uint8Array::set):

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

        Reviewed by Dirk Schulze.

        Repaint SVG elements with filter instead of relayout where possible
        https://bugs.webkit.org/show_bug.cgi?id=52200

        This patch allows repainting of filters, when their
        attribute changes does not require relayout.

        Existing dynamic-update tests cover this feature.

        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::clearResult): Clearing the currently stored image
        before repainting.
        * platform/graphics/filters/FilterEffect.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
        but filters should also be detected to allow safe testing and casting.
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
        (WebCore::RenderSVGResourceFilter::applyResource):
        determineFilterPrimitiveSubregion does not require the filter anymore.
        (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
        if lastEffect->hasResult() is false.
        (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
        Searching for all FilterEffects, whose created by the current FilterElement,
        and clearing all resulting images depending on those FilterEffects.
        * rendering/svg/RenderSVGResourceFilter.h:
        (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
        The filter argument is unnecessary anymore. But is is still kept as a static
        member, since the primitive renderer still does not know about the
        FilterEffect objects.
        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
        (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
        Calls RenderSVGResourceFilter::primitiveAttributeChanged.
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
        Setting the new attribute value for each FilterEffect.
        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
        * svg/SVGFEDiffuseLightingElement.h:
        Calling primitiveAttributeChanged.
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
        This function will be removed when all FilterElement implements
        their setFilterEffectAttribute
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
        renderers are assigned to the filter effects.
        (WebCore::SVGFilterBuilder::clearEffects):
        (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
        clearing the result images for those filters, whose depend on
        the starting filter.
        * svg/graphics/filters/SVGFilterBuilder.h:
        (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
        (WebCore::SVGFilterBuilder::effectByRenderer): returns the
        FilterEffect belongs to this RenderObject.

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

        Reviewed by Nikolas Zimmermann.

        SVG is missing to-animation support for Path
        https://bugs.webkit.org/show_bug.cgi?id=52982

        SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
        animation did not work and an assert was thrown, because of the missing m_fromPath.
        This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.

        Test: svg/animations/animate-path-to-animation.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
        m_fromPath, since 'to' animations are accumulative.
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
        (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
        * svg/SVGPathByteStream.h:
        (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: bind resources to URLs upon adding them into the tree.
        https://bugs.webkit.org/show_bug.cgi?id=53013

        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype._processCachedResources):
        (WebInspector.NetworkManager.prototype.inflightResourceForURL):
        (WebInspector.NetworkDispatcher):
        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
        (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
        (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
        (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
        (WebInspector.NetworkDispatcher.prototype.didFailLoading):
        (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
        (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
        (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        (WebInspector.NetworkDispatcher.prototype._startResource):
        (WebInspector.NetworkDispatcher.prototype._finishResource):
        (WebInspector.NetworkDispatcher.prototype._createResource):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
        (WebInspector.ResourceTreeModel.prototype._clearResources):
        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
        (WebInspector.ResourcesPanel.prototype.showSourceLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
        (WebInspector.ScriptsPanel.prototype._addScript):

2011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Introduce FontMetrics abstraction
        https://bugs.webkit.org/show_bug.cgi?id=51456

        Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
        This hopefully fixes differences between 32/64 bit bots.

        Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        (WebCore::SimpleFontData::initCharWidths):

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

        Reviewed by Pavel Feldman.

        Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
        https://bugs.webkit.org/show_bug.cgi?id=52999

        * inspector/Inspector.idl:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::didCommitLoad):
        (WebCore::InspectorAgent::enableDebugger):
        (WebCore::InspectorAgent::inspectedURLWithoutFragment):
        * inspector/InspectorAgent.h:
        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
        * inspector/InspectorBrowserDebuggerAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
        (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
        (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._projectChanged):
        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
        (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):

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

        Reviewed by Martin Robinson.

        [GTK] Crash in some pages containing flash
        https://bugs.webkit.org/show_bug.cgi?id=53016

        Flash plugin can produce X errors that are handled by the GDK X
        error handler, which exits the process. Since we don't want to
        crash due to flash bugs, we install a custom error handler to show
        a warning when a X error happens without aborting.

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

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

        Reviewed by Martin Robinson.

        [GTK] Implement spin buttons in RenderThemeGtk
        https://bugs.webkit.org/show_bug.cgi?id=51454

        Paint inner up/down buttons for spin button elements when building
        with GTK+ 3.x.

        Test results will land with the GTK+ 2.x version of this patch.

        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeGtk::paintInnerSpinButton):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::spinButtonArrowSize):
        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
        (WebCore::paintSpinArrowButton):
        (WebCore::RenderThemeGtk::paintInnerSpinButton):

2011-01-24  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
        in r76575.

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::~CachedResource):

2011-01-24  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Tony Chang.

        Add runtime checks for invariants in memory cache
        https://bugs.webkit.org/show_bug.cgi?id=53059
        
        To help track down bug 53045, add some CRASH calls in addition to
        ASSERTs, so that we can track down failures in reliability bots.

        Just some checks, no new tests necessary.
        
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::~CachedResource):

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

        Reviewed by Dan Bernstein.

        Leaking CSSRuleDataList objects
        https://bugs.webkit.org/show_bug.cgi?id=53062

        Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::~CSSRuleSet):

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

        Reviewed by Eric Seidel.

        Refcount Images used in rendering code
        https://bugs.webkit.org/show_bug.cgi?id=52701

        Change StyleImage::image(RenderObject*, const IntSize&) and
        CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
        return PassRefPtr<Image>, and adjust other code accordingly.
        
        This allows us to return one-time images, for example for CSS gradients
        whose appearance may change depending on factors other than the renderer
        and the destination size.

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::image):
        * css/CSSCanvasValue.h:
        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::image):
        * css/CSSGradientValue.h:
        * css/CSSImageGeneratorValue.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        (WebCore::RenderImage::paintIntoRect):
        * rendering/RenderImageResource.h:
        (WebCore::RenderImageResource::image):
        * rendering/RenderImageResourceStyleImage.h:
        (WebCore::RenderImageResourceStyleImage::image):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/style/StyleCachedImage.cpp:
        (WebCore::StyleCachedImage::image):
        * rendering/style/StyleCachedImage.h:
        * rendering/style/StyleGeneratedImage.cpp:
        (WebCore::StyleGeneratedImage::image):
        * rendering/style/StyleGeneratedImage.h:
        * rendering/style/StyleImage.h:
        * rendering/style/StylePendingImage.h:
        (WebCore::StylePendingImage::image):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):

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

        Unreviewed, round ascent and descent to match old code.

        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::platformInit):

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

        Reviewed by Chris Marrin.

        perspective() transform function should take lengths
        https://bugs.webkit.org/show_bug.cgi?id=52683
        
        The argument to the perspective() transform function should
        be a Length, rather than a bare number. Bare numbers are still
        accepted (and treated as px), but this behavior is deprecated.

        Test: animations/3d/transform-perspective.html
              transforms/3d/general/3dtransform-values.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransform): Check the units for the perspective()
        function. Allow bare numbers for backwards compatibility.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createTransformOperations): Convert
        value to Length.
        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
        (WebCore::clampToPostiveInteger): Helper.
        (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
        * platform/graphics/transforms/PerspectiveTransformOperation.h:
        (WebCore::PerspectiveTransformOperation::create): double -> Length.
        (WebCore::PerspectiveTransformOperation::perspective): Ditto.
        (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
        (WebCore::PerspectiveTransformOperation::apply): Ditto.
        (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
        that the Length is a fixed type.

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

        Reviewed by Dimitri Glazkov.

        [Windows] Textfield <input>s have different widths.
        https://bugs.webkit.org/show_bug.cgi?id=48405

        - Apply the padding override for type=text to other textfield types too.
        - Reset margin value of outer spin button, which is not used in Windows.
        - Don't add inner spin button width to the preferred text field width.
          Text fields should have the identical widths regardless of the
          existence of spin buttons.

        Test: fast/forms/input-widths.html

        * css/themeWin.css:
        (input[type="week"]):
        (input[type="week"]:disabled):
        (input[type="search"]::-webkit-search-cancel-button):
        (input::-webkit-outer-spin-button):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
        Don't add inner spin button width to the preferred width.

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

        Reviewed by Dimitri Glazkov.

        Some bugs of search cancel button and spin button about state change in
        an event handler.
        https://bugs.webkit.org/show_bug.cgi?id=46950

        Fix the following problems:
         * Type=search field didn't release event capturing
         * Assertion failure when an input field with spin buttons was changed
           to another type on focus event.
         * A input field with spin button didn't release event capturing when it
           was changed to another type on focus event.

        Tests: fast/forms/input-number-change-type-on-focus.html
               fast/forms/search-hide-cancel-on-cancel.html

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
         - Make the variable 'input' RefPtr.  It makes the code simpler.
         - Remove visibility check on mouseup event. We should release capturing
           anyway because the cancel button may be invisible if JavaScript code
           called by the focus event removes the input value.
        (WebCore::SpinButtonElement::detach):
         - Release capturing on detach because it is possible that a spin button
           node is detached while it is capturing events.
        (WebCore::SpinButtonElement::defaultEventHandler):
          Take a reference to this and check renderer() after some functions which
          may run JavaScript code.
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
          Make the variable 'input' RefPtr to align other functions in this file.
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
        * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().

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

        Reviewed by Ojan Vafai.

        Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
        https://bugs.webkit.org/show_bug.cgi?id=52781

        The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
        and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
        non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.

        Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
        multiple times but instead it traverses through the string and replaces a space that immediately follows
        another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.

        * editing/CompositeEditCommand.cpp:
        * editing/htmlediting.cpp:
        (WebCore::stringWithRebalancedWhitespace): Written.
        * editing/htmlediting.h:
        (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp

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

        Reviewed by James Robinson.

        Web Audio API: port FFTFrame to FFTW
        https://bugs.webkit.org/show_bug.cgi?id=52989

        Ported FFTFrame class to the open-source FFTW library. Tested with
        unit tests from Chris Rogers. Made preliminary changes to GYP
        files for conditional compilation of these files; will need to be
        adjusted once FFTW is integrated as third-party source.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/audio/FFTFrame.h:
        * platform/audio/fftw: Added.
        * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):
        (WebCore::FFTFrame::fftwPlanForSize):

2011-01-24  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Reset the page scale factor on standard frame loads
        https://bugs.webkit.org/show_bug.cgi?id=53058
        <rdar://problem/8908844>

        Add a symbol needed by WebKit2.

        * WebCore.exp.in:

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

        Reviewed by Eric Seidel.

        Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
        ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52676

        Stop instantiating legacy editing positions in the following files.

        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::prepareForTextInsertion):
        (WebCore::InsertTextCommand::performTrivialReplace):
        (WebCore::InsertTextCommand::input):
        (WebCore::InsertTextCommand::insertTab):
        * editing/MoveSelectionCommand.cpp:
        (WebCore::MoveSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
        (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
        (WebCore::ReplaceSelectionCommand::doApply):
        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelectionFromNone):
        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::didCheck):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::makeEditableRootEmpty):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendText):
        (WebCore::StyledMarkupAccumulator::serializeNodes):
        (WebCore::highestAncestorToWrapMarkup):
        (WebCore::createMarkup):

2011-01-24  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        Roll back r67261 ("Don't fire onclick on middle clicks") due to
        regressions.
        https://bugs.webkit.org/show_bug.cgi?id=46733

        * html/HTMLAnchorElement.cpp:
        (WebCore::isLinkClick):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        (WebCore::HTMLInputElement::postDispatchEventHandler):
        (WebCore::HTMLInputElement::defaultEventHandler):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):

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

        Reviewed by Eric Seidel.

        [GTK] Many DOM XHTML tests time out
        https://bugs.webkit.org/show_bug.cgi?id=52553

        Properly handle the situation where a synchronous load fails before the inner
        event loop has started. In this case, we simply do not run the inner event loop,
        or else it will block indefinitely (since no GIO or libsoup callbacks will fire).

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
        load if it fails up front.

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

        Reviewed by Eric Seidel.

        Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=52338

        Removed the long/unsigned long types and corresponding get functions
        and use int/unsigned int instead.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/WebGLGetInfo.cpp:
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        (WebCore::WebGLGetInfo::getInt):
        (WebCore::WebGLGetInfo::getUnsignedInt):
        * html/canvas/WebGLGetInfo.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::getIntParameter):
        (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
        * html/canvas/WebGLRenderingContext.h:

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

        Reviewed by Darin Adler.

        Remove sizeInBytes from GraphicsContext3D's various implementations
        https://bugs.webkit.org/show_bug.cgi?id=52339

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::sizeInBytes):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

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

        Windows Production build fix

        * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.

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

        Reviewed by Nate Chapin.

        [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
        https://bugs.webkit.org/show_bug.cgi?id=52911

        Plain refactoring, covered by the existing tests.

        * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
        * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
        * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
        * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
        (WebCore::ChunkedTable::ChunkedTable):
        (WebCore::ChunkedTable::add):
        (WebCore::ChunkedTable::remove):
        (WebCore::ChunkedTable::clear):
        (WebCore::ChunkedTable::visit):
        (WebCore::ChunkedTable::Chunk::Chunk):
        (WebCore::ChunkedTable::clearEntries):
        (WebCore::ChunkedTable::visitEntries):
        (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
        (WebCore::IntrusiveDOMWrapperMap::get):
        (WebCore::IntrusiveDOMWrapperMap::set):
        (WebCore::IntrusiveDOMWrapperMap::contains):
        (WebCore::IntrusiveDOMWrapperMap::visit):
        (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
        (WebCore::IntrusiveDOMWrapperMap::clear):
        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
        * bindings/v8/StaticDOMDataStore.h: include added.

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

        Reviewed by Chris Marrin.

        TransformationMatrix multiply operations apply operands in wrong order.
        https://bugs.webkit.org/show_bug.cgi?id=52780

        Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
        not a multLeft).

        Remove TransformationMatrix::multiply, which was actually doing a multLeft.

        Fix TransformationMatrix::operator* and operator*= such that the operand is
        applied to the right-hand side of the matrix that the method is called on.
        i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
        "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
        "a *= b" stores "a * b" in "a".

        Convert all call sites for these methods to provide operands in the correct order.

        No new tests as patch adds no new functionality.

        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::multiply):
        * platform/graphics/transforms/Matrix3DTransformOperation.h:
        (WebCore::Matrix3DTransformOperation::apply):
        * platform/graphics/transforms/MatrixTransformOperation.h:
        (WebCore::MatrixTransformOperation::apply):
        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::scaleNonUniform):
        (WebCore::TransformationMatrix::scale3d):
        (WebCore::TransformationMatrix::rotate3d):
        (WebCore::TransformationMatrix::skew):
        (WebCore::TransformationMatrix::applyPerspective):
        (WebCore::TransformationMatrix::multiply):
        (WebCore::TransformationMatrix::recompose):
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::TransformationMatrix::operator*=):
        (WebCore::TransformationMatrix::operator*):
        * rendering/RenderLayer.cpp:
        (WebCore::transparencyClipBox):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTransformFromContainer):
        * rendering/TransformState.cpp:
        (WebCore::TransformState::applyTransform):
        (WebCore::HitTestingTransformState::applyTransform):

2011-01-24  Andrei Popescu  <andreip@google.com>

        Reviewed by Nate Chapin.

        IndexedDatabase methods should not take arguments of type OptionsObject
        https://bugs.webkit.org/show_bug.cgi?id=53012

        This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
        IDBObjectStore::createIndex, to using a plain list of arguments instead of
        grouping the various parameters inside a single OptionsObject argument.
        This decision was made on public-webapps@w3.org mailing list.

        We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
        methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
        in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
        use it.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ValueToWebCoreDOMStringList):
        * bindings/v8/V8Binding.h:
        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.h:
        (WebCore::IDBDatabase::transaction):
        * storage/IDBDatabase.idl:
        * storage/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * storage/IDBIndex.h:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * storage/IDBIndex.idl:
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::openCursor):
        * storage/IDBObjectStore.idl:

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract dispatch API from network manager.
        https://bugs.webkit.org/show_bug.cgi?id=53009

        * WebCore.xcodeproj/project.pbxproj:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager):
        (WebInspector.NetworkManager.prototype.reset):
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkManager.prototype._processCachedResources):
        (WebInspector.NetworkDispatcher):
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
        (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
        (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        (WebInspector.NetworkDispatcher.prototype._startResource):
        (WebInspector.NetworkDispatcher.prototype._updateResource):
        (WebInspector.NetworkDispatcher.prototype._finishResource):
        (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
        (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
        (WebInspector.NetworkDispatcher.prototype._createResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._innerRequestContent):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype.reset):
        (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
        https://bugs.webkit.org/show_bug.cgi?id=53007

        It's impossible to create "provisional" inspector for pages which are
        not yet created so there is no need to listen for page creation in ScriptDebugServer.

        * bindings/js/ScriptDebugServer.cpp:
        * bindings/js/ScriptDebugServer.h:
        * page/Page.cpp:
        (WebCore::Page::Page):

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

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
        https://bugs.webkit.org/show_bug.cgi?id=53002


        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix warnings about unregistering an invalid timer
        https://bugs.webkit.org/show_bug.cgi?id=53006

        The ShadowBuffer's purge timer ID was initialized with 0 which lead
        to us calling QObject::killTimer(0), causing some qWarnings.

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

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

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Fix heap snapshot table sorting.

        Fix table sorting to avoid qsort instability artefacts.

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

        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._sortData):
        (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
        (WebInspector.HeapSnapshotDataGridList.propertyComparator):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: Find duplicate strings in localizedStrings.js, update it.

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

        * English.lproj/localizedStrings.js:

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

        Unreviewed, build fix  for r76509.

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpoint):

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

        Unreviewed, build fix  for r76509.

        * bindings/js/ScriptDebugServer.h:

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: set breakpoints by line:column.
        https://bugs.webkit.org/show_bug.cgi?id=52615

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        (WebCore::ScriptDebugServer::hasBreakpoint):
        (WebCore::ScriptDebugServer::clearBreakpoints):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/ScriptBreakpoint.cpp: Removed.
        * inspector/ScriptBreakpoint.h:
        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get url):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.continueToLine):
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):

2011-01-24  Peter Beverloo  <peter@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: recognize application/x-font-woff as a valid mime-type.
        https://bugs.webkit.org/show_bug.cgi?id=52977

        No new tests.

        * inspector/front-end/inspector.js:

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

        Unreviewed, fix for r76497.

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):

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

        Reviewed by Tor Arne Vestbø.

        [Qt] Use rad2deg() from WTF instead of rolling our own.
        https://bugs.webkit.org/show_bug.cgi?id=52993

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::rotate):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

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

        Reviewed by Martin Robinson.

        [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
        https://bugs.webkit.org/show_bug.cgi?id=52885

        No new tests as it does not change functionality. We will not wait for
        the the input stream to close to issue didFinishLoading to
        WebCore. We expect a subtle performance improvement with this
        patch when loading complex web pages, as we wouldn't have to wait
        for the stream to close (which involves creating a thread among
        other things).

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

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

        Reviewed by Pavel Feldman.

        Web Inspector: eliminate SourceView and ScriptView classes.
        https://bugs.webkit.org/show_bug.cgi?id=52896

        SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/GoToLineDialog.js:
        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.createResourceView):
        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
        (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show):
        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
        * inspector/front-end/ScriptView.js: Removed.
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
        (WebInspector.ScriptsPanel.prototype._formatScript):
        (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.show):
        (WebInspector.SourceFrame.prototype.hide):
        (WebInspector.SourceFrame.prototype.hasContent):
        (WebInspector.SourceFrame.prototype._createTextViewer):
        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
        (WebInspector.SourceFrame.prototype.performSearch):
        * inspector/front-end/SourceView.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-01-24  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] Move project files into Source
        https://bugs.webkit.org/show_bug.cgi?id=52891

        No new tests needed.

        * WebCore.pri:
        * WebCore.pro:

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

        Unreviewed, trivial fix.

        Fix a Chromium-only assertion failure by r76491.
        https://bugs.webkit.org/show_bug.cgi?id=38982

        Separate icon loading from the FileChooser constructor in order to avoid
        ref() before adoptRef().

        * platform/FileChooser.cpp:
        (WebCore::FileChooser::FileChooser):
        (WebCore::FileChooser::initialize):
        (WebCore::FileChooser::create):
        * platform/FileChooser.h:

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

        Reviewed by Kent Tamura.

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

        No new tests. No behavioral change.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement):
        * rendering/TextControlInnerElements.h:

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

        Reviewed by Pavel Feldman.

        REGRESSION (r72895): console.trace crashes
        https://bugs.webkit.org/show_bug.cgi?id=52981

        - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
        non-null value.
        - Use PassRefPtr for objects whos ownership is passed to the inspector.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
        own header to reduce compilation time of other classes that depend on the inspector instrumentation.
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        (WebCore::InspectorInstrumentation::consoleCount):
        (WebCore::InspectorInstrumentation::startConsoleTiming):
        (WebCore::InspectorInstrumentation::stopConsoleTiming):
        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
        (WebCore::InspectorInstrumentation::addProfile):
        (WebCore::InspectorInstrumentation::profilerEnabled):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
        * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
        own header to reduce compilation time of other classes that depend on the inspector instrumentation.
        (WebCore::InspectorInstrumentation::didOpenDatabase):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::consoleCountImpl):
        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
        (WebCore::InspectorInstrumentation::addProfileImpl):
        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
        * inspector/InspectorInstrumentation.h:
        * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
        (WebCore::Console::addMessage):
        (WebCore::Console::trace):
        (WebCore::Console::count):
        (WebCore::Console::markTimeline):
        (WebCore::Console::profileEnd):
        (WebCore::Console::timeEnd):
        (WebCore::Console::group):
        (WebCore::Console::groupCollapsed):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):

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

        Reviewed by Darin Fisher.

        [Chromium] Support icon loading for <input type=file>
        https://bugs.webkit.org/show_bug.cgi?id=38982

        An icon data in Chromium port is represented as WebCore::Image. We
        don't need OS-specific code anymore.

        * WebCore.gypi:
        * platform/graphics/Icon.h:
        (WebCore::Icon::create): Add Chromium-specific factory.
        * platform/graphics/chromium/IconChromium.cpp: Added.
        * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
        * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
        * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
        * platform/graphics/chromium/PlatformIcon.h:

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

        Reviewed by Pavel Feldman.

        Web Inspector: move search functions from SourceView to SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=52895

        This is the last step before eliminating SourceView and ScriptView since
        this classes just delegate everything to SourceFrame.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.set visible):
        (WebInspector.SourceFrame.prototype._clearLineHighlight):
        (WebInspector.SourceFrame.prototype._createTextViewer):
        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
        (WebInspector.SourceFrame.prototype.performSearch):
        (WebInspector.SourceFrame.prototype.searchCanceled):
        (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
        (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
        (WebInspector.SourceFrame.prototype.showingLastSearchResult):
        (WebInspector.SourceFrame.prototype._jumpToSearchResult):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.searchCanceled):
        (WebInspector.SourceView.prototype.performSearch):
        (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
        (WebInspector.SourceView.prototype.jumpToLastSearchResult):
        (WebInspector.SourceView.prototype.jumpToNextSearchResult):
        (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
        (WebInspector.SourceView.prototype.showingFirstSearchResult):
        (WebInspector.SourceView.prototype.showingLastSearchResult):
        (WebInspector.SourceView.prototype.clearMessages):

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

        Unreviewed, rolling out r76463.
        http://trac.webkit.org/changeset/76463
        https://bugs.webkit.org/show_bug.cgi?id=52993

        It broke canvas/philip/tests/2d.path.stroke.skew.html
        (Requested by Ossy on #webkit).

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::rotate):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

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

        Reviewed by Pavel Feldman.

        Web Inspector: summary bar is not resized properly with the rest of network panel
        https://bugs.webkit.org/show_bug.cgi?id=52881

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):

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

        Reviewed by Ryosuke Niwa.

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

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

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

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

        Follow-up to r76477.

        Fix the scripts that detect problematic code such as static initializers
        and destructors, weak vtables, inappropriate files in the framework wrappers,
        and public headers including private headers. These had all been broken
        since the projects were moved in to the Source directory as the paths to the
        scripts were not updated at that time.

        Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.

        * WebCore.xcodeproj/project.pbxproj:

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

        Build fix after r76459.

        Static member variables or globals of types that have constructors or destructors are bad as
        they generate static initializers and destructors. This is code that is run either at link time
        when the library is loaded in to memory or at application termination time. Both of these are
        terrible for performance and are thus outlawed in WebKit code.

        The typical solution is to replace the static member or global with a function that allocates
        the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
        at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
        package, but sadly fails to work in this case due to the type containing multiple template
        parameters.
        
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::inspectorAgents):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::bindInspectorAgent):
        (WebCore::InspectorInstrumentation::unbindInspectorAgent):
        (WebCore::InspectorInstrumentation::inspectorAgentForPage):

2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Add support for -webkit-mask properties to the
        accelerated compositing path.
        https://bugs.webkit.org/show_bug.cgi?id=49780
         
        Tests: Existing tests in LayoutTests/compositing/masks

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::draw):
        (WebCore::ContentLayerChromium::unreserveContentsTexture):
        (WebCore::ContentLayerChromium::bindContentsTexture):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setMaskLayer):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setMaskLayer):
        (WebCore::LayerChromium::maskLayer):
        (WebCore::LayerChromium::unreserveContentsTexture):
        (WebCore::LayerChromium::bindContentsTexture):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        * platform/graphics/chromium/LayerTexture.cpp:
        (WebCore::LayerTexture::bindTexture):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
        (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        (WebCore::RenderSurfaceChromium::draw):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):

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

        Reviewed by Darin Adler.

        Use WTF::StringHasher in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=52934

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::urlHostHash):
        * platform/LinkHash.cpp:
        (WebCore::visitedLinkHashInline):
        * platform/cf/BinaryPropertyList.cpp:
        (WebCore::IntegerArrayHash::hash):
        * platform/graphics/wx/FontPlatformDataWx.cpp:
        (WebCore::FontPlatformData::computeHash):
        * platform/network/ProtectionSpaceHash.h:
        (WebCore::ProtectionSpaceHash::hash):

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

        Reviewed by David Kilzer.

        Add an overload to base64Encode with String output
        https://bugs.webkit.org/show_bug.cgi?id=50122

        This change removes duplicated code.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::resourceContentBase64):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::btoa):
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::createUniqueFontName):
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::createUniqueFontName):
        * platform/graphics/wince/FontCustomPlatformData.cpp:
        (WebCore::createUniqueFontName):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::encodeBasicAuthorization):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::encodeBasicAuthorization):
        * platform/text/Base64.cpp:
        (WebCore::base64Encode):
        * platform/text/Base64.h:
        (WebCore::base64Encode):
        * platform/wince/KeygenWinCE.cpp:
        (WebCore::WebCore::signedPublicKeyAndChallengeString):

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

        Reviewed by David Kilzer.

        Add String::containsOnlyLatin1()
        https://bugs.webkit.org/show_bug.cgi?id=52979

        Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::btoa):
        (WebCore::DOMWindow::atob):

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

        Reviewed by Andreas Kling.

        [CMake] Add missing CodeGenerator dependencies
        https://bugs.webkit.org/show_bug.cgi?id=52976

        * CMakeLists.txt:

2011-01-23  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt][Symbian] Fix --minimal build
        https://bugs.webkit.org/show_bug.cgi?id=52839

        Some of the plugins' functionality is reimplemented in
        Symbian specific files.
        Some of this functionality should be compiled in even if 
        the guard NETSCAPE_PLUGIN_API is turned off.
        This patch moves that functionality out of the
        NETSCAPE_PLUGIN_API guard.

        Build fix so no new tests.

        * WebCore.pro:
        * plugins/symbian/PluginPackageSymbian.cpp:

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

        Reviewed by Tor Arne Vestbø.

        [Qt] Use rad2deg() from WTF instead of rolling our own.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::rotate):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>

        Reviewed by Andreas Kling.

        Viewport meta: Always adjust device dimensions to the device pixel ratio.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):

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

        Reviewed by Kenneth Rohde Christiansen.

        Don't scale absolute geometry specified by viewport meta tag.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):

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

        Unreviewed build fix.

        Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.

        Touch Inspector.idl.

        * inspector/Inspector.idl:

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

        Reviewed by Pavel Feldman.

        Web Inspector: next step in splitting InspectorController.

        Splitting InspectorController is a bit tricky process.

        As a first step I'll do the next things:
        1) rename existing InspectorController to InspectorAgent;
        2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
        3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;

        The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.

        As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.

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

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::nodeForIdCallback):
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::InjectedScriptHost):
        (WebCore::InjectedScriptHost::clearConsoleMessages):
        (WebCore::InjectedScriptHost::databaseForId):
        (WebCore::InjectedScriptHost::selectDatabase):
        (WebCore::InjectedScriptHost::selectDOMStorage):
        (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
        (WebCore::InjectedScriptHost::inspectorDOMAgent):
        (WebCore::InjectedScriptHost::frontend):
        (WebCore::InjectedScriptHost::didCreateWorker):
        (WebCore::InjectedScriptHost::didDestroyWorker):
        * inspector/InjectedScriptHost.h:
        (WebCore::InjectedScriptHost::create):
        (WebCore::InjectedScriptHost::inspectorAgent):
        (WebCore::InjectedScriptHost::disconnectController):
        * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::~InspectorAgent):
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        (WebCore::InspectorAgent::enabled):
        (WebCore::InspectorAgent::inspectorStartsAttached):
        (WebCore::InspectorAgent::setInspectorStartsAttached):
        (WebCore::InspectorAgent::setInspectorAttachedHeight):
        (WebCore::InspectorAgent::inspectorAttachedHeight):
        (WebCore::InspectorAgent::searchingForNodeInPage):
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        (WebCore::InspectorAgent::inspect):
        (WebCore::InspectorAgent::focusNode):
        (WebCore::InspectorAgent::highlight):
        (WebCore::InspectorAgent::highlightDOMNode):
        (WebCore::InspectorAgent::highlightFrame):
        (WebCore::InspectorAgent::hideHighlight):
        (WebCore::InspectorAgent::mouseDidMoveOverElement):
        (WebCore::InspectorAgent::handleMousePress):
        (WebCore::InspectorAgent::setInspectorFrontendClient):
        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
        (WebCore::InspectorAgent::setSearchingForNode):
        (WebCore::InspectorAgent::connectFrontend):
        (WebCore::InspectorAgent::show):
        (WebCore::InspectorAgent::showPanel):
        (WebCore::InspectorAgent::close):
        (WebCore::InspectorAgent::disconnectFrontend):
        (WebCore::InspectorAgent::resourceAgent):
        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
        (WebCore::InspectorAgent::populateScriptObjects):
        (WebCore::InspectorAgent::pushDataCollectedOffline):
        (WebCore::InspectorAgent::restoreDebugger):
        (WebCore::InspectorAgent::restoreProfiler):
        (WebCore::InspectorAgent::unbindAllResources):
        (WebCore::InspectorAgent::didCommitLoad):
        (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
        (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
        (WebCore::InspectorAgent::isMainResourceLoader):
        (WebCore::InspectorAgent::willSendRequest):
        (WebCore::InspectorAgent::ensureSettingsLoaded):
        (WebCore::InspectorAgent::startTimelineProfiler):
        (WebCore::InspectorAgent::stopTimelineProfiler):
        (WebCore::PostWorkerNotificationToFrontendTask::create):
        (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
        (WebCore::InspectorAgent::didCreateWorker):
        (WebCore::InspectorAgent::didDestroyWorker):
        (WebCore::InspectorAgent::didOpenDatabase):
        (WebCore::InspectorAgent::getCookies):
        (WebCore::InspectorAgent::buildArrayForCookies):
        (WebCore::InspectorAgent::buildObjectForCookie):
        (WebCore::InspectorAgent::deleteCookie):
        (WebCore::InspectorAgent::didUseDOMStorage):
        (WebCore::InspectorAgent::didCreateWebSocket):
        (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorAgent::didCloseWebSocket):
        (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
        (WebCore::InspectorAgent::startUserInitiatedProfiling):
        (WebCore::InspectorAgent::stopUserInitiatedProfiling):
        (WebCore::InspectorAgent::profilerEnabled):
        (WebCore::InspectorAgent::enableProfiler):
        (WebCore::InspectorAgent::disableProfiler):
        (WebCore::InspectorAgent::showAndEnableDebugger):
        (WebCore::InspectorAgent::enableDebugger):
        (WebCore::InspectorAgent::disableDebugger):
        (WebCore::InspectorAgent::resume):
        (WebCore::InspectorAgent::setAllBrowserBreakpoints):
        (WebCore::InspectorAgent::evaluateForTestInFrontend):
        (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
        (WebCore::quadToPath):
        (WebCore::drawOutlinedQuad):
        (WebCore::drawOutlinedQuadWithClip):
        (WebCore::drawHighlightForBox):
        (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
        (WebCore::convertFromFrameToMainFrame):
        (WebCore::frameToMainFrameOffset):
        (WebCore::InspectorAgent::drawNodeHighlight):
        (WebCore::InspectorAgent::drawElementTitle):
        (WebCore::InspectorAgent::openInInspectedWindow):
        (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
        (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
        (WebCore::InspectorAgent::setInspectorExtensionAPI):
        (WebCore::InspectorAgent::inspectedURL):
        (WebCore::InspectorAgent::reloadPage):
        (WebCore::InspectorAgent::setExtraHeaders):
        * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
        (WebCore::InspectorAgent::inspectorBackendDispatcher):
        (WebCore::InspectorAgent::inspectorClient):
        (WebCore::InspectorAgent::injectedScriptHost):
        (WebCore::InspectorAgent::inspectedPage):
        (WebCore::InspectorAgent::hideDOMNodeHighlight):
        (WebCore::InspectorAgent::hideFrameHighlight):
        (WebCore::InspectorAgent::frontend):
        (WebCore::InspectorAgent::inspectorController):
        (WebCore::InspectorAgent::inspectorAgent):
        (WebCore::InspectorAgent::consoleAgent):
        (WebCore::InspectorAgent::cssAgent):
        (WebCore::InspectorAgent::domAgent):
        (WebCore::InspectorAgent::injectedScriptAgent):
        (WebCore::InspectorAgent::runtimeAgent):
        (WebCore::InspectorAgent::timelineAgent):
        (WebCore::InspectorAgent::databaseAgent):
        (WebCore::InspectorAgent::domStorageAgent):
        (WebCore::InspectorAgent::fileSystemAgent):
        (WebCore::InspectorAgent::browserDebuggerAgent):
        (WebCore::InspectorAgent::debuggerAgent):
        (WebCore::InspectorAgent::profilerAgent):
        (WebCore::InspectorAgent::applicationCacheAgent):
        (WebCore::InspectorAgent::hasInspectorFrontendClient):
        (WebCore::InspectorAgent::hasFrontend):
        (WebCore::InspectorAgent::startProfiling):
        (WebCore::InspectorAgent::stopProfiling):
        (WebCore::InspectorAgent::debuggerEnabled):
        (WebCore::InspectorAgent::state):
        (WebCore::InspectorAgent::settings):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
        * inspector/InspectorBrowserDebuggerAgent.h:
        (WebCore::InspectorBrowserDebuggerAgent::create):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
        (WebCore::InspectorConsoleAgent::addMessageToConsole):
        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorConsoleAgent::didReceiveResponse):
        (WebCore::InspectorConsoleAgent::didFailLoading):
        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorController.h:
        * inspector/InspectorDatabaseAgent.cpp:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::create):
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorFileSystemAgent.cpp:
        (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
        (WebCore::InspectorFileSystemAgent::stop):
        (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
        (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
        (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
        * inspector/InspectorFileSystemAgent.h:
        (WebCore::InspectorFileSystemAgent::create):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setExtensionAPI):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::create):
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
        * inspector/InspectorProfilerAgent.h:

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

        Rubber-stamped by Anders Carlsson.

        Fix FFTFrameStub to compile properly
        https://bugs.webkit.org/show_bug.cgi?id=52969

        No new tests since this is a build fix.

        * platform/audio/FFTFrameStub.cpp:
        (WebCore::FFTFrame::FFTFrame):

2011-01-22  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IndexedDB corrupts data on disk
        https://bugs.webkit.org/show_bug.cgi?id=52890

        We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
        Test: storage/indexeddb/data-corruption.html

        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::bindBlob):
        (WebCore::SQLiteStatement::getColumnBlobAsString):
        (WebCore::SQLiteStatement::getColumnBlobAsVector):
        * platform/sql/SQLiteStatement.h:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::runCommands):
        (WebCore::createTables):
        (WebCore::createMetaDataTable):
        (WebCore::migrateDatabase):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::getInternal):
        (WebCore::putObjectStoreData):

2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix WinCE build.

        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::drawText):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):

2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        REGRESSION: Vertical line metrics incorrect
        https://bugs.webkit.org/show_bug.cgi?id=52960

        SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
        That didn't influence the lineSpacing so far, but does now, causing regressions.

        Restore old line spacing behaviour to fix the regression.
        Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.

        * platform/graphics/FontMetrics.h:
        (WebCore::FontMetrics::FontMetrics):
        (WebCore::FontMetrics::floatLineSpacing):
        (WebCore::FontMetrics::setLineSpacing):
        (WebCore::FontMetrics::lineSpacing):
        (WebCore::FontMetrics::reset):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::initGDIFont):
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::platformInit):

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] fast/backgrounds/svg-as-mask.html fails
        https://bugs.webkit.org/show_bug.cgi?id=52906

        Transparency layers should start out with in SourceOver mode with
        alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)

        * platform/graphics/qt/TransparencyLayer.h:
        (WebCore::TransparencyLayer::TransparencyLayer):

2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Introduce FontMetrics abstraction
        https://bugs.webkit.org/show_bug.cgi?id=51456

        Fix Chromium/Win build.

        * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):

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

        Reviewed by Dirk Schulze.

        Introduce FontMetrics abstraction
        https://bugs.webkit.org/show_bug.cgi?id=51456

        Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
        having to define them in both Font & SimpleFontData. Changed to store floating point values
        as default, in order to get accurate information for small sized fonts. All these methods
        now have floating-point and integer versions. Whenever an integer variant of these functions
        is called, lroundf() is used to round the value.

        This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
        as fixing rounding issues when using SVG Fonts.
        
        Shouldn't affect existing tests.

        * GNUmakefile.am: Add FontMetrics.h to build. 
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
        (baselinePositionForAccessibilityRenderObject):
        * css/CSSPrimitiveValue.cpp:         
        (WebCore::CSSPrimitiveValue::computeLengthDouble):
        * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * inspector/InspectorController.cpp: Ditto.
        (WebCore::InspectorController::drawElementTitle):
        * platform/chromium/PopupMenuChromium.cpp: Ditto.
        (WebCore::PopupListBox::paintRow):
        (WebCore::PopupListBox::getRowHeight):
        * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
        (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
        * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
        (WebCore::Font::emphasisMarkAscent):
        (WebCore::Font::emphasisMarkDescent):
        (WebCore::Font::emphasisMarkHeight):
        (WebCore::Font::floatWidthForSimpleText):
        * platform/graphics/FontMetrics.h: Added.
        (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
        (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
        (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
        (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
        (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
        (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
        (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
        (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
        (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
        (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
        (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
        (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
        (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
        (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
        (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
        (WebCore::FontMetrics::descent): Ditto (for descent).
        (WebCore::FontMetrics::height): Returns ascent() + descent().
        (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
        (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
        (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
        * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
        (WebCore::SimpleFontData::SimpleFontData):
        (WebCore::SimpleFontData::initCharWidths):
        * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
        (WebCore::SimpleFontData::fontMetrics):
        (WebCore::SimpleFontData::avgCharWidth):
        * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
        (WebCore::UniscribeHelperTextRun::nextWinFontData):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
        (WebCore::Font::floatWidthForComplexText):
        * platform/graphics/mac/FontMac.mm: Ditto.
        (WebCore::showGlyphsWithAdvances):
        * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformCharWidthInit):
        * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
        (WebCore::drawGDIGlyphs):
        * platform/graphics/win/FontWin.cpp: Ditto.
        (WebCore::Font::floatWidthForComplexText):
        * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformBoundsForGlyph):
        * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
        (WebCore::SimpleFontData::initGDIFont):
        * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
        (WebCore::SimpleFontData::platformInit):
        * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
        (WebCore::PopupMenuWin::calculatePositionAndSize): 
        (WebCore::PopupMenuWin::paint):
        * rendering/EllipsisBox.cpp: Ditto.
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/InlineBox.cpp: Ditto.
        (WebCore::InlineBox::logicalHeight):
        * rendering/InlineFlowBox.cpp: Ditto.
        (WebCore::verticalPositionForBox):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        * rendering/InlineTextBox.cpp: Ditto.
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintCompositionUnderline):
        * rendering/RenderBlock.cpp: Ditto.
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::firstLineBoxBaseline):
        (WebCore::RenderBlock::lastLineBoxBaseline):
        * rendering/RenderBox.cpp: Ditto.
        (WebCore::RenderBox::localCaretRect):
        * rendering/RenderEmbeddedObject.cpp: Ditto.
        (WebCore::RenderEmbeddedObject::paintReplaced):
        * rendering/RenderImage.cpp: Ditto.
        (WebCore::RenderImage::setImageSizeForAltText):
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderInline.cpp: Ditto.
        (WebCore::RenderInline::baselinePosition):
        * rendering/RenderListBox.cpp: Ditto.
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::itemHeight):
        * rendering/RenderListMarker.cpp: Ditto.
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::layout):
        (WebCore::RenderListMarker::computePreferredLogicalWidths):
        (WebCore::RenderListMarker::updateMargins):
        (WebCore::RenderListMarker::getRelativeMarkerRect):
        * rendering/RenderTextControl.cpp: Ditto.
        (WebCore::RenderTextControl::paintPlaceholder):
        * rendering/RenderTextControlSingleLine.cpp: Ditto.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
        * rendering/RenderThemeWin.cpp: Ditto.
        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
        * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
        (WebCore::RenderMathMLFraction::baselinePosition):
        * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
        (WebCore::InheritedFlags::fontMetrics):
        (WebCore::InheritedFlags::computedLineHeight):
        * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
        (WebCore::RenderSVGInlineText::positionForPoint):
        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
        (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
        (WebCore::positionOffsetForDecoration):
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
        (WebCore::SVGInlineTextBox::paintTextWithShadows):
        (WebCore::SVGInlineTextBox::calculateBoundaries):
        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
        (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
        * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
        * rendering/svg/SVGTextMetrics.cpp: Ditto.
        (WebCore::SVGTextMetrics::SVGTextMetrics):
        * rendering/svg/SVGTextQuery.cpp: Ditto.
        (WebCore::calculateGlyphBoundaries):
        * svg/SVGFontFaceElement.cpp: 
        (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
        * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
        (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
        (WebCore::SVGLength::convertValueFromEXSToUserUnits):

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

        Reviewed by Eric Seidel.

        Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
        https://bugs.webkit.org/show_bug.cgi?id=52759

        Stopped instantiating legacy editing positions in the following files.

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        (WebCore::startOfBlock):
        * page/Frame.cpp:
        (WebCore::Frame::visiblePositionForPoint):
        * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
        * rendering/RenderBlock.h: Ditto.

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

        Reviewed by James Robinson.

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

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

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

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

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

        Reviewed by Dan Bernstein.

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

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

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

        Reviewed by Adam Barth.

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

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

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

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

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

        Reviewed by Adele Peterson.

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

        Test: fast/text/justify-nbsp.html

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

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

        Reviewed by Darin Fisher.

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

        Adds sanity checks to help diagnose the crash.

        * loader/HistoryController.cpp:

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

        Reviewed by Ariya Hidayat.

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

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

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

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

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

        Reviewed by Kenneth Russell.

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

        No new tests since this just fixes the build

        * webaudio/RealtimeAnalyser.h:

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

        Reviewed by Kenneth Russell.

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

        No new tests since audio API is not yet implemented.

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

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

        Reviewed by Kenneth Russell.

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

        No new tests since audio API is not yet implemented.

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

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

        Reviewed by Sam Weinig.

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

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

        Covered by Chromium browser_tests.

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

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

        Reviewed by Yury Semikhatsky.

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

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

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

        Reviewed by Darin Fisher.

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

        No new tests since audio API is not yet implemented.

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

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

        Reviewed by Xan Lopez.

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

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

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

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

        Fix chromium mac build.

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

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

        Fix the windows build.

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

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

        Reviewed by Kenneth Russell.

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

        No new tests since audio API is not yet implemented.

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

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

        Reviewed by Tony Chang.

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

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

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

        Reviewed by Anders Carlsson.

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

        Rename ScrollbarClient -> ScrollableArea.

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

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

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

        Fix Leopard build.

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

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

        Reviewed by Nate Chapin.

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

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

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

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

        Separate flushing layer changes from rendering in CACFLayerTreeHost

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

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

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

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

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

        Reviewed by Simon Fraser.

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

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

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

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

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

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

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

        Reviewed by Sam Weinig.

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

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

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

        Reviewed by Sam Weinig.

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

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

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

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

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

        Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]

        Also renamed a few functions and data members to match.

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

        Reviewed by Simon Fraser.

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

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

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

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

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

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

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

        Reviewed by Darin Adler.

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

        Replace unneeded doubles by floats and remove unneeded casts.

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

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

        Reviewed by Darin Adler.

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

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

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

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

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

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

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

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

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

        Reviewed by Simon Fraser.

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

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

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

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

        Clean up PlatformCAAnimationWin

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

        Reviewed by Simon Fraser.

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

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

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

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

        Reviewed by Darin Fisher.

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

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

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

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

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

        Reviewed by Martin Robinson.

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

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

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

        Reviewed by Jeremy Orlow.

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

        Fix ARM compiler breakage.

        * WebCore.gyp/WebCore.gyp:

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

        Reviewed by Yury Semikhatsky.

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

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

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

        Reviewed by Eric Seidel.

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

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

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

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

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

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

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

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

        Reviewed by Yury Semikhatsky.

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

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

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

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

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

        Reviewed by Gavin Barraclough.

        Fix failing tests from r76291.

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

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

        Unreviewed, sorting an Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Kenneth Russell.

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

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

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

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

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

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

        Reviewed by Dan Bernstein.

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

        Test: fast/dom/52776.html

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

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

        Reviewed by Anders Carlsson.

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

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

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

        Unreviewed.

        Fixing build breakage.

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

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

        Reviewed by Ryosuke Niwa.

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

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

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

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

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

        Reviewed by Adam Barth.

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

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

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

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

        Reviewed by Darin Adler.

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

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

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

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

        Reviewed by James Robinson.

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

        Test: LayoutTests/platform/chromium/compositing

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

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

        Reviewed by Eric Carlson.

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

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

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

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

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

        Reviewed by Geoffrey Garen.

        Fix for <rdar://problem/8890255>

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

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

        Reviewed by Dave Hyatt.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Unreviewed WinCE build fix for r76170.

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

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

        Reviewed by Darin Fisher.

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

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

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

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

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

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

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

        Reviewed by Nate Chapin.

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

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

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

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

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

        Reviewed by Eric "Baller" Seidel.

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

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

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

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

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

        Reviewed by Rob Buis.

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

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

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

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

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

        Reviewed by Adele Peterson.

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

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

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

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

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

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

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

        Reviewed by Eric Carlson.

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

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

        Reviewed by Andreas Kling.

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

        No new tests. no behavioral change.

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

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

        Reviewed by Darin Fisher.

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

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

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

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

        Reviewed by Ariya Hidayat.

        [Qt] Fill shadow scratch buffer with proper transparent pixels

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

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

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

        Remove WKCACFContextFlusher

        It wasn't doing anything.

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

        Reviewed by Simon Fraser.

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

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

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

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

        Only flush our own context when we get resized

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

        Reviewed by Simon Fraser.

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

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

        Make WKCACFLayerRenderer ref-counted

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

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

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

        Reviewed by Simon Fraser.

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

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

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

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

        [Qt][V8] Unreviewed buildfix after r76248.

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

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

        Reviewed by Yury Semikhatsky.

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

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

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

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

        Reviewed by Csaba Osztrogonác.

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

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

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

        Reviewed by Pavel Feldman.

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

        Profiles are now not cleared unless renderer instance was changed.

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

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

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

        Unreviewed, add new JS file refs missing from r76116.

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

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

        Reviewed by Pavel Feldman.

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

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

        Reviewed by Yury Semikhatsky.

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

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

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

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

        Reviewed by Andreas Kling.

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

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

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

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

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

        Reviewed by James Robinson.

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

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

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


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

        Web I